]> git.saurik.com Git - bison.git/commitdiff
* doc/bison.texinfo: ANSIfy the examples.
authorAkim Demaille <akim@epita.fr>
Fri, 16 Mar 2001 15:32:48 +0000 (15:32 +0000)
committerAkim Demaille <akim@epita.fr>
Fri, 16 Mar 2001 15:32:48 +0000 (15:32 +0000)
ChangeLog
doc/bison.texinfo

index aa7498c8be7ba4e492b85f706f65a2bb5383732b..88f39a8da24b23b728df7b6519d5758c785a2cec 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2001-03-16  Akim Demaille  <akim@epita.fr>
+
+       * doc/bison.texinfo: ANSIfy the examples.
+
 2001-03-16  Akim Demaille  <akim@epita.fr>
 
        * getargs.c (skeleton): New variable.
 2001-03-16  Akim Demaille  <akim@epita.fr>
 
        * getargs.c (skeleton): New variable.
index c3783fb060e862d526fb55dcf8d8ea94cb7b9b91..c26a229599ac956435d780b3d87e6466f93fd433 100644 (file)
@@ -1859,17 +1859,20 @@ The symbol table itself consists of a linked list of records.  Its
 definition, which is kept in the header @file{calc.h}, is as follows.  It
 provides for either functions or variables to be placed in the table.
 
 definition, which is kept in the header @file{calc.h}, is as follows.  It
 provides for either functions or variables to be placed in the table.
 
-@c FIXME: ANSIfy the prototypes for FNCTPTR etc.
 @smallexample
 @group
 @smallexample
 @group
+/* Fonctions type.                                   */
+typedef double (*func_t) (double);
+
 /* Data type for links in the chain of symbols.      */
 struct symrec
 @{
   char *name;  /* name of symbol                     */
   int type;    /* type of symbol: either VAR or FNCT */
 /* Data type for links in the chain of symbols.      */
 struct symrec
 @{
   char *name;  /* name of symbol                     */
   int type;    /* type of symbol: either VAR or FNCT */
-  union @{
-    double var;           /* value of a VAR          */
-    double (*fnctptr)();  /* value of a FNCT         */
+  union
+  @{
+    double var;                  /* value of a VAR   */
+    func_t fnctptr;              /* value of a FNCT  */
   @} value;
   struct symrec *next;    /* link field              */
 @};
   @} value;
   struct symrec *next;    /* link field              */
 @};
@@ -1881,8 +1884,8 @@ typedef struct symrec symrec;
 /* The symbol table: a chain of `struct symrec'.     */
 extern symrec *sym_table;
 
 /* The symbol table: a chain of `struct symrec'.     */
 extern symrec *sym_table;
 
-symrec *putsym ();
-symrec *getsym ();
+symrec *putsym (const char *, func_t);
+symrec *getsym (const char *);
 @end group
 @end smallexample
 
 @end group
 @end smallexample
 
@@ -1912,24 +1915,24 @@ yyerror (const char *s)  /* Called by yyparse on error */
 struct init
 @{
   char *fname;
 struct init
 @{
   char *fname;
-  double (*fnct)();
+  double (*fnct)(double);
 @};
 @end group
 
 @group
 struct init arith_fncts[] =
 @{
 @};
 @end group
 
 @group
 struct init arith_fncts[] =
 @{
-  "sin", sin,
-  "cos", cos,
+  "sin",  sin,
+  "cos",  cos,
   "atan", atan,
   "atan", atan,
-  "ln", log,
-  "exp", exp,
+  "ln",   log,
+  "exp",  exp,
   "sqrt", sqrt,
   0, 0
 @};
 
 /* The symbol table: a chain of `struct symrec'.  */
   "sqrt", sqrt,
   0, 0
 @};
 
 /* The symbol table: a chain of `struct symrec'.  */
-symrec *sym_table = (symrec *)0;
+symrec *sym_table = (symrec *) 0;
 @end group
 
 @group
 @end group
 
 @group