]> git.saurik.com Git - bison.git/commitdiff
First set of tests: use the `calc' example from the documentation.
authorAkim Demaille <akim@epita.fr>
Mon, 18 Sep 2000 13:18:26 +0000 (13:18 +0000)
committerAkim Demaille <akim@epita.fr>
Mon, 18 Sep 2000 13:18:26 +0000 (13:18 +0000)
* src/bison.s1 (yyparse): Condition the code using `yytname' which
is defined only when YYDEBUG is.
* m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
* src/files.c (tryopen, tryclose): Formatting changes.
Move to the top and be static.
* src/reader.c (read_signed_integer): Likewise.
* tests/calc.m4: New file.
* Makefile.am, suite.m4: Adjust.
* m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.

17 files changed:
ChangeLog
m4/atconfig.m4
po/de.po
po/es.po
po/et.po
po/fr.po
po/ja.po
po/nl.po
po/ru.po
src/bison.s1
src/bison.simple
src/files.c
src/reader.c
tests/Makefile.am
tests/atconfig.in
tests/calc.m4 [new file with mode: 0644]
tests/suite.m4

index b6a4a654a0f3f28a2ad4a4cf7dc58c39e8fa279a..bf797fbdc6e2bdf08fb49b61e4d680664b26231c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2000-09-18  Akim Demaille  <akim@epita.fr>
+
+       First set of tests: use the `calc' example from the documentation.
+
+       * src/bison.s1 (yyparse): Condition the code using `yytname' which
+       is defined only when YYDEBUG is.
+       * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
+       * src/files.c (tryopen, tryclose): Formatting changes.
+       Move to the top and be static.
+       * src/reader.c (read_signed_integer): Likewise.
+       * tests/calc.m4: New file.
+       * Makefile.am, suite.m4: Adjust.
+       * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
+
 2000-09-18  Akim Demaille  <akim@epita.fr>
 
        Add support for an Autotest test suite for Bison.
index 4dd5c580097fc29e4571cc7d16b09eaa26e15603..f4a4de49fc118de46e856c4bed07377b8e6133cf 100644 (file)
@@ -2,12 +2,21 @@
 ## Prepare for testing.  ##
 ## ----------------------##
 
-# serial 1
+# serial 2
 
 # Single argument says where are built sources to test, relative to the
 # built test directory.  Maybe omitted if the same (flat distribution).
 
-AC_DEFUN(AT_CONFIG,
-[AT_TESTPATH=ifelse($1, , ., $1)
-AC_SUBST(AT_TESTPATH)
+AC_DEFUN([AT_CONFIG],
+[AT_TESTPATH=ifelse([$1], [], [.], [$1])
+AC_SUBST([AT_TESTPATH])
+# Try to be compatible with both Autoconf 2.13 and 2.50.
+if test -z "$ECHO_C$ECHO_N$ECHO_T"; then
+  ECHO_C="$ac_c"
+  ECHO_N="$ac_n"
+  ECHO_T="$ac_t"
+  AC_SUBST([ECHO_C])
+  AC_SUBST([ECHO_N])
+  AC_SUBST([ECHO_T])
+fi
 ])
index 8e2b4c7622b282165b0adedc29a6ce5c1391103e..74984e7bcc7e3742fd99d650ee020327a410ec88 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
 "Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
 "Language-Team: German <de@li.org>\n"
@@ -212,7 +212,7 @@ msgstr ""
 msgid "unexpected `/' found and ignored"
 msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "unbeendeter Kommentar"
 
@@ -366,224 +366,224 @@ msgstr " auf der linken Seite:"
 msgid " on right:"
 msgstr " auf der rechten Seite:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   Überspringe Zeichen bis zum nächsten \\n"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Überspringe Zeichen bis zum nächten %c"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "unbeendete Zeichenkette am Ende der Datei"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "unbeendete Zeichenkette"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "unbekannt: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "keine Eingabe-Grammatik"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "unbekanntes Zeichen: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "unbeendete »%{« Definition"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "Symbol %s noch einmal definiert"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "erneute Deklaration des Typs für %s"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "»%s« ist in %s nicht erlaubt"
 
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "mehr als eine %start Deklaration"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "ungültige %start Deklaration"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "%type Deklaration hat keinen <Typ-Namen>"
 
-#: src/reader.c:761
+#: src/reader.c:794
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "ungültige %%type Deklaration wegen »%s«"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "Stellenwertigkeit von %s wird erneut definiert"
 
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
 
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "unerwartetes Symbol: %s"
 
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "»{« hat kein Gegenstück"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "Argument von %expect ist keine ganze Zahl"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "@%s ist unzulässig"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "unzulässiger $ Wert"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ von »%s« hat keine deklarierten Wert"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "»%s« von »%s« hat keine deklarierten Wert"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "$%s ist unzulässig"
 
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "unbeendeter %%guard Fall"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr ""
 "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
 "gefolgt"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "Regel für %s vorhanden, welches aber ein Token ist"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "zwei @prec Anweisungen nacheinander"
 
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, fuzzy, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr ""
 "%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "Zwei Aktionen am Ende einer Regel"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "ungültige Eingabe: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "Eingabegrammatik enthält keine Regeln"
 
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
 "Regel"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "assoc Werte für %s nd %s widersprechen sich"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "Token %s und %s haben die selbe nummer %s"
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "das Startsymbol %s ist undefiniert"
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "das Startsymbol %s ist ein Token"
index 60a69447159fe9ad84b253809e3018c2b465286d..d232b8fa27e8674ca53feb4c6d43765d0b82f3d4 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -30,7 +30,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bison 1.25\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 1998-09-21 10:19+0200\n"
 "Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -271,7 +271,7 @@ msgstr ""
 msgid "unexpected `/' found and ignored"
 msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "comentario sin terminar"
 
@@ -435,57 +435,57 @@ msgstr " en la izquierda:"
 msgid " on right:"
 msgstr " en la derecha:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   Saltando al siguiente \\n"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Saltando al siguiente %c"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "cadena sin terminar al final del fichero"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "cadena sin terminar"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "no reconocido: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "no hay gramática de entrada"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "carácter desconocido: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "definición `%{' sin terminar"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "redefinido el símbolo %s"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "redeclaración del tipo de %s"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' no es válido en %s"
@@ -496,36 +496,36 @@ msgstr "`%s' no es v
 # - cll
 # ok - ngp
 #
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "no se reconoce el ítem %s, se esperaba un identificador"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "se esperaba una cadena constante en lugar de %s"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "múltiples declaraciones de %start"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "declaración de %start no válida"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "la declaración %type no tiene <nombre-tipo>"
 
-#: src/reader.c:761
+#: src/reader.c:794
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "declaración de %%type no válida debido al ítem: `%s'"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "redefinición de la precedencia de %s"
@@ -534,7 +534,7 @@ msgstr "redefinici
 # de "to must" y aquí se emplea en su forma condicional. Por eso, he
 # cambiado `debe' por `debería' - cll
 # ahí me has pillado en un olvido del inglés - ngp
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr ""
@@ -544,42 +544,42 @@ msgstr ""
 # otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
 # este caso, la segunda me parece más apropiada - cll
 # ok - ngp
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ítem inesperado: %s"
 
 # Cambio el orden y el sexo. Ahora está "en español". sv
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "`{' desemparejada"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "el argumento de %expect no es un entero"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "@%s no es válido"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "valor $ no válido"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ de `%s' no tiene tipo declarado"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s de `%s' no tiene tipo declarado"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "$%s no es válida"
@@ -588,93 +588,93 @@ msgstr "$%s no es v
 # mejor que `sin terminar' que me parece más "computerizado" - cll
 # quizás un poco cacofónico lo de claúsula inconclusa - ngp
 #
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "cláusula %%guard sin terminar"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "regla mal formada: el símbolo inicial no está seguido por :"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "la gramática comienza con una barra vertical"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "se ha dado una regla para %s, que es un terminal"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "dos @prec en una línea"
 
 # Insisto, el empleo de participios a secas me parece como hablar en
 # indio. Por favor, permíteme que añada un "está" :) - cll
 # ok - ngp
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, fuzzy, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr "%%guard presente pero %%semantic_parser está sin especificar"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "dos acciones al final de una regla"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "entrada no válida: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "no hay reglas en la gramática de entrada"
 
 # `token' se debe traducir como `literal' - cll
 # en terminología de compiladores token es más un terminal - ngp
 #
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "precedencias en conflicto entre %s y %s"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "conflicto de valores assoc para %s y %s"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "los terminales %s y %s tienen asignados ambos el número %s"
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "el símbolo de inicio (axioma) %s no está definido"
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "el símbolo de inicio (axioma) %s es un terminal"
index c44554ed3e446ad44f74f630e145ea3342301aea..a9a5c3d0faa4ca276b269381f7135465b59c9433 100644 (file)
--- a/po/et.po
+++ b/po/et.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 2000-04-11 22:19+02:00\n"
 "Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
 "Language-Team: Estonian <et@li.org>\n"
@@ -235,7 +235,7 @@ msgstr "liiga palju gotosid (maks %d)"
 msgid "unexpected `/' found and ignored"
 msgstr "leidsin ja ignoreerin ootamatu `/'"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "lõpetamata kommentaar"
 
@@ -387,220 +387,220 @@ msgstr " vasakul:"
 msgid " on right:"
 msgstr " paremal:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   Liigun järgmisele \\n"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Liigun järgmisele %c"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "lõpetamata sõne faili lõpus"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "lõpetamata sõne"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "tundmatu: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "sisendgrammatikat pole"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "tundmatu sümbol: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "lõpetamata `%{' definitsioon"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr "Enneaegne EOF peale %s"
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "sümbol %s on uuesti defineeritud"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "%s tüübi uuesti deklareerimine"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' ei ole %s sees lubatud"
 
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "tundmatu element %s, eeldasin identifikaatorit"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "eeldasin %s asemel sõnekonstanti"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "korduvad %start deklaratsioonid"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "vigane %start deklaratsioon"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "%type deklaratsioonis puudub <tüübinimi>"
 
-#: src/reader.c:761
+#: src/reader.c:794
 msgid "invalid %%type declaration due to item: %s"
 msgstr "vigane %%type deklaratsioon, element: %s"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "%s prioriteedi uus definitsioon"
 
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
 
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ootamatu element: %s"
 
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "puudub `{'"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "%expect argument ei ole täisarv"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "@%s on vigane"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "vigane $ väärtus"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "`%s' $$ ei oma deklareeritud tüüpi"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%d `%s' ei oma deklareeritud tüüpi"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "$%s on vigane"
 
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, c-format
 msgid "unterminated %guard clause"
 msgstr "lõpetamata %guard klausel"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "grammatika algab püstkriipsuga"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "%s jaoks on antud reegel, aga see on märk"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "kaks @prec ühel real"
 
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr "%guard on määratud, aga %semantic_parser ei ole"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "kaks tegevust ühe reegli lõpus"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "vigane sisend: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "sisendgrammatikas pole reegleid"
 
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
 "reeglid"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "%s ja %s omavad konfliktseid prioriteete"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "stardisümbol %s ei ole defineeritud"
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "stardisümbol %s on märk"
index df88756bab563a78a0d01c851f966a09e91870af..f7a6a6c03d035b33df92c5198470244cc3924897 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 1996-03-19 20:05 EST\n"
 "Last-Translator: Dominique Boucher <boucherd@IRO.UMontreal.CA>\n"
 "Language-Team: French <fr@li.org>\n"
@@ -218,7 +218,7 @@ msgstr ""
 msgid "unexpected `/' found and ignored"
 msgstr "`/' inattendu et ignoré"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "le commentaire ne se termine pas"
 
@@ -371,222 +371,222 @@ msgstr " 
 msgid " on right:"
 msgstr " à droite:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   Saut jusqu'au prochain \\n"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Saut jusqu'au prochain %c"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "chaîne de caractères non terminée en fin de fichier"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "chaîne de caractère non terminée"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "non reconnu: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "aucune grammaire en entrée"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "caractère inconnu: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "symbole %s redéfini"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "redéclaration du type de %s"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' n'est pas valide dans %s"
 
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "item %s non reconnu, un identificateur est attendu"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "chaîne de caractères constante attendue plutôt que %s"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "multiples déclarations %start"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "la déclaration %start n'est pas valide"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "la déclaration %type n'a pas de <nom_de_type>"
 
-#: src/reader.c:761
+#: src/reader.c:794
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "redéfinition du niveau de priorité de %s"
 
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr ""
 "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
 
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "item inattendu: %s"
 
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "accolade ouvrante `{' non appariée"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "le paramètre de %expect n'est pas un entier"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "@%s n'est pas valide"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "la valeur de symbole $ n'est pas valide"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ de `%s' n'a pas son type déclaré"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s cd `%s' n'a pas son type déclaré"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "$%s n'est pas valide"
 
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "clause %%guard non terminée"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "la grammaire débute par une barre verticale"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "la règle pour %s, qui est un terminal"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "deux @prec de suite"
 
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, fuzzy, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "deux actions à la fin d'une même règle"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "règle vide pour une catégorie typée et aucune action"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "entrée non valide: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "trop de symboles (terminaux et catégories); maximum de %s"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "la grammaire n'a pas de règles"
 
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
 "de règle"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "les priorités pour %s et %s entrent en conflit"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "les valeurs d'association de %s et %s entrent en conflit"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "les terminaux %s et %s se sont vus assigner le nombre %s"
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "le symbole de départ %s n'est pas défini"
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "le symbole de départ %s est un terminal"
index bd5ebe28969d261a71db011f93c9158035e82574..cc4822783ad14b57530689c9e3b9d057f4a782b3 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU bison 1.28\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 1999-09-28 21:10+0900\n"
 "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
 "Language-Team: Japanese <ja@li.org>\n"
@@ -217,7 +217,7 @@ msgstr "%s 
 msgid "unexpected `/' found and ignored"
 msgstr "ͽ´ü¤·¤Ê¤¤ `/' ¤¬¸«¤Ä¤«¤ê¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹"
 
@@ -370,221 +370,221 @@ msgstr " 
 msgid " on right:"
 msgstr " ±¦ÊÕ:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   ¼¡¤Î \\n ¤Ë¥¹¥­¥Ã¥×"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   ¼¡¤Î %c ¤Ë¥¹¥­¥Ã¥×"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Þ¤¹"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎó"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "ǧ¼±¤Ç¤­¤Ê¤¤: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "ʸˡ¤ÎÆþÎϤ¬Ìµ¤¤"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "̤ÃΤÎʸ»ú: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "`%{' ÄêµÁ ¤¬ÊĤ¸¤é¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "¥·¥ó¥Ü¥ë %s ¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "%s ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "%2$s Æâ¤Î `%1$s' ¤Ï̵¸ú¤Ç¤¹"
 
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥¢¥¤¥Æ¥à %s¡¢¤³¤³¤Ç¤Ï¼±Ê̻Ҥ¬´üÂÔ¤µ¤ì¤Þ¤¹"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "¤³¤³¤Ç¤Ï %s ¤Ç¤Ï¤Ê¤¯Ê¸»úÎóÄê¿ô¤¬´üÂÔ¤µ¤ì¤Þ¤¹"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "Ê£¿ô¤Î %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "̵¸ú¤Ê %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "%type Àë¸À¤Ë <¥¿¥¤¥×̾> ¤¬¤¢¤ê¤Þ¤»¤ó"
 
-#: src/reader.c:761
+#: src/reader.c:794
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "¥¢¥¤¥Æ¥à¤ËÍ¿¤¨¤é¤ì¤ë¤Ù¤­ %%type Àë¸À¤¬Ìµ¸ú¤Ç¤¹: `%s'"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "%s ¤ËÀè¹Ô¤·¤¿ºÆÄêµÁ¤Ç¤¹"
 
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "̵¸ú¤Ê¥Æ¥­¥¹¥È (%s) - ¿ôÃͤϼ±Ê̻Ҥθå¤í¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹"
 
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ͽ´ü¤»¤Ì¥¢¥¤¥Æ¥à: %s"
 
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "Âбþ¤Î¤Ê¤¤ `{' ¤Ç¤¹"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "%expect ¤Î°ú¿ô¤¬À°¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "@%s ¤Ï̵¸ú¤Ç¤¹"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "̵¸ú¤Ê $ ¤ÎÃÍ"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "`%s' ¤Î $$ ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "`%s' ¤Î $%s ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "$%s ¤Ï̵¸ú¤Ç¤¹"
 
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤ %%guard Àá¤Ç¤¹"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "¼Ù°­¤Êµ¬Â§: ½é´ü²½¥·¥ó¥Ü¥ë¤Ë¥³¥í¥ó (:) ¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "ʸˡ¤Ï½ÄËÀ (|) ¤Ç»Ï¤á¤Þ¤¹"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "%s ¤Ëµ¬Â§¤¬Í¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Þ¤¹"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "@prec ¤Î¤â¤ÎÆó¤Ä¤¬Æ±Îó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, fuzzy, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr "%%guard ¤¬¤¢¤ê¤Þ¤¹¤¬ %%semantic_parser ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "°ì¤Ä¤Îµ¬Â§¤Î½ª¤ê¤ËÆó¤Ä¤ÎÆ°ºî¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "½é´ü¾õÂÖ¤ÎÆ°ºî¤Ç¤Ï·¿ (`%s' `%s') ¤¬¾×Æͤ·¤Þ¤¹"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "¶õ¤Î·¿ÉÕ¤­Èó½ªÃ¼¥¢¥¤¥Æ¥àÍѵ¬Â§¤Ç¤¢¤ê¡¢Æ°ºî¤¬µ¯¤ê¤Þ¤»¤ó"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "̵¸ú¤ÊÆþÎÏ: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "¥·¥ó¥Ü¥ë¤¬Â¿¤¹¤®¤Þ¤¹ (¥È¡¼¥¯¥ó¤ÈÈó½ªÃ¼¥¢¥¤¥Æ¥à) -- ºÇÂç %s"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "ÆþÎϤ·¤¿Ê¸Ë¡¤Ëµ¬Â§¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "¥·¥ó¥Ü¥ë %s "
 "¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥È¡¼¥¯¥ó¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢µ¬Â§¤ò»ý¤Á¤Þ¤»¤ó"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "Àè¹Ô¤·¤Æ¤¤¤ë %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "Èó·ë¹çÃÍ %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, fuzzy, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "¥È¡¼¥¯¥ó %s ¤È %s ¤ÎÁÐÊý¤¬ÈÖ¹æ %s ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤·¤¿"
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó"
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¥È¡¼¥¯¥ó¤Ç¤¹"
index c8dbc3f0375f4d04e47186a8831c79c9fec55a52..0fa44b9d6c7ed13e3e5f76bf10ab12cb75243c69 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
 "Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
 "Language-Team: Dutch <nl@li.org>\n"
@@ -217,7 +217,7 @@ msgstr ""
 msgid "unexpected `/' found and ignored"
 msgstr "onverwachte `/' gevonden en genegeerd"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "ongetermineerd commentaar"
 
@@ -370,222 +370,222 @@ msgstr " links:"
 msgid " on right:"
 msgstr " rechts:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   Verder naar volgende \\n"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   Verder naar volgende %c"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "niet getermineerde string aan einde van bestand"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "niet getermineerde string"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "onbekend: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "geen invoer grammatica"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "onbekend karakter: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "niet getermineerde `%{' definitie"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr ""
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "symbool %s opnieuw gedefinieerd"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "type herdeclaratie voor %s"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' is onjuist in %s"
 
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "onbekend item %s, verwacht een identifier"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "verwacht string constante in plaats van %s"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "meerdere %start declaraties"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "onjuiste %start declaratie"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "%type declaratie heeft geen <typenaam>"
 
-#: src/reader.c:761
+#: src/reader.c:794
 #, fuzzy
 msgid "invalid %%type declaration due to item: %s"
 msgstr "onjuist %%type declaratie door item: `%s'"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "herdefinieren voorganger van %s"
 
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
 
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "onbekend item: %s"
 
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "niet overeenkomstige `{'"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "argument van %expect is niet een integer"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "@%s is onjuist"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "onjuiste $ waarde"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ van `%s' heeft geen gedeclareerd type"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, fuzzy, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%s van `%s' heeft geen gedeclareerd type"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "$%s is onjuist"
 
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, fuzzy, c-format
 msgid "unterminated %guard clause"
 msgstr "niet getermineerde %%guard voorwaarde"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr ""
 "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "grammatica start met een verticale bar"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "regel geven voor %s, welke een teken is"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "twee @prec's in een regel"
 
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, fuzzy, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "twee akties aan het einde van een regel"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "type clash (`%s' `%s') bij standaard aktie"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr "lege regel voor getypte niet terminal, en geen aktie"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "ongeldige invoer: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, fuzzy, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "geen regels voor invoer grammatica"
 
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr ""
 "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
 "heeft geen regels"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "conflictuerende precedentein voor %s en %s"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "conflictuerende associatieve waarden voor %s en %s"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr ""
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr ""
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "het start symbool %s is een token"
index 80fbd5d26e7a4e7a168ff9091a970fc116d61d36..7ff836393bc4997e0a9b729ffddfe599b69d08a6 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: bison 1.28a\n"
-"POT-Creation-Date: 2000-09-18 14:58+0200\n"
+"POT-Creation-Date: 2000-09-18 15:25+0200\n"
 "PO-Revision-Date: 2000-04-12 13:16+04:00\n"
 "Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
 "Language-Team: Russian <ru@li.org>\n"
@@ -237,7 +237,7 @@ msgstr "
 msgid "unexpected `/' found and ignored"
 msgstr "×ÓÔÒÅÞÅΠɠÐÒÏÉÇÎÏÒÉÒÏ×ÁΠÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
 
-#: src/lex.c:145 src/reader.c:257
+#: src/lex.c:145 src/reader.c:290
 msgid "unterminated comment"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
 
@@ -389,219 +389,219 @@ msgstr " 
 msgid " on right:"
 msgstr " ÎÁÐÒÁ×Ï:"
 
-#: src/reader.c:155
+#: src/reader.c:158
 msgid "   Skipping to next \\n"
 msgstr "   ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
 
-#: src/reader.c:157
+#: src/reader.c:160
 #, c-format
 msgid "   Skipping to next %c"
 msgstr "   ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
 
-#: src/reader.c:181 src/reader.c:196
+#: src/reader.c:214 src/reader.c:229
 msgid "unterminated string at end of file"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
 
-#: src/reader.c:184
+#: src/reader.c:217
 msgid "unterminated string"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
 
-#: src/reader.c:452
+#: src/reader.c:485
 #, c-format
 msgid "unrecognized: %s"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
 
-#: src/reader.c:457
+#: src/reader.c:490
 msgid "no input grammar"
 msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
 
-#: src/reader.c:460
+#: src/reader.c:493
 #, c-format
 msgid "unknown character: %s"
 msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
 
-#: src/reader.c:512
+#: src/reader.c:545
 msgid "unterminated `%{' definition"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
 
-#: src/reader.c:553 src/reader.c:741 src/reader.c:790
+#: src/reader.c:586 src/reader.c:774 src/reader.c:823
 #, c-format
 msgid "Premature EOF after %s"
 msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅàÆÁÊÌÁ ÐÏÓÌÅ %s"
 
-#: src/reader.c:590 src/reader.c:812
+#: src/reader.c:623 src/reader.c:845
 #, c-format
 msgid "symbol %s redefined"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
 
-#: src/reader.c:600 src/reader.c:756 src/reader.c:819 src/reader.c:1681
+#: src/reader.c:633 src/reader.c:789 src/reader.c:852 src/reader.c:1714
 #, c-format
 msgid "type redeclaration for %s"
 msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
 
-#: src/reader.c:610
+#: src/reader.c:643
 #, c-format
 msgid "`%s' is invalid in %s"
 msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
 
-#: src/reader.c:658
+#: src/reader.c:691
 #, c-format
 msgid "unrecognized item %s, expected an identifier"
 msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
 
-#: src/reader.c:680
+#: src/reader.c:713
 #, c-format
 msgid "expected string constant instead of %s"
 msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
 
-#: src/reader.c:702 src/reader.c:863
+#: src/reader.c:735 src/reader.c:896
 #, fuzzy, c-format
 msgid "multiple %s declarations"
 msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start"
 
-#: src/reader.c:704 src/reader.c:1657
+#: src/reader.c:737 src/reader.c:1690
 #, fuzzy, c-format
 msgid "invalid %s declaration"
 msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start"
 
-#: src/reader.c:724
+#: src/reader.c:757
 msgid "%type declaration has no <typename>"
 msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
 
-#: src/reader.c:761
+#: src/reader.c:794
 msgid "invalid %%type declaration due to item: %s"
 msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
 
-#: src/reader.c:808
+#: src/reader.c:841
 #, c-format
 msgid "redefining precedence of %s"
 msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
 
-#: src/reader.c:831
+#: src/reader.c:864
 #, c-format
 msgid "invalid text (%s) - number should be after identifier"
 msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
 
-#: src/reader.c:841
+#: src/reader.c:874
 #, c-format
 msgid "unexpected item: %s"
 msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
 
-#: src/reader.c:904 src/reader.c:1067 src/reader.c:1284
+#: src/reader.c:937 src/reader.c:1100 src/reader.c:1317
 #, fuzzy, c-format
 msgid "unmatched %s"
 msgstr "ÎÅÐÁÒÎÁÑ `{'"
 
-#: src/reader.c:949
+#: src/reader.c:982
 #, c-format
 msgid "argument of %expect is not an integer"
 msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
 
-#: src/reader.c:981
+#: src/reader.c:1014
 #, c-format
 msgid "@%s is invalid"
 msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s"
 
-#: src/reader.c:996 src/reader.c:1008
+#: src/reader.c:1029 src/reader.c:1041
 msgid "invalid $ value"
 msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
 
-#: src/reader.c:1114 src/reader.c:1254
+#: src/reader.c:1147 src/reader.c:1287
 #, c-format
 msgid "$$ of `%s' has no declared type"
 msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
 
-#: src/reader.c:1130 src/reader.c:1270
+#: src/reader.c:1163 src/reader.c:1303
 #, c-format
 msgid "$%d of `%s' has no declared type"
 msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
 
-#: src/reader.c:1135 src/reader.c:1275
+#: src/reader.c:1168 src/reader.c:1308
 #, c-format
 msgid "$%s is invalid"
 msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s"
 
-#: src/reader.c:1144
+#: src/reader.c:1177
 #, c-format
 msgid "unterminated %guard clause"
 msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
 
-#: src/reader.c:1370
+#: src/reader.c:1403
 msgid "ill-formed rule: initial symbol not followed by colon"
 msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
 
-#: src/reader.c:1377
+#: src/reader.c:1410
 msgid "grammar starts with vertical bar"
 msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
 
-#: src/reader.c:1408
+#: src/reader.c:1441
 #, c-format
 msgid "rule given for %s, which is a token"
 msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
 
-#: src/reader.c:1506
+#: src/reader.c:1539
 msgid "two @prec's in a row"
 msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
 
-#: src/reader.c:1515
+#: src/reader.c:1548
 #, c-format
 msgid "%guard present but %semantic_parser not specified"
 msgstr "%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %semantic_parser ÎÅ ÚÁÄÁÎ"
 
-#: src/reader.c:1524
+#: src/reader.c:1557
 msgid "two actions at end of one rule"
 msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
 
-#: src/reader.c:1539
+#: src/reader.c:1572
 #, c-format
 msgid "type clash (`%s' `%s') on default action"
 msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
 
-#: src/reader.c:1545
+#: src/reader.c:1578
 msgid "empty rule for typed nonterminal, and no action"
 msgstr ""
 "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
 
-#: src/reader.c:1589
+#: src/reader.c:1622
 #, c-format
 msgid "invalid input: %s"
 msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
 
-#: src/reader.c:1597
+#: src/reader.c:1630
 #, c-format
 msgid "too many symbols (tokens plus nonterminals); maximum %d"
 msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
 
-#: src/reader.c:1600
+#: src/reader.c:1633
 msgid "no rules in the input grammar"
 msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
 
-#: src/reader.c:1618
+#: src/reader.c:1651
 #, c-format
 msgid "symbol %s is used, but is not defined as a token and has no rules"
 msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅΠËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
 
-#: src/reader.c:1737
+#: src/reader.c:1770
 #, c-format
 msgid "conflicting precedences for %s and %s"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
 
-#: src/reader.c:1749
+#: src/reader.c:1782
 #, c-format
 msgid "conflicting assoc values for %s and %s"
 msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
 
-#: src/reader.c:1800
+#: src/reader.c:1833
 #, c-format
 msgid "tokens %s and %s both assigned number %d"
 msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅΠÎÏÍÅÒ %d"
 
-#: src/reader.c:1814
+#: src/reader.c:1847
 #, c-format
 msgid "the start symbol %s is undefined"
 msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
 
-#: src/reader.c:1816
+#: src/reader.c:1849
 #, c-format
 msgid "the start symbol %s is a token"
 msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
index 474e324f14fe442b3a4d29b24bb4649294cb595c..62859b2724af262a4b5dd358dcb313ca6a51a150 100644 (file)
@@ -151,7 +151,7 @@ int yynerrs;
 #endif  /* not YYPURE */
 
 
-#if YYDEBUG != 0
+#if YYDEBUG
 int yydebug;                   /*  nonzero means print parse trace     */
 
   /* [The following comment makes no sense to me.  Could someone
@@ -470,16 +470,20 @@ yynewstate:
     {
       yychar1 = YYTRANSLATE(yychar);
 
+#if YYDEBUG
+     /* We have to keep this `#if YYDEBUG', since we use variables
+       which are defined only if `YYDEBUG' is set.  */
       if (yydebug)
        {
          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise meaning
-            of a token, for further debugging info.  */
+         /* Give the individual parser a way to print the precise
+            meaning of a token, for further debugging info.  */
 # ifdef YYPRINT
          YYPRINT (stderr, yychar, yylval);
 # endif
          fprintf (stderr, ")\n");
        }
+#endif
     }
 
   yyn += yychar1;
@@ -509,9 +513,10 @@ yynewstate:
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
+#if YYDEBUG
   if (yydebug)
     fprintf (stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
+#endif
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -678,11 +683,11 @@ yyerrlab1:   /* here on error raised explicitly by an action */
       /* return failure if at end of input */
       if (yychar == YYEOF)
        YYABORT;
-
+#if YYDEBUG
       if (yydebug)
        fprintf (stderr, "Discarding token %d (%s).\n",
                 yychar, yytname[yychar1]);
-
+#endif
       yychar = YYEMPTY;
     }
 
index 474e324f14fe442b3a4d29b24bb4649294cb595c..62859b2724af262a4b5dd358dcb313ca6a51a150 100644 (file)
@@ -151,7 +151,7 @@ int yynerrs;
 #endif  /* not YYPURE */
 
 
-#if YYDEBUG != 0
+#if YYDEBUG
 int yydebug;                   /*  nonzero means print parse trace     */
 
   /* [The following comment makes no sense to me.  Could someone
@@ -470,16 +470,20 @@ yynewstate:
     {
       yychar1 = YYTRANSLATE(yychar);
 
+#if YYDEBUG
+     /* We have to keep this `#if YYDEBUG', since we use variables
+       which are defined only if `YYDEBUG' is set.  */
       if (yydebug)
        {
          fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
-         /* Give the individual parser a way to print the precise meaning
-            of a token, for further debugging info.  */
+         /* Give the individual parser a way to print the precise
+            meaning of a token, for further debugging info.  */
 # ifdef YYPRINT
          YYPRINT (stderr, yychar, yylval);
 # endif
          fprintf (stderr, ")\n");
        }
+#endif
     }
 
   yyn += yychar1;
@@ -509,9 +513,10 @@ yynewstate:
     YYACCEPT;
 
   /* Shift the lookahead token.  */
-
+#if YYDEBUG
   if (yydebug)
     fprintf (stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
+#endif
 
   /* Discard the token being shifted unless it is eof.  */
   if (yychar != YYEOF)
@@ -678,11 +683,11 @@ yyerrlab1:   /* here on error raised explicitly by an action */
       /* return failure if at end of input */
       if (yychar == YYEOF)
        YYABORT;
-
+#if YYDEBUG
       if (yydebug)
        fprintf (stderr, "Discarding token %d (%s).\n",
                 yychar, yytname[yychar1]);
-
+#endif
       yychar = YYEMPTY;
     }
 
index 10f48f986294f1e8ce09d604f90ffc4ebbe2798e..0149ae60c5b72fc70475ae7716a4ac4191b9fb80 100644 (file)
@@ -361,8 +361,10 @@ openfiles (void)
 
 
 
-/* open the output files needed only for the semantic parser.
-This is done when %semantic_parser is seen in the declarations section.  */
+/*--------------------------------------------------------------------.
+| Open the output files needed only for the semantic parser.  This    |
+| is done when %semantic_parser is seen in the declarations section.  |
+`--------------------------------------------------------------------*/
 
 void
 open_extra_files (void)
index 232e0b0cb8b233788aae1caf1d7159bc2f4c90ce..0d5e71fbc436336ad6ee1a4ca841dfc8fd726720 100644 (file)
@@ -117,7 +117,6 @@ static void record_rule_line PARAMS((void));
 static void packsymbols PARAMS((void));
 static void output_token_defines PARAMS((FILE *));
 static void packgram PARAMS((void));
-static int read_signed_integer PARAMS((FILE *));
 
 #if 0
 static int get_type PARAMS((void));
@@ -146,6 +145,10 @@ static bucket *undeftoken;
 /* Nonzero if any action or guard uses the @n construct.  */
 static int yylsp_needed;
 
+\f
+/*===================\
+| Low level lexing.  |
+\===================*/
 
 static void
 skip_to_char (int target)
@@ -157,15 +160,45 @@ skip_to_char (int target)
     complain (_("   Skipping to next %c"), target);
 
   do
-    c = skip_white_space();
+    c = skip_white_space ();
   while (c != target && c != EOF);
   if (c != EOF)
-    ungetc(c, finput);
+    ungetc (c, finput);
 }
 
 
-/* Dump the string from FIN to FOUT.  MATCH is the delimiter of
-   the string (either ' or ").  */
+/*---------------------------------------------------------.
+| Read a signed integer from STREAM and return its value.  |
+`---------------------------------------------------------*/
+
+static inline int
+read_signed_integer (FILE *stream)
+{
+  register int c = getc (stream);
+  register int sign = 1;
+  register int n = 0;
+
+  if (c == '-')
+    {
+      c = getc (stream);
+      sign = -1;
+    }
+
+  while (isdigit (c))
+    {
+      n = 10 * n + (c - '0');
+      c = getc (stream);
+    }
+
+  ungetc (c, stream);
+
+  return sign * n;
+}
+\f
+/*-------------------------------------------------------------------.
+| Dump the string from FINPUT to FOUTPUT.  MATCH is the delimiter of |
+| the string (either ' or ").                                        |
+`-------------------------------------------------------------------*/
 
 static inline void
 copy_string (FILE *fin, FILE *fout, int match)
@@ -350,7 +383,7 @@ reader (void)
   /* Write closing delimiters for actions and guards.  */
   output_trailers ();
   if (yylsp_needed)
-    fprintf ("#define YYLSP_NEEDED\n\n", ftable);
+    fputs ("#define YYLSP_NEEDED\n\n", ftable);
   /* Assign the symbols their symbol numbers.  Write #defines for the
      token symbols into FDEFINES if requested.  */
   packsymbols ();
@@ -1950,29 +1983,3 @@ packgram (void)
 
   ritem[itemno] = 0;
 }
-\f
-/* Read a signed integer from STREAM and return its value.  */
-
-static int
-read_signed_integer (FILE *stream)
-{
-  register int c = getc(stream);
-  register int sign = 1;
-  register int n;
-
-  if (c == '-')
-    {
-      c = getc(stream);
-      sign = -1;
-    }
-  n = 0;
-  while (isdigit(c))
-    {
-      n = 10*n + (c - '0');
-      c = getc(stream);
-    }
-
-  ungetc(c, stream);
-
-  return n * sign;
-}
index 3ea9fe3494e8e76c8dea3ac102c3814c04f07172..9560ecd124cdd9085f40f467fce4b21cdc888d59 100644 (file)
@@ -21,7 +21,7 @@
 # Distribute the testsuite since GNU M4 is needed to build it.
 noinst_SCRIPTS = testsuite
 
-SUITE =
+SUITE = calc.m4
 
 EXTRA_DIST = atgeneral.m4 suite.m4 $(SUITE)
 
index 0c6c4beb9f4bdd269b479acc51d4a6da42772bea..3c52256d5540df9c2a909293a9e826230a6fcc38 100644 (file)
 # This debugging script has been automatically generated from `make check'.
 # Call it with `--help' to get a quick usage summary.
 
-at_package=@PACKAGE@
-at_version=@VERSION@
+at_package='@PACKAGE@'
+at_version='@VERSION@'
 # Snippet )1
 # Snippet (2
-at_n=@ECHO_N@
+at_n='@ECHO_N@'
 at_c='@ECHO_C@'
 test -f atlocal && . ./atlocal
 
@@ -71,12 +71,24 @@ top_srcdir=@top_srcdir@
 # Use absolute file notations, as the test might change directories.
 at_srcdir=`cd @srcdir@ && pwd`
 at_top_srcdir=`cd @top_srcdir@ && pwd`
+at_builddir=`pwd`
+at_top_builddir=`cd .. && pwd`
 if test -n "@AT_TESTPATH@"; then
   export PATH; PATH=`pwd`:`cd @AT_TESTPATH@ && pwd`:$PATH
 else
   export PATH; PATH=`pwd`:$PATH
 fi
 
-# We need GNU m4.
-M4=@M4@
+# We need GNU M4.
+M4='@M4@'
+
+# We need a C compiler.
+CC='@CC@'
+CFLAGS='@CFLAGS@'
+
+# We want to use the files shipped with Bison.
+BISON_SIMPLE=$at_top_builddir/src/bison.simple
+export BISON_SIMPLE
+BISON_HAIRY=$at_top_builddir/src/bison.hairy
+export BISON_HAIRY
 # Snippet )2
diff --git a/tests/calc.m4 b/tests/calc.m4
new file mode 100644 (file)
index 0000000..9b57a85
--- /dev/null
@@ -0,0 +1,166 @@
+#                                                        -*- Autoconf -*-
+
+cat <<EOF
+
+Simple Calculator.
+
+EOF
+
+## ---------------------------------------------------- ##
+## Compile the grammar described in the documentation.  ##
+## ---------------------------------------------------- ##
+
+# We use integers to avoid dependencies upon the precision of doubles.
+AT_SETUP(Compiling a grammar)
+
+AT_DATA([calc.y],
+[[/* Infix notation calculator--calc */
+
+%{
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#define YYSTYPE int
+
+static int power (int base, int exponent);
+static int read_signed_integer (FILE *stream);
+extern void perror (const char *s);
+%}
+
+/* BISON Declarations */
+%token NUM
+%left '-' '+'
+%left '*' '/'
+%left NEG     /* negation--unary minus */
+%right '^'    /* exponentiation        */
+
+/* Grammar follows */
+%%
+input:    /* empty string */
+        | input line
+;
+
+line:     '\n'
+        | exp '\n'  { printf ("%d", $1);     }
+;
+
+exp:      NUM                { $$ = $1;             }
+        | exp '+' exp        { $$ = $1 + $3;        }
+        | exp '-' exp        { $$ = $1 - $3;        }
+        | exp '*' exp        { $$ = $1 * $3;        }
+        | exp '/' exp        { $$ = $1 / $3;        }
+        | '-' exp  %prec NEG { $$ = -$2;            }
+        | exp '^' exp        { $$ = power ($1, $3); }
+        | '(' exp ')'        { $$ = $2;             }
+;
+%%
+int
+main (int argn, const char **argv)
+{
+  if (argn == 2)
+    stdin = fopen (argv[1], "r");
+  if (!stdin)
+    {
+      perror (argv[1]);
+      exit (1);
+    }
+  yyparse ();
+  return 0;
+}
+
+int
+yyerror (const char *s)
+{
+  fprintf (stderr, "%s\n", s);
+}
+
+static int
+read_signed_integer (FILE *stream)
+{
+  int c = getc (stream);
+  int sign = 1;
+  int n = 0;
+
+  if (c == '-')
+    {
+      c = getc (stream);
+      sign = -1;
+    }
+
+  while (isdigit (c))
+    {
+      n = 10 * n + (c - '0');
+      c = getc (stream);
+    }
+
+  ungetc (c, stream);
+
+  return sign * n;
+}
+
+/*---------------------------------------------------------------.
+| Lexical analyzer returns an integer on the stack and the token |
+| NUM, or the ASCII character read if not a number.  Skips all   |
+| blanks and tabs, returns 0 for EOF.                            |
+`---------------------------------------------------------------*/
+
+int
+yylex ()
+{
+  int c;
+
+  /* Skip white space.  */
+  while ((c = getchar ()) == ' ' || c == '\t')
+    ;
+  /* process numbers   */
+  if (c == '.' || isdigit (c))
+    {
+      ungetc (c, stdin);
+      yylval = read_signed_integer (stdin);
+      return NUM;
+    }
+  /* Return end-of-file.  */
+  if (c == EOF)
+    return 0;
+  /* Return single chars. */
+  return c;
+}
+
+static int
+power (int base, int exponent)
+{
+  int res = 1;
+  if (exponent < 0)
+    exit (1);
+  for (/* Niente */; exponent; --exponent)
+    res *= base;
+  return res;
+}
+]])
+
+# Specify the output files to avoid problems on different file systems.
+AT_CHECK([bison calc.y -o calc.c], 0, [], [])
+AT_CHECK([$CC $CFLAGS calc.c -o calc], 0, [], [])
+
+# AT_CHECK_CALC(INPUT, OUTPUT)
+# ----------------------------
+# Run `calc' on INPUT, and expect OUTPUT.
+AT_DEFINE([AT_CHECK_CALC],
+[AT_CHECK([echo "$1" | calc], 0, [$2], [])])
+
+# Test the priorities.
+AT_CHECK_CALC([1 + 2 * 3],   [7])
+AT_CHECK_CALC([1 + 2 * -3], [-5])
+
+AT_CHECK_CALC([-1^2],  [-1])
+AT_CHECK_CALC([(-1)^2], [1])
+
+AT_CHECK_CALC([---1], [-1])
+
+AT_CHECK_CALC([1 - 2 - 3],  [-4])
+AT_CHECK_CALC([1 - (2 - 3)], [2])
+
+AT_CHECK_CALC([2^2^3],  [256])
+AT_CHECK_CALC([(2^2)^3], [64])
+
+AT_CLEANUP(calc calc.c)
index 88905df9d689cd7fffb9e1f0abec5a8d6fc6302e..61c22e5b5af17fef0a7b6e1173d2b303e0a70498 100644 (file)
@@ -2,4 +2,6 @@
 # Validation suite for Bison.
 # Copyright (C) 2000 Free Software Foundation, Inc.
 
-AT_INIT(bison)
+AT_INIT([bison])
+
+AT_INCLUDE([calc.m4])