* src/nullable.h: New file.
authorAkim Demaille <akim@epita.fr>
Mon, 2 Oct 2000 08:06:43 +0000 (08:06 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 2 Oct 2000 08:06:43 +0000 (08:06 +0000)
Propagate its inclusion.
* src/nullable.c: Formatting changes.

ChangeLog
src/LR0.c
src/Makefile.am
src/lalr.c
src/main.c
src/nullable.c
src/nullable.h [new file with mode: 0644]

index b6b05ee..c019e7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
 2000-10-02  Akim Demaille  <akim@epita.fr>
 
+       * src/nullable.h: New file.
+       Propagate its inclusion.
+       * src/nullable.c: Formatting changes.
+
+       
+2000-10-02  Akim Demaille  <akim@epita.fr>
+
        * src/reduce.h: New file.
        Propagate its inclusion.
        * src/reduce.c: Topological sort and other formatting changes.
index f0626fe..61ac236 100644 (file)
--- a/src/LR0.c
+++ b/src/LR0.c
@@ -1,5 +1,5 @@
 /* Generate the nondeterministic finite state machine for bison,
-   Copyright (C) 1984, 1986, 1989 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1986, 1989, 2000 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
 #include "complain.h"
 #include "closure.h"
 
-extern char *nullable;
 extern short *itemset;
 extern short *itemsetend;
 
-
 int nstates;
 int final_state;
 core *first_state;
index a8f53d8..99e0c89 100644 (file)
@@ -20,7 +20,7 @@ EXTRA_bison_SOURCES = vmsgetargs.c
 
 noinst_HEADERS = alloc.h closure.h complain.h \
  derives.h \
- files.h getargs.h gram.h lalr.h lex.h \
+ files.h getargs.h gram.h lalr.h lex.h nullable.h \
  output.h state.h      \
  reader.h reduce.h symtab.h system.h types.h
 
index 3608527..8e83de9 100644 (file)
@@ -30,10 +30,9 @@ Boston, MA 02111-1307, USA.  */
 #include "gram.h"
 #include "complain.h"
 #include "lalr.h"
+#include "nullable.h"
 
 extern short **derives;
-extern char *nullable;
-
 
 int tokensetsize;
 short *lookaheads;
index 8ca5a67..4dff4de 100644 (file)
@@ -29,6 +29,7 @@
 #include "reader.h"
 #include "lalr.h"
 #include "reduce.h"
+#include "nullable.h"
 
 #if 0                          /* XXX currently unused.  */
 /* Nonzero means failure has been detected; don't write a parser file.  */
@@ -42,8 +43,6 @@ extern void berror PARAMS((const char *));
 
 extern char *printable_version PARAMS ((int));
 
-extern void set_nullable PARAMS ((void));
-extern void free_nullable PARAMS ((void));
 extern void generate_states PARAMS ((void));
 extern void initialize_conflicts PARAMS ((void));
 extern void finalize_conflicts PARAMS ((void));
index 516fce4..8733bc0 100644 (file)
@@ -1,48 +1,45 @@
 /* Part of the bison parser generator,
-   Copyright (C) 1984, 1989 Free Software Foundation, Inc.
+   Copyright (C) 1984, 1989, 2000 Free Software Foundation, Inc.
 
-This file is part of Bison, the GNU Compiler Compiler.
+   This file is part of Bison, the GNU Compiler Compiler.
 
-Bison is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+   Bison is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
 
-Bison is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   Bison is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with Bison; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+   You should have received a copy of the GNU General Public License
+   along with Bison; see the file COPYING.  If not, write to
+   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
 
-/* set up nullable, a vector saying which nonterminals can expand into
-   the null string.  nullable[i - ntokens] is nonzero if symbol i can
+/* Set up NULLABLE, a vector saying which nonterminals can expand into
+   the null string.  NULLABLE[I - NTOKENS] is nonzero if symbol I can
    do so.  */
 
 #include "system.h"
 #include "types.h"
 #include "gram.h"
 #include "alloc.h"
+#include "nullable.h"
 
-
-char *nullable;
-
-extern void free_nullable PARAMS((void));
-extern void set_nullable PARAMS((void));
+char *nullable = NULL;
 
 void
 set_nullable (void)
 {
-  register short *r;
-  register short *s1;
-  register short *s2;
-  register int ruleno;
-  register int symbol;
-  register shorts *p;
+  short *r;
+  short *s1;
+  short *s2;
+  int ruleno;
+  int symbol;
+  shorts *p;
 
   short *squeue;
   short *rcount;
@@ -52,20 +49,20 @@ set_nullable (void)
   short *r1;
 
 #ifdef TRACE
-  fprintf(stderr, _("Entering set_nullable"));
+  fprintf (stderr, _("Entering set_nullable"));
 #endif
 
-  nullable = NEW2(nvars, char) - ntokens;
+  nullable = NEW2 (nvars, char) - ntokens;
 
-  squeue = NEW2(nvars, short);
+  squeue = NEW2 (nvars, short);
   s1 = s2 = squeue;
 
-  rcount = NEW2(nrules + 1, short);
-  rsets = NEW2(nvars, shorts *) - ntokens;
+  rcount = NEW2 (nrules + 1, short);
+  rsets = NEW2 (nvars, shorts *) - ntokens;
   /* This is said to be more elements than we actually use.
      Supposedly nitems - nrules is enough.
      But why take the risk?  */
-  relts = NEW2(nitems + nvars + 1, shorts);
+  relts = NEW2 (nitems + nvars + 1, shorts);
   p = relts;
 
   r = ritem;
@@ -86,7 +83,7 @@ set_nullable (void)
          any_tokens = 0;
          for (symbol = *r++; symbol > 0; symbol = *r++)
            {
-             if (ISTOKEN(symbol))
+             if (ISTOKEN (symbol))
                any_tokens = 1;
            }
 
@@ -125,15 +122,15 @@ set_nullable (void)
        }
     }
 
-  FREE(squeue);
-  FREE(rcount);
-  FREE(rsets + ntokens);
-  FREE(relts);
+  FREE (squeue);
+  FREE (rcount);
+  FREE (rsets + ntokens);
+  FREE (relts);
 }
 
 
 void
 free_nullable (void)
 {
-  FREE(nullable + ntokens);
+  FREE (nullable + ntokens);
 }
diff --git a/src/nullable.h b/src/nullable.h
new file mode 100644 (file)
index 0000000..1cc5d43
--- /dev/null
@@ -0,0 +1,33 @@
+/* Part of the bison parser generator,
+   Copyright (C) 2000 Free Software Foundation, Inc.
+
+   This file is part of Bison, the GNU Compiler Compiler.
+
+   Bison is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   Bison is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with Bison; see the file COPYING.  If not, write to
+   the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
+
+#ifndef NULLABLE_H_
+# define NULLABLE_H_
+
+/* A vector saying which nonterminals can expand into the null string.
+   NULLABLE[I - NTOKENS] is nonzero if symbol I can do so.  */
+extern char *nullable;
+
+/* Set up NULLABLE. */
+extern void set_nullable PARAMS((void));
+
+/* Free NULLABLE. */
+extern void free_nullable PARAMS((void));
+#endif /* !NULLABLE_H_ */