diff options
| author | Glenn Morris | 2012-12-12 20:47:14 -0800 |
|---|---|---|
| committer | Glenn Morris | 2012-12-12 20:47:14 -0800 |
| commit | bfe6ffb652954956ca984d594deb88d45f8cfd77 (patch) | |
| tree | 7b45e49cdc59aaad12b18a967021e6c10f51e8f4 | |
| parent | 9e7abd17a34f432aa6f3e59896d794b1349c846a (diff) | |
| download | emacs-bfe6ffb652954956ca984d594deb88d45f8cfd77.tar.gz emacs-bfe6ffb652954956ca984d594deb88d45f8cfd77.zip | |
Add wisent manual to build process
* doc/misc/wisent.texi: Small edits. Set copyright to FSF, update license to
GFDL 1.3+.
* doc/misc/Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add wisent.
(wisent, $(buildinfodir)/wisent$(INFO_EXT), wisent.dvi, wisent.pdf):
New targets.
* doc/misc/makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add wisent.
($(infodir)/wisent$(INFO_EXT), wisent.dvi): New targets.
* info/dir: wisent.
| -rw-r--r-- | ChangeLog | 2 | ||||
| -rw-r--r-- | doc/misc/ChangeLog | 8 | ||||
| -rw-r--r-- | doc/misc/Makefile.in | 13 | ||||
| -rw-r--r-- | doc/misc/makefile.w32-in | 12 | ||||
| -rw-r--r-- | doc/misc/wisent.texi | 124 | ||||
| -rw-r--r-- | info/dir | 3 |
6 files changed, 91 insertions, 71 deletions
| @@ -1,6 +1,6 @@ | |||
| 1 | 2012-12-13 Glenn Morris <rgm@gnu.org> | 1 | 2012-12-13 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * info/dir: Add bovine. | 3 | * info/dir: Add bovine, wisent. |
| 4 | 4 | ||
| 5 | 2012-12-12 Andreas Schwab <schwab@suse.de> | 5 | 2012-12-12 Andreas Schwab <schwab@suse.de> |
| 6 | 6 | ||
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index d54f9a6b20b..d0530d312f7 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,5 +1,13 @@ | |||
| 1 | 2012-12-13 Glenn Morris <rgm@gnu.org> | 1 | 2012-12-13 Glenn Morris <rgm@gnu.org> |
| 2 | 2 | ||
| 3 | * wisent.texi: Small edits. Set copyright to FSF, update license to | ||
| 4 | GFDL 1.3+. | ||
| 5 | * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add wisent. | ||
| 6 | (wisent, $(buildinfodir)/wisent$(INFO_EXT), wisent.dvi, wisent.pdf): | ||
| 7 | New targets. | ||
| 8 | * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add wisent. | ||
| 9 | ($(infodir)/wisent$(INFO_EXT), wisent.dvi): New targets. | ||
| 10 | |||
| 3 | * bovine.texi: Small edits. Set copyright to FSF, update license to | 11 | * bovine.texi: Small edits. Set copyright to FSF, update license to |
| 4 | GFDL 1.3+, remove empty index. | 12 | GFDL 1.3+, remove empty index. |
| 5 | * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add bovine. | 13 | * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add bovine. |
diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 905a81f4d6a..c99657fb9bb 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in | |||
| @@ -48,7 +48,7 @@ INFO_TARGETS = ada-mode auth autotype bovine calc ccmode cl \ | |||
| 48 | mairix-el message mh-e newsticker nxml-mode \ | 48 | mairix-el message mh-e newsticker nxml-mode \ |
| 49 | org pcl-cvs pgg rcirc remember reftex sasl \ | 49 | org pcl-cvs pgg rcirc remember reftex sasl \ |
| 50 | sc semantic ses sieve smtpmail speedbar srecode tramp \ | 50 | sc semantic ses sieve smtpmail speedbar srecode tramp \ |
| 51 | url vip viper widget woman | 51 | url vip viper widget wisent woman |
| 52 | 52 | ||
| 53 | DVI_TARGETS = \ | 53 | DVI_TARGETS = \ |
| 54 | ada-mode.dvi \ | 54 | ada-mode.dvi \ |
| @@ -102,6 +102,7 @@ DVI_TARGETS = \ | |||
| 102 | vip.dvi \ | 102 | vip.dvi \ |
| 103 | viper.dvi \ | 103 | viper.dvi \ |
| 104 | widget.dvi \ | 104 | widget.dvi \ |
| 105 | wisent.dvi \ | ||
| 105 | woman.dvi | 106 | woman.dvi |
| 106 | 107 | ||
| 107 | PDF_TARGETS = \ | 108 | PDF_TARGETS = \ |
| @@ -156,6 +157,7 @@ PDF_TARGETS = \ | |||
| 156 | vip.pdf \ | 157 | vip.pdf \ |
| 157 | viper.pdf \ | 158 | viper.pdf \ |
| 158 | widget.pdf \ | 159 | widget.pdf \ |
| 160 | wisent.pdf \ | ||
| 159 | woman.pdf | 161 | woman.pdf |
| 160 | 162 | ||
| 161 | HTML_TARGETS = emacs-faq.html | 163 | HTML_TARGETS = emacs-faq.html |
| @@ -673,6 +675,15 @@ widget.dvi: ${srcdir}/widget.texi | |||
| 673 | widget.pdf: ${srcdir}/widget.texi | 675 | widget.pdf: ${srcdir}/widget.texi |
| 674 | $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi | 676 | $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi |
| 675 | 677 | ||
| 678 | wisent : $(buildinfodir)/wisent$(INFO_EXT) | ||
| 679 | $(buildinfodir)/wisent$(INFO_EXT): ${srcdir}/wisent.texi | ||
| 680 | $(mkinfodir) | ||
| 681 | $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/wisent.texi | ||
| 682 | wisent.dvi: ${srcdir}/wisent.texi | ||
| 683 | $(ENVADD) $(TEXI2DVI) ${srcdir}/wisent.texi | ||
| 684 | wisent.pdf: ${srcdir}/wisent.texi | ||
| 685 | $(ENVADD) $(TEXI2PDF) ${srcdir}/wisent.texi | ||
| 686 | |||
| 676 | woman : $(buildinfodir)/woman$(INFO_EXT) | 687 | woman : $(buildinfodir)/woman$(INFO_EXT) |
| 677 | $(buildinfodir)/woman$(INFO_EXT): ${srcdir}/woman.texi | 688 | $(buildinfodir)/woman$(INFO_EXT): ${srcdir}/woman.texi |
| 678 | $(mkinfodir) | 689 | $(mkinfodir) |
diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in index 0213ce97cce..84ad720052e 100644 --- a/doc/misc/makefile.w32-in +++ b/doc/misc/makefile.w32-in | |||
| @@ -55,7 +55,8 @@ INFO_TARGETS = $(infodir)/ccmode$(INFO_EXT) \ | |||
| 55 | $(infodir)/epa$(INFO_EXT) $(infodir)/mairix-el$(INFO_EXT) $(infodir)/sasl$(INFO_EXT) \ | 55 | $(infodir)/epa$(INFO_EXT) $(infodir)/mairix-el$(INFO_EXT) $(infodir)/sasl$(INFO_EXT) \ |
| 56 | $(infodir)/auth$(INFO_EXT) $(infodir)/eieio$(INFO_EXT) $(infodir)/ede$(INFO_EXT) \ | 56 | $(infodir)/auth$(INFO_EXT) $(infodir)/eieio$(INFO_EXT) $(infodir)/ede$(INFO_EXT) \ |
| 57 | $(infodir)/semantic$(INFO_EXT) $(infodir)/edt$(INFO_EXT) $(infodir)/emacs-gnutls$(INFO_EXT) \ | 57 | $(infodir)/semantic$(INFO_EXT) $(infodir)/edt$(INFO_EXT) $(infodir)/emacs-gnutls$(INFO_EXT) \ |
| 58 | $(infodir)/srecode$(INFO_EXT) $(infodir)/bovine$(INFO_EXT) | 58 | $(infodir)/srecode$(INFO_EXT) $(infodir)/bovine$(INFO_EXT) \ |
| 59 | $(infodir)/wisent$(INFO_EXT) | ||
| 59 | DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \ | 60 | DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \ |
| 60 | ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \ | 61 | ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \ |
| 61 | sieve.dvi pgg.dvi mh-e.dvi \ | 62 | sieve.dvi pgg.dvi mh-e.dvi \ |
| @@ -66,7 +67,8 @@ DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \ | |||
| 66 | newsticker.dvi rcirc.dvi erc.dvi ert.dvi \ | 67 | newsticker.dvi rcirc.dvi erc.dvi ert.dvi \ |
| 67 | remember.dvi nxml-mode.dvi \ | 68 | remember.dvi nxml-mode.dvi \ |
| 68 | epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \ | 69 | epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \ |
| 69 | semantic.dvi edt.dvi emacs-gnutls.dvi srecode.dvi bovine.dvi | 70 | semantic.dvi edt.dvi emacs-gnutls.dvi srecode.dvi bovine.dvi \ |
| 71 | wisent.dvi | ||
| 70 | INFOSOURCES = info.texi | 72 | INFOSOURCES = info.texi |
| 71 | 73 | ||
| 72 | # The following rule does not work with all versions of `make'. | 74 | # The following rule does not work with all versions of `make'. |
| @@ -369,6 +371,10 @@ $(infodir)/bovine$(INFO_EXT): bovine.texi doclicense.texi | |||
| 369 | bovine.dvi: bovine.texi doclicense.texi | 371 | bovine.dvi: bovine.texi doclicense.texi |
| 370 | $(ENVADD) $(TEXI2DVI) $(srcdir)/bovine.texi | 372 | $(ENVADD) $(TEXI2DVI) $(srcdir)/bovine.texi |
| 371 | 373 | ||
| 374 | $(infodir)/wisent$(INFO_EXT): wisent.texi doclicense.texi | ||
| 375 | $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ wisent.texi | ||
| 376 | wisent.dvi: wisent.texi doclicense.texi | ||
| 377 | $(ENVADD) $(TEXI2DVI) $(srcdir)/wisent.texi | ||
| 372 | 378 | ||
| 373 | mostlyclean: | 379 | mostlyclean: |
| 374 | - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* | 380 | - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* |
| @@ -399,7 +405,7 @@ clean: mostlyclean | |||
| 399 | $(infodir)/eieio* $(infodir)/ede* \ | 405 | $(infodir)/eieio* $(infodir)/ede* \ |
| 400 | $(infodir)/semantic* $(infodir)edt* \ | 406 | $(infodir)/semantic* $(infodir)edt* \ |
| 401 | $(infodir)/emacs-gnutls* $(infodir)/srecode* \ | 407 | $(infodir)/emacs-gnutls* $(infodir)/srecode* \ |
| 402 | $(infodir)/bovine* | 408 | $(infodir)/bovine* $(infodir)/wisent* |
| 403 | 409 | ||
| 404 | distclean: clean | 410 | distclean: clean |
| 405 | - $(DEL) makefile | 411 | - $(DEL) makefile |
diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index 2567c835af2..6237e74eeb6 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | \input texinfo @c -*-texinfo-*- | 1 | \input texinfo @c -*-texinfo-*- |
| 2 | @c %**start of header | 2 | @c %**start of header |
| 3 | @setfilename wisent.info | 3 | @setfilename ../../info/wisent |
| 4 | @set TITLE Wisent Parser Development | 4 | @set TITLE Wisent Parser Development |
| 5 | @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim | 5 | @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim |
| 6 | @settitle @value{TITLE} | 6 | @settitle @value{TITLE} |
| @@ -23,35 +23,35 @@ | |||
| 23 | @c %**end of header | 23 | @c %**end of header |
| 24 | 24 | ||
| 25 | @copying | 25 | @copying |
| 26 | This manual documents the Wisent parser generator. | 26 | Copyright @copyright{} 1988-1993, 1995, 1998-2004, 2007, 2012 |
| 27 | 27 | Free Software Foundation, Inc. | |
| 28 | Copyright @copyright{} 2001, 2002, 2003, 2004, 2007 David Ponce | ||
| 29 | 28 | ||
| 29 | @c Since we are both GNU manuals, we do not need to ack each other here. | ||
| 30 | @ignore | ||
| 30 | Some texts are borrowed or adapted from the manual of Bison version | 31 | Some texts are borrowed or adapted from the manual of Bison version |
| 31 | 1.35. The text in section entitled ``Understanding the automaton'' is | 32 | 1.35. The text in section entitled ``Understanding the automaton'' is |
| 32 | adapted from the section ``Understanding Your Parser'' in the manual | 33 | adapted from the section ``Understanding Your Parser'' in the manual |
| 33 | of Bison version 1.49. | 34 | of Bison version 1.49. |
| 34 | 35 | @end ignore | |
| 35 | Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1998, | ||
| 36 | 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. | ||
| 37 | 36 | ||
| 38 | @quotation | 37 | @quotation |
| 39 | Permission is granted to copy, distribute and/or modify this document | 38 | Permission is granted to copy, distribute and/or modify this document |
| 40 | under the terms of the GNU Free Documentation License, Version 1.1 or | 39 | under the terms of the GNU Free Documentation License, Version 1.3 or |
| 41 | any later version published by the Free Software Foundation; with the | 40 | any later version published by the Free Software Foundation; with no |
| 42 | Invariant Sections being list their titles, with the Front-Cover Texts | 41 | Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' |
| 43 | being list, and with the Back-Cover Texts being list. A copy of the | 42 | and with the Back-Cover Texts as in (a) below. A copy of the license |
| 44 | license is included in the section entitled ``GNU Free Documentation | 43 | is included in the section entitled ``GNU Free Documentation License''. |
| 45 | License''. | 44 | |
| 45 | (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and | ||
| 46 | modify this GNU manual. Buying copies from the FSF supports it in | ||
| 47 | developing GNU and promoting software freedom.'' | ||
| 46 | @end quotation | 48 | @end quotation |
| 47 | @end copying | 49 | @end copying |
| 48 | 50 | ||
| 49 | @ifinfo | 51 | @dircategory Emacs misc features |
| 50 | @dircategory Emacs | ||
| 51 | @direntry | 52 | @direntry |
| 52 | * Semantic Wisent parser development: (wisent). | 53 | * Wisent: (wisent). Semantic Wisent parser development. |
| 53 | @end direntry | 54 | @end direntry |
| 54 | @end ifinfo | ||
| 55 | 55 | ||
| 56 | @iftex | 56 | @iftex |
| 57 | @finalout | 57 | @finalout |
| @@ -60,29 +60,19 @@ License''. | |||
| 60 | @c @setchapternewpage odd | 60 | @c @setchapternewpage odd |
| 61 | @c @setchapternewpage off | 61 | @c @setchapternewpage off |
| 62 | 62 | ||
| 63 | @ifinfo | ||
| 64 | This file documents Application Development with Semantic. | ||
| 65 | @emph{Infrastructure for parser based text analysis in Emacs} | ||
| 66 | |||
| 67 | Copyright @copyright{} 2001, 2002, 2003, 2004 @value{AUTHOR} | ||
| 68 | @end ifinfo | ||
| 69 | |||
| 70 | @titlepage | 63 | @titlepage |
| 71 | @sp 10 | 64 | @sp 10 |
| 72 | @title @value{TITLE} | 65 | @title @value{TITLE} |
| 73 | @author by @value{AUTHOR} | 66 | @author by @value{AUTHOR} |
| 74 | @vskip 0pt plus 1 fill | ||
| 75 | Copyright @copyright{} 2001, 2002, 2003, 2004 @value{AUTHOR} | ||
| 76 | @page | 67 | @page |
| 77 | @vskip 0pt plus 1 fill | 68 | @vskip 0pt plus 1 fill |
| 78 | @insertcopying | 69 | @insertcopying |
| 79 | @end titlepage | 70 | @end titlepage |
| 80 | @page | 71 | @page |
| 81 | 72 | ||
| 82 | @c MACRO inclusion | 73 | @macro semantic{} |
| 83 | @include semanticheader.texi | 74 | @i{Semantic} |
| 84 | @paragraphindent none | 75 | @end macro |
| 85 | |||
| 86 | 76 | ||
| 87 | @c ************************************************************************* | 77 | @c ************************************************************************* |
| 88 | @c @ Document | 78 | @c @ Document |
| @@ -102,13 +92,17 @@ source in Emacs buffers. | |||
| 102 | It also describes how Wisent is used with the @semantic{} tool set | 92 | It also describes how Wisent is used with the @semantic{} tool set |
| 103 | described in the @ref{Top, Semantic Manual, Semantic Manual, semantic}. | 93 | described in the @ref{Top, Semantic Manual, Semantic Manual, semantic}. |
| 104 | 94 | ||
| 95 | @ifnottex | ||
| 96 | @insertcopying | ||
| 97 | @end ifnottex | ||
| 98 | |||
| 105 | @menu | 99 | @menu |
| 106 | * Wisent Overview:: | 100 | * Wisent Overview:: |
| 107 | * Wisent Grammar:: | 101 | * Wisent Grammar:: |
| 108 | * Wisent Parsing:: | 102 | * Wisent Parsing:: |
| 109 | * Wisent Semantic:: | 103 | * Wisent Semantic:: |
| 110 | * GNU Free Documentation License:: | 104 | * GNU Free Documentation License:: |
| 111 | * Index:: | 105 | * Index:: |
| 112 | @end menu | 106 | @end menu |
| 113 | 107 | ||
| 114 | @node Wisent Overview | 108 | @node Wisent Overview |
| @@ -130,7 +124,7 @@ See the @ref{Top, Semantic Manual, , semantic}. | |||
| 130 | It benefits from these Bison features: | 124 | It benefits from these Bison features: |
| 131 | 125 | ||
| 132 | @itemize @bullet | 126 | @itemize @bullet |
| 133 | @item | 127 | @item |
| 134 | It uses a fast but not so space-efficient encoding for the parse | 128 | It uses a fast but not so space-efficient encoding for the parse |
| 135 | tables, described in Corbett's PhD thesis from Berkeley: | 129 | tables, described in Corbett's PhD thesis from Berkeley: |
| 136 | @quotation | 130 | @quotation |
| @@ -138,7 +132,7 @@ tables, described in Corbett's PhD thesis from Berkeley: | |||
| 138 | June 1985, Report No. UCB/CSD 85/251. | 132 | June 1985, Report No. UCB/CSD 85/251. |
| 139 | @end quotation | 133 | @end quotation |
| 140 | 134 | ||
| 141 | @item | 135 | @item |
| 142 | For generating the lookahead sets, Wisent uses the well-known | 136 | For generating the lookahead sets, Wisent uses the well-known |
| 143 | technique of F. DeRemer and A. Pennello they described in: | 137 | technique of F. DeRemer and A. Pennello they described in: |
| 144 | @quotation | 138 | @quotation |
| @@ -146,11 +140,11 @@ technique of F. DeRemer and A. Pennello they described in: | |||
| 146 | October 1982, ACM TOPLS Vol 4 No 4. | 140 | October 1982, ACM TOPLS Vol 4 No 4. |
| 147 | @end quotation | 141 | @end quotation |
| 148 | 142 | ||
| 149 | @item | 143 | @item |
| 150 | Wisent resolves shift/reduce conflicts using operator precedence and | 144 | Wisent resolves shift/reduce conflicts using operator precedence and |
| 151 | associativity. | 145 | associativity. |
| 152 | 146 | ||
| 153 | @item | 147 | @item |
| 154 | Parser error recovery is accomplished using rules which match the | 148 | Parser error recovery is accomplished using rules which match the |
| 155 | special token @code{error}. | 149 | special token @code{error}. |
| 156 | @end itemize | 150 | @end itemize |
| @@ -223,12 +217,12 @@ exp @equiv{} exp PLUS exp | |||
| 223 | 217 | ||
| 224 | Says that two groupings of type @samp{exp}, with a @samp{PLUS} token | 218 | Says that two groupings of type @samp{exp}, with a @samp{PLUS} token |
| 225 | in between, can be combined into a larger grouping of type @samp{exp}. | 219 | in between, can be combined into a larger grouping of type @samp{exp}. |
| 226 | 220 | ||
| 227 | @menu | 221 | @menu |
| 228 | * Grammar format:: | 222 | * Grammar format:: |
| 229 | * Example:: | 223 | * Example:: |
| 230 | * Compiling a grammar:: | 224 | * Compiling a grammar:: |
| 231 | * Conflicts:: | 225 | * Conflicts:: |
| 232 | @end menu | 226 | @end menu |
| 233 | 227 | ||
| 234 | @node Grammar format, Example, Wisent Grammar, Wisent Grammar | 228 | @node Grammar format, Example, Wisent Grammar, Wisent Grammar |
| @@ -463,14 +457,14 @@ Here is an example to parse simple infix arithmetic expressions. See | |||
| 463 | '( | 457 | '( |
| 464 | ;; Terminals | 458 | ;; Terminals |
| 465 | (NUM) | 459 | (NUM) |
| 466 | 460 | ||
| 467 | ;; Terminal associativity & precedence | 461 | ;; Terminal associativity & precedence |
| 468 | ((nonassoc ?=) | 462 | ((nonassoc ?=) |
| 469 | (left ?- ?+) | 463 | (left ?- ?+) |
| 470 | (left ?* ?/) | 464 | (left ?* ?/) |
| 471 | (left NEG) | 465 | (left NEG) |
| 472 | (right ?^)) | 466 | (right ?^)) |
| 473 | 467 | ||
| 474 | ;; Rules | 468 | ;; Rules |
| 475 | (input | 469 | (input |
| 476 | ((line)) | 470 | ((line)) |
| @@ -671,8 +665,8 @@ information. | |||
| 671 | @end table | 665 | @end table |
| 672 | 666 | ||
| 673 | @menu | 667 | @menu |
| 674 | * Grammar Debugging:: | 668 | * Grammar Debugging:: |
| 675 | * Understanding the automaton:: | 669 | * Understanding the automaton:: |
| 676 | @end menu | 670 | @end menu |
| 677 | 671 | ||
| 678 | @node Grammar Debugging | 672 | @node Grammar Debugging |
| @@ -742,7 +736,7 @@ We will use the following example: | |||
| 742 | (wisent-compile-grammar | 736 | (wisent-compile-grammar |
| 743 | '((NUM STR) ; %token NUM STR | 737 | '((NUM STR) ; %token NUM STR |
| 744 | 738 | ||
| 745 | ((left ?+ ?-) ; %left '+' '-'; | 739 | ((left ?+ ?-) ; %left '+' '-'; |
| 746 | (left ?*)) ; %left '*' | 740 | (left ?*)) ; %left '*' |
| 747 | 741 | ||
| 748 | (exp ; exp: | 742 | (exp ; exp: |
| @@ -1183,11 +1177,11 @@ Normal hook run just after the @var{LR} parser engine terminated. | |||
| 1183 | @end defvar | 1177 | @end defvar |
| 1184 | 1178 | ||
| 1185 | @menu | 1179 | @menu |
| 1186 | * Writing a lexer:: | 1180 | * Writing a lexer:: |
| 1187 | * Actions goodies:: | 1181 | * Actions goodies:: |
| 1188 | * Report errors:: | 1182 | * Report errors:: |
| 1189 | * Error recovery:: | 1183 | * Error recovery:: |
| 1190 | * Debugging actions:: | 1184 | * Debugging actions:: |
| 1191 | @end menu | 1185 | @end menu |
| 1192 | 1186 | ||
| 1193 | @node Writing a lexer | 1187 | @node Writing a lexer |
| @@ -1593,8 +1587,8 @@ Please @inforef{top, Semantic Grammar Framework Manual, grammar-fw} | |||
| 1593 | for more information on @semantic{} grammars. | 1587 | for more information on @semantic{} grammars. |
| 1594 | 1588 | ||
| 1595 | @menu | 1589 | @menu |
| 1596 | * Grammar styles:: | 1590 | * Grammar styles:: |
| 1597 | * Wisent Lex:: | 1591 | * Wisent Lex:: |
| 1598 | @end menu | 1592 | @end menu |
| 1599 | 1593 | ||
| 1600 | @node Grammar styles | 1594 | @node Grammar styles |
| @@ -1608,11 +1602,11 @@ used with the @semantic{} tool set: the @dfn{Iterative style} and the | |||
| 1608 | it can be worth a mix of the two styles! | 1602 | it can be worth a mix of the two styles! |
| 1609 | 1603 | ||
| 1610 | @menu | 1604 | @menu |
| 1611 | * Iterative style:: | 1605 | * Iterative style:: |
| 1612 | * Bison style:: | 1606 | * Bison style:: |
| 1613 | * Mixed style:: | 1607 | * Mixed style:: |
| 1614 | * Start nonterminals:: | 1608 | * Start nonterminals:: |
| 1615 | * Useful functions:: | 1609 | * Useful functions:: |
| 1616 | @end menu | 1610 | @end menu |
| 1617 | 1611 | ||
| 1618 | @node Iterative style, Bison style, Grammar styles, Grammar styles | 1612 | @node Iterative style, Bison style, Grammar styles, Grammar styles |
| @@ -1929,7 +1923,7 @@ schedules an incremental re-parse of that data, using the tag's | |||
| 1929 | reviewed to ensure that the incremental parser will work!} | 1923 | reviewed to ensure that the incremental parser will work!} |
| 1930 | 1924 | ||
| 1931 | Things are a little bit different when the grammar is written in Bison | 1925 | Things are a little bit different when the grammar is written in Bison |
| 1932 | style. | 1926 | style. |
| 1933 | 1927 | ||
| 1934 | @strong{The @code{reparse-symbol} property is set to the nonterminal | 1928 | @strong{The @code{reparse-symbol} property is set to the nonterminal |
| 1935 | symbol the rule that explicitly uses @code{EXPANDTAG} belongs to.} | 1929 | symbol the rule that explicitly uses @code{EXPANDTAG} belongs to.} |
| @@ -1996,7 +1990,7 @@ Is a symbol that identifies a lexical token class, like @code{symbol}, | |||
| 1996 | @itemx end | 1990 | @itemx end |
| 1997 | Are the start and end positions of mapped data in the input buffer. | 1991 | Are the start and end positions of mapped data in the input buffer. |
| 1998 | @end table | 1992 | @end table |
| 1999 | 1993 | ||
| 2000 | The Wisent's parser doesn't depend on the nature of analyzed input | 1994 | The Wisent's parser doesn't depend on the nature of analyzed input |
| 2001 | stream (buffer, string, etc.), and requires that lexical tokens have a | 1995 | stream (buffer, string, etc.), and requires that lexical tokens have a |
| 2002 | different form (@pxref{Writing a lexer}): | 1996 | different form (@pxref{Writing a lexer}): |
| @@ -2036,7 +2030,7 @@ equivalent Wisent lexical tokens is straightforward: | |||
| 2036 | @node GNU Free Documentation License | 2030 | @node GNU Free Documentation License |
| 2037 | @appendix GNU Free Documentation License | 2031 | @appendix GNU Free Documentation License |
| 2038 | 2032 | ||
| 2039 | @include fdl.texi | 2033 | @include doclicense.texi |
| 2040 | 2034 | ||
| 2041 | @node Index | 2035 | @node Index |
| 2042 | @unnumbered Index | 2036 | @unnumbered Index |
| @@ -79,8 +79,9 @@ Emacs misc features | |||
| 79 | and citations. | 79 | and citations. |
| 80 | * Remember: (remember). Simple information manager for Emacs. | 80 | * Remember: (remember). Simple information manager for Emacs. |
| 81 | * Semantic: (semantic). Source code parser library and utilities. | 81 | * Semantic: (semantic). Source code parser library and utilities. |
| 82 | * SRecode: (srecode). Template code generator. | ||
| 83 | * Bovine: (bovine). Semantic bovine parser development. | 82 | * Bovine: (bovine). Semantic bovine parser development. |
| 83 | * SRecode: (srecode). Template code generator. | ||
| 84 | * Wisent: (wisent). Semantic Wisent parser development. | ||
| 84 | * SES: (ses). Simple Emacs Spreadsheet. | 85 | * SES: (ses). Simple Emacs Spreadsheet. |
| 85 | * Speedbar: (speedbar). File/Tag summarizing utility. | 86 | * Speedbar: (speedbar). File/Tag summarizing utility. |
| 86 | * VIP: (vip). An older VI-emulation for Emacs. | 87 | * VIP: (vip). An older VI-emulation for Emacs. |