@value{UPDATED}), the @acronym{GNU} parser generator.
Copyright @copyright{} 1988, 1989, 1990, 1991, 1992, 1993, 1995, 1998,
-1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+1999, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the @acronym{GNU} Free Documentation License,
-Version 1.1 or any later version published by the Free Software
+Version 1.2 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover texts
being ``A @acronym{GNU} Manual,'' and with the Back-Cover Texts as in
(a) below. A copy of the license is included in the section entitled
@end quotation
@end copying
-@dircategory GNU programming tools
+@dircategory Software development
@direntry
* bison: (bison). @acronym{GNU} parser generator (Yacc replacement).
@end direntry
uniquely determined by the preceding input and a fixed, finite portion
(called a @dfn{look-ahead}) of the remaining input. A context-free
grammar can be @dfn{ambiguous}, meaning that there are multiple ways to
-apply the grammar rules to get the some inputs. Even unambiguous
+apply the grammar rules to get the same inputs. Even unambiguous
grammars can be @dfn{non-deterministic}, meaning that no fixed
look-ahead always suffices to determine the next grammar rule to apply.
With the proper declarations, Bison is also able to parse these more
/* The symbol table: a chain of `struct symrec'. */
extern symrec *sym_table;
-symrec *putsym (char const *, func_t);
+symrec *putsym (char const *, int);
symrec *getsym (char const *);
@end group
@end smallexample
definitions of @code{yylex} and @code{yyerror} often go here. Because
C requires functions to be declared before being used, you often need
to declare functions like @code{yylex} and @code{yyerror} in the Prologue,
-even if you define them int he Epilogue.
+even if you define them in the Epilogue.
@xref{Interface, ,Parser C-Language Interface}.
If the last section is empty, you may omit the @samp{%%} that separates it
earlier:
@example
-typedef int foo, bar, lose;
-static foo (bar); /* @r{redeclare @code{bar} as static variable} */
-static int foo (lose); /* @r{redeclare @code{foo} as function} */
+typedef int foo, bar;
+int baz (void)
+@{
+ static bar (bar); /* @r{redeclare @code{bar} as static variable} */
+ extern foo foo (foo); /* @r{redeclare @code{foo} as function} */
+ return foo (bar);
+@}
@end example
Unfortunately, the name being declared is separated from the declaration