diff options
-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
diff --git a/ChangeLog b/ChangeLog index 9aa48b0d3b0..a8108968665 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,6 @@ 2012-12-13 Glenn Morris <rgm@gnu.org> - * info/dir: Add bovine. + * info/dir: Add bovine, wisent. 2012-12-12 Andreas Schwab <schwab@suse.de> 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 @@ 2012-12-13 Glenn Morris <rgm@gnu.org> + * wisent.texi: Small edits. Set copyright to FSF, update license to + GFDL 1.3+. + * Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add wisent. + (wisent, $(buildinfodir)/wisent$(INFO_EXT), wisent.dvi, wisent.pdf): + New targets. + * makefile.w32-in (INFO_TARGETS, DVI_TARGETS, clean): Add wisent. + ($(infodir)/wisent$(INFO_EXT), wisent.dvi): New targets. + * bovine.texi: Small edits. Set copyright to FSF, update license to GFDL 1.3+, remove empty index. * 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 \ mairix-el message mh-e newsticker nxml-mode \ org pcl-cvs pgg rcirc remember reftex sasl \ sc semantic ses sieve smtpmail speedbar srecode tramp \ - url vip viper widget woman + url vip viper widget wisent woman DVI_TARGETS = \ ada-mode.dvi \ @@ -102,6 +102,7 @@ DVI_TARGETS = \ vip.dvi \ viper.dvi \ widget.dvi \ + wisent.dvi \ woman.dvi PDF_TARGETS = \ @@ -156,6 +157,7 @@ PDF_TARGETS = \ vip.pdf \ viper.pdf \ widget.pdf \ + wisent.pdf \ woman.pdf HTML_TARGETS = emacs-faq.html @@ -673,6 +675,15 @@ widget.dvi: ${srcdir}/widget.texi widget.pdf: ${srcdir}/widget.texi $(ENVADD) $(TEXI2PDF) ${srcdir}/widget.texi +wisent : $(buildinfodir)/wisent$(INFO_EXT) +$(buildinfodir)/wisent$(INFO_EXT): ${srcdir}/wisent.texi + $(mkinfodir) + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/wisent.texi +wisent.dvi: ${srcdir}/wisent.texi + $(ENVADD) $(TEXI2DVI) ${srcdir}/wisent.texi +wisent.pdf: ${srcdir}/wisent.texi + $(ENVADD) $(TEXI2PDF) ${srcdir}/wisent.texi + woman : $(buildinfodir)/woman$(INFO_EXT) $(buildinfodir)/woman$(INFO_EXT): ${srcdir}/woman.texi $(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) \ $(infodir)/epa$(INFO_EXT) $(infodir)/mairix-el$(INFO_EXT) $(infodir)/sasl$(INFO_EXT) \ $(infodir)/auth$(INFO_EXT) $(infodir)/eieio$(INFO_EXT) $(infodir)/ede$(INFO_EXT) \ $(infodir)/semantic$(INFO_EXT) $(infodir)/edt$(INFO_EXT) $(infodir)/emacs-gnutls$(INFO_EXT) \ - $(infodir)/srecode$(INFO_EXT) $(infodir)/bovine$(INFO_EXT) + $(infodir)/srecode$(INFO_EXT) $(infodir)/bovine$(INFO_EXT) \ + $(infodir)/wisent$(INFO_EXT) DVI_TARGETS = calc.dvi cc-mode.dvi cl.dvi dbus.dvi dired-x.dvi \ ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \ 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 \ newsticker.dvi rcirc.dvi erc.dvi ert.dvi \ remember.dvi nxml-mode.dvi \ epa.dvi mairix-el.dvi sasl.dvi auth.dvi eieio.dvi ede.dvi \ - semantic.dvi edt.dvi emacs-gnutls.dvi srecode.dvi bovine.dvi + semantic.dvi edt.dvi emacs-gnutls.dvi srecode.dvi bovine.dvi \ + wisent.dvi INFOSOURCES = info.texi # The following rule does not work with all versions of `make'. @@ -369,6 +371,10 @@ $(infodir)/bovine$(INFO_EXT): bovine.texi doclicense.texi bovine.dvi: bovine.texi doclicense.texi $(ENVADD) $(TEXI2DVI) $(srcdir)/bovine.texi +$(infodir)/wisent$(INFO_EXT): wisent.texi doclicense.texi + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ wisent.texi +wisent.dvi: wisent.texi doclicense.texi + $(ENVADD) $(TEXI2DVI) $(srcdir)/wisent.texi mostlyclean: - $(DEL) *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.* @@ -399,7 +405,7 @@ clean: mostlyclean $(infodir)/eieio* $(infodir)/ede* \ $(infodir)/semantic* $(infodir)edt* \ $(infodir)/emacs-gnutls* $(infodir)/srecode* \ - $(infodir)/bovine* + $(infodir)/bovine* $(infodir)/wisent* distclean: clean - $(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 @@ \input texinfo @c -*-texinfo-*- @c %**start of header -@setfilename wisent.info +@setfilename ../../info/wisent @set TITLE Wisent Parser Development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} @@ -23,35 +23,35 @@ @c %**end of header @copying -This manual documents the Wisent parser generator. - -Copyright @copyright{} 2001, 2002, 2003, 2004, 2007 David Ponce +Copyright @copyright{} 1988-1993, 1995, 1998-2004, 2007, 2012 +Free Software Foundation, Inc. +@c Since we are both GNU manuals, we do not need to ack each other here. +@ignore Some texts are borrowed or adapted from the manual of Bison version 1.35. The text in section entitled ``Understanding the automaton'' is adapted from the section ``Understanding Your Parser'' in the manual of Bison version 1.49. - -Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1998, -1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. +@end ignore @quotation Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with the -Invariant Sections being list their titles, with the Front-Cover Texts -being list, and with the Back-Cover Texts being list. A copy of the -license is included in the section entitled ``GNU Free Documentation -License''. +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +and with the Back-Cover Texts as in (a) below. A copy of the license +is included in the section entitled ``GNU Free Documentation License''. + +(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and +modify this GNU manual. Buying copies from the FSF supports it in +developing GNU and promoting software freedom.'' @end quotation @end copying -@ifinfo -@dircategory Emacs +@dircategory Emacs misc features @direntry -* Semantic Wisent parser development: (wisent). +* Wisent: (wisent). Semantic Wisent parser development. @end direntry -@end ifinfo @iftex @finalout @@ -60,29 +60,19 @@ License''. @c @setchapternewpage odd @c @setchapternewpage off -@ifinfo -This file documents Application Development with Semantic. -@emph{Infrastructure for parser based text analysis in Emacs} - -Copyright @copyright{} 2001, 2002, 2003, 2004 @value{AUTHOR} -@end ifinfo - @titlepage @sp 10 @title @value{TITLE} @author by @value{AUTHOR} -@vskip 0pt plus 1 fill -Copyright @copyright{} 2001, 2002, 2003, 2004 @value{AUTHOR} @page @vskip 0pt plus 1 fill @insertcopying @end titlepage @page -@c MACRO inclusion -@include semanticheader.texi -@paragraphindent none - +@macro semantic{} +@i{Semantic} +@end macro @c ************************************************************************* @c @ Document @@ -102,13 +92,17 @@ source in Emacs buffers. It also describes how Wisent is used with the @semantic{} tool set described in the @ref{Top, Semantic Manual, Semantic Manual, semantic}. +@ifnottex +@insertcopying +@end ifnottex + @menu -* Wisent Overview:: -* Wisent Grammar:: -* Wisent Parsing:: -* Wisent Semantic:: -* GNU Free Documentation License:: -* Index:: +* Wisent Overview:: +* Wisent Grammar:: +* Wisent Parsing:: +* Wisent Semantic:: +* GNU Free Documentation License:: +* Index:: @end menu @node Wisent Overview @@ -130,7 +124,7 @@ See the @ref{Top, Semantic Manual, , semantic}. It benefits from these Bison features: @itemize @bullet -@item +@item It uses a fast but not so space-efficient encoding for the parse tables, described in Corbett's PhD thesis from Berkeley: @quotation @@ -138,7 +132,7 @@ tables, described in Corbett's PhD thesis from Berkeley: June 1985, Report No. UCB/CSD 85/251. @end quotation -@item +@item For generating the lookahead sets, Wisent uses the well-known technique of F. DeRemer and A. Pennello they described in: @quotation @@ -146,11 +140,11 @@ technique of F. DeRemer and A. Pennello they described in: October 1982, ACM TOPLS Vol 4 No 4. @end quotation -@item +@item Wisent resolves shift/reduce conflicts using operator precedence and associativity. -@item +@item Parser error recovery is accomplished using rules which match the special token @code{error}. @end itemize @@ -223,12 +217,12 @@ exp @equiv{} exp PLUS exp Says that two groupings of type @samp{exp}, with a @samp{PLUS} token in between, can be combined into a larger grouping of type @samp{exp}. - + @menu -* Grammar format:: -* Example:: -* Compiling a grammar:: -* Conflicts:: +* Grammar format:: +* Example:: +* Compiling a grammar:: +* Conflicts:: @end menu @node Grammar format, Example, Wisent Grammar, Wisent Grammar @@ -463,14 +457,14 @@ Here is an example to parse simple infix arithmetic expressions. See '( ;; Terminals (NUM) - + ;; Terminal associativity & precedence ((nonassoc ?=) (left ?- ?+) (left ?* ?/) (left NEG) (right ?^)) - + ;; Rules (input ((line)) @@ -671,8 +665,8 @@ information. @end table @menu -* Grammar Debugging:: -* Understanding the automaton:: +* Grammar Debugging:: +* Understanding the automaton:: @end menu @node Grammar Debugging @@ -742,7 +736,7 @@ We will use the following example: (wisent-compile-grammar '((NUM STR) ; %token NUM STR - ((left ?+ ?-) ; %left '+' '-'; + ((left ?+ ?-) ; %left '+' '-'; (left ?*)) ; %left '*' (exp ; exp: @@ -1183,11 +1177,11 @@ Normal hook run just after the @var{LR} parser engine terminated. @end defvar @menu -* Writing a lexer:: -* Actions goodies:: -* Report errors:: -* Error recovery:: -* Debugging actions:: +* Writing a lexer:: +* Actions goodies:: +* Report errors:: +* Error recovery:: +* Debugging actions:: @end menu @node Writing a lexer @@ -1593,8 +1587,8 @@ Please @inforef{top, Semantic Grammar Framework Manual, grammar-fw} for more information on @semantic{} grammars. @menu -* Grammar styles:: -* Wisent Lex:: +* Grammar styles:: +* Wisent Lex:: @end menu @node Grammar styles @@ -1608,11 +1602,11 @@ used with the @semantic{} tool set: the @dfn{Iterative style} and the it can be worth a mix of the two styles! @menu -* Iterative style:: -* Bison style:: -* Mixed style:: -* Start nonterminals:: -* Useful functions:: +* Iterative style:: +* Bison style:: +* Mixed style:: +* Start nonterminals:: +* Useful functions:: @end menu @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 reviewed to ensure that the incremental parser will work!} Things are a little bit different when the grammar is written in Bison -style. +style. @strong{The @code{reparse-symbol} property is set to the nonterminal 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}, @itemx end Are the start and end positions of mapped data in the input buffer. @end table - + The Wisent's parser doesn't depend on the nature of analyzed input stream (buffer, string, etc.), and requires that lexical tokens have a different form (@pxref{Writing a lexer}): @@ -2036,7 +2030,7 @@ equivalent Wisent lexical tokens is straightforward: @node GNU Free Documentation License @appendix GNU Free Documentation License -@include fdl.texi +@include doclicense.texi @node Index @unnumbered Index @@ -79,8 +79,9 @@ Emacs misc features and citations. * Remember: (remember). Simple information manager for Emacs. * Semantic: (semantic). Source code parser library and utilities. -* SRecode: (srecode). Template code generator. * Bovine: (bovine). Semantic bovine parser development. +* SRecode: (srecode). Template code generator. +* Wisent: (wisent). Semantic Wisent parser development. * SES: (ses). Simple Emacs Spreadsheet. * Speedbar: (speedbar). File/Tag summarizing utility. * VIP: (vip). An older VI-emulation for Emacs. |