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.
This commit is contained in:
Glenn Morris 2012-12-12 20:47:14 -08:00
parent 9e7abd17a3
commit bfe6ffb652
6 changed files with 91 additions and 71 deletions

View file

@ -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>

View file

@ -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.

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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.