* src/files.c (strsuffix): New.

(stringappend): Be just like strcat but allocate.
(base_names): Eve out from open_files.
Try to simplify the rather hairy computation of base_name and
short_base_name.
(open_files): Use it.
* tests/suite.at (Checking output file names): New test.
This commit is contained in:
Akim Demaille
2000-12-19 18:14:35 +00:00
parent 573c1d9ff8
commit 19c50364f3
11 changed files with 339 additions and 272 deletions

View File

@@ -1,3 +1,13 @@
2000-12-19 Akim Demaille <akim@epita.fr>
* src/files.c (strsuffix): New.
(stringappend): Be just like strcat but allocate.
(base_names): Eve out from open_files.
Try to simplify the rather hairy computation of base_name and
short_base_name.
(open_files): Use it.
* tests/suite.at (Checking output file names): New test.
2000-12-19 Akim Demaille <akim@epita.fr> 2000-12-19 Akim Demaille <akim@epita.fr>
* src/system.h (obstack_grow_literal_string): Rename as... * src/system.h (obstack_grow_literal_string): Rename as...

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n" "PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
"Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n" "Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
"Language-Team: German <de@li.org>\n" "Language-Team: German <de@li.org>\n"
@@ -257,7 +257,7 @@ msgstr "interner Fehler, %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Führe »set_nullable« aus" msgstr "Führe »set_nullable« aus"
#: src/output.c:1002 #: src/output.c:990
#, fuzzy, c-format #, fuzzy, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "maximale Tabellengröße (%s) überschritten" msgstr "maximale Tabellengröße (%s) überschritten"
@@ -410,7 +410,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "Symbol %s noch einmal definiert" msgstr "Symbol %s noch einmal definiert"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "erneute Deklaration des Typs für %s" msgstr "erneute Deklaration des Typs für %s"
@@ -425,7 +425,7 @@ msgstr "
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "mehr als eine %start Deklaration" msgstr "mehr als eine %start Deklaration"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "ungültige %start Deklaration" msgstr "ungültige %start Deklaration"
@@ -454,7 +454,7 @@ msgstr "unzul
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "unerwartetes Symbol: %s" msgstr "unerwartetes Symbol: %s"
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "»{« hat kein Gegenstück" msgstr "»{« hat kein Gegenstück"
@@ -474,105 +474,105 @@ msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "hier wird eine Zeichenkette erwartet, nicht %s" msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "unbekannt: %s" msgstr "unbekannt: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "keine Eingabe-Grammatik" msgstr "keine Eingabe-Grammatik"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "unbekanntes Zeichen: %s" msgstr "unbekanntes Zeichen: %s"
#: src/reader.c:1199 #: src/reader.c:1196
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "unbeendeter %%guard Fall" msgstr "unbeendeter %%guard Fall"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" msgstr ""
"falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon " "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
"gefolgt" "gefolgt"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an" msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "Regel für %s vorhanden, welches aber ein Token ist" msgstr "Regel für %s vorhanden, welches aber ein Token ist"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "zwei @prec Anweisungen nacheinander" msgstr "zwei @prec Anweisungen nacheinander"
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "" msgstr ""
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben" "%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Zwei Aktionen am Ende einer Regel" msgstr "Zwei Aktionen am Ende einer Regel"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion" msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion" msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ungültige Eingabe: %s" msgstr "ungültige Eingabe: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s" msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "Eingabegrammatik enthält keine Regeln" msgstr "Eingabegrammatik enthält keine Regeln"
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine " "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
"Regel" "Regel"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich" msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich" msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1786 #: src/reader.c:1783
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "Token %s und %s haben die selbe nummer %s" msgstr "Token %s und %s haben die selbe nummer %s"
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "das Startsymbol %s ist undefiniert" msgstr "das Startsymbol %s ist undefiniert"
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "das Startsymbol %s ist ein Token" msgstr "das Startsymbol %s ist ein Token"

View File

@@ -30,7 +30,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.25\n" "Project-Id-Version: GNU bison 1.25\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 1998-09-21 10:19+0200\n" "PO-Revision-Date: 1998-09-21 10:19+0200\n"
"Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n" "Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
"Language-Team: Spanish <es@li.org>\n" "Language-Team: Spanish <es@li.org>\n"
@@ -323,7 +323,7 @@ msgstr "Entrando set_nullable"
# en inglés era así, pero quizás en español sea mejor como dices # en inglés era así, pero quizás en español sea mejor como dices
# ngp # ngp
# #
#: src/output.c:1002 #: src/output.c:990
#, fuzzy, c-format #, fuzzy, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "excedido el tamaño máximo de la tabla (%s)" msgstr "excedido el tamaño máximo de la tabla (%s)"
@@ -480,7 +480,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "redefinido el símbolo %s" msgstr "redefinido el símbolo %s"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "redeclaración del tipo de %s" msgstr "redeclaración del tipo de %s"
@@ -495,7 +495,7 @@ msgstr "`%s' no es v
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "múltiples declaraciones de %start" msgstr "múltiples declaraciones de %start"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "declaración de %start no válida" msgstr "declaración de %start no válida"
@@ -534,7 +534,7 @@ msgid "unexpected item: %s"
msgstr "ítem inesperado: %s" msgstr "ítem inesperado: %s"
# Cambio el orden y el sexo. Ahora está "en español". sv # Cambio el orden y el sexo. Ahora está "en español". sv
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "`{' desemparejada" msgstr "`{' desemparejada"
@@ -560,16 +560,16 @@ msgstr "no se reconoce el
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "se esperaba una cadena constante en lugar de %s" msgstr "se esperaba una cadena constante en lugar de %s"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "no reconocido: %s" msgstr "no reconocido: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "no hay gramática de entrada" msgstr "no hay gramática de entrada"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "carácter desconocido: %s" msgstr "carácter desconocido: %s"
@@ -578,93 +578,93 @@ msgstr "car
# mejor que `sin terminar' que me parece más "computerizado" - cll # mejor que `sin terminar' que me parece más "computerizado" - cll
# quizás un poco cacofónico lo de claúsula inconclusa - ngp # quizás un poco cacofónico lo de claúsula inconclusa - ngp
# #
#: src/reader.c:1199 #: src/reader.c:1196
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "cláusula %%guard sin terminar" msgstr "cláusula %%guard sin terminar"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "regla mal formada: el símbolo inicial no está seguido por :" msgstr "regla mal formada: el símbolo inicial no está seguido por :"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "la gramática comienza con una barra vertical" msgstr "la gramática comienza con una barra vertical"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "se ha dado una regla para %s, que es un terminal" msgstr "se ha dado una regla para %s, que es un terminal"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "dos @prec en una línea" msgstr "dos @prec en una línea"
# Insisto, el empleo de participios a secas me parece como hablar en # Insisto, el empleo de participios a secas me parece como hablar en
# indio. Por favor, permíteme que añada un "está" :) - cll # indio. Por favor, permíteme que añada un "está" :) - cll
# ok - ngp # ok - ngp
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard presente pero %%semantic_parser está sin especificar" msgstr "%%guard presente pero %%semantic_parser está sin especificar"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "dos acciones al final de una regla" msgstr "dos acciones al final de una regla"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto" msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" 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" msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "entrada no válida: %s" msgstr "entrada no válida: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "demasiados símbolos (terminales y no terminales); máximo %s" msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "no hay reglas en la gramática de entrada" msgstr "no hay reglas en la gramática de entrada"
# `token' se debe traducir como `literal' - cll # `token' se debe traducir como `literal' - cll
# en terminología de compiladores token es más un terminal - ngp # en terminología de compiladores token es más un terminal - ngp
# #
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas" "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s" msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s" msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1786 #: src/reader.c:1783
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "los terminales %s y %s tienen asignados ambos el número %s" msgstr "los terminales %s y %s tienen asignados ambos el número %s"
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "el símbolo de inicio (axioma) %s no está definido" msgstr "el símbolo de inicio (axioma) %s no está definido"
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "el símbolo de inicio (axioma) %s es un terminal" msgstr "el símbolo de inicio (axioma) %s es un terminal"

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 2000-04-11 22:19+02:00\n" "PO-Revision-Date: 2000-04-11 22:19+02:00\n"
"Last-Translator: Toomas Soome <tsoome@ut.ee>\n" "Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
"Language-Team: Estonian <et@li.org>\n" "Language-Team: Estonian <et@li.org>\n"
@@ -280,7 +280,7 @@ msgstr "%s: sisemine viga: %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Entering set_nullable" msgstr "Entering set_nullable"
#: src/output.c:1002 #: src/output.c:990
#, c-format #, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "ületati maksimaalset tabelisuurust (%d)" msgstr "ületati maksimaalset tabelisuurust (%d)"
@@ -433,7 +433,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "sümbol %s on uuesti defineeritud" msgstr "sümbol %s on uuesti defineeritud"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "%s tüübi uuesti deklareerimine" msgstr "%s tüübi uuesti deklareerimine"
@@ -448,7 +448,7 @@ msgstr "`%s' ei ole %s sees lubatud"
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "korduvad %start deklaratsioonid" msgstr "korduvad %start deklaratsioonid"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "vigane %start deklaratsioon" msgstr "vigane %start deklaratsioon"
@@ -476,7 +476,7 @@ msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ootamatu element: %s" msgstr "ootamatu element: %s"
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "puudub `{'" msgstr "puudub `{'"
@@ -496,102 +496,102 @@ msgstr "tundmatu element %s, eeldasin identifikaatorit"
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "eeldasin %s asemel sõnekonstanti" msgstr "eeldasin %s asemel sõnekonstanti"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "tundmatu: %s" msgstr "tundmatu: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "sisendgrammatikat pole" msgstr "sisendgrammatikat pole"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "tundmatu sümbol: %s" msgstr "tundmatu sümbol: %s"
#: src/reader.c:1199 #: src/reader.c:1196
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "lõpetamata %guard klausel" msgstr "lõpetamata %guard klausel"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit" msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "grammatika algab püstkriipsuga" msgstr "grammatika algab püstkriipsuga"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "%s jaoks on antud reegel, aga see on märk" msgstr "%s jaoks on antud reegel, aga see on märk"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "kaks @prec ühel real" msgstr "kaks @prec ühel real"
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%guard on määratud, aga %semantic_parser ei ole" msgstr "%guard on määratud, aga %semantic_parser ei ole"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "kaks tegevust ühe reegli lõpus" msgstr "kaks tegevust ühe reegli lõpus"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')" msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus" msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "vigane sisend: %s" msgstr "vigane sisend: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, c-format #, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d" msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "sisendgrammatikas pole reegleid" msgstr "sisendgrammatikas pole reegleid"
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad " "kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad "
"reeglid" "reeglid"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "%s ja %s omavad konfliktseid prioriteete" msgstr "%s ja %s omavad konfliktseid prioriteete"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid" msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid"
#: src/reader.c:1786 #: src/reader.c:1783
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "märkidele %s ja %s on mõlemale omistatud number %d" msgstr "märkidele %s ja %s on mõlemale omistatud number %d"
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "stardisümbol %s ei ole defineeritud" msgstr "stardisümbol %s ei ole defineeritud"
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "stardisümbol %s on märk" msgstr "stardisümbol %s on märk"

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 1996-03-19 20:05 EST\n" "PO-Revision-Date: 1996-03-19 20:05 EST\n"
"Last-Translator: Dominique Boucher <boucherd@IRO.UMontreal.CA>\n" "Last-Translator: Dominique Boucher <boucherd@IRO.UMontreal.CA>\n"
"Language-Team: French <fr@li.org>\n" "Language-Team: French <fr@li.org>\n"
@@ -263,7 +263,7 @@ msgstr "erreur interne, %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Entré dans set_nullable" msgstr "Entré dans set_nullable"
#: src/output.c:1002 #: src/output.c:990
#, fuzzy, c-format #, fuzzy, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "taille maximum des tables (%s) dépassée" msgstr "taille maximum des tables (%s) dépassée"
@@ -416,7 +416,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbole %s redéfini" msgstr "symbole %s redéfini"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "redéclaration du type de %s" msgstr "redéclaration du type de %s"
@@ -431,7 +431,7 @@ msgstr "`%s' n'est pas valide dans %s"
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "multiples déclarations %start" msgstr "multiples déclarations %start"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "la déclaration %start n'est pas valide" msgstr "la déclaration %start n'est pas valide"
@@ -461,7 +461,7 @@ msgstr ""
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "item inattendu: %s" msgstr "item inattendu: %s"
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "accolade ouvrante `{' non appariée" msgstr "accolade ouvrante `{' non appariée"
@@ -481,102 +481,102 @@ msgstr "item %s non reconnu, un identificateur est attendu"
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "chaîne de caractères constante attendue plutôt que %s" msgstr "chaîne de caractères constante attendue plutôt que %s"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "non reconnu: %s" msgstr "non reconnu: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "aucune grammaire en entrée" msgstr "aucune grammaire en entrée"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "caractère inconnu: %s" msgstr "caractère inconnu: %s"
#: src/reader.c:1199 #: src/reader.c:1196
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "clause %%guard non terminée" msgstr "clause %%guard non terminée"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'" msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "la grammaire débute par une barre verticale" msgstr "la grammaire débute par une barre verticale"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "la règle pour %s, qui est un terminal" msgstr "la règle pour %s, qui est un terminal"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "deux @prec de suite" msgstr "deux @prec de suite"
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié" msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "deux actions à la fin d'une même règle" msgstr "deux actions à la fin d'une même règle"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "conflit de type (`%s' `%s') pour l'action par défaut" msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "règle vide pour une catégorie typée et aucune action" msgstr "règle vide pour une catégorie typée et aucune action"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "entrée non valide: %s" msgstr "entrée non valide: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "trop de symboles (terminaux et catégories); maximum de %s" msgstr "trop de symboles (terminaux et catégories); maximum de %s"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "la grammaire n'a pas de règles" msgstr "la grammaire n'a pas de règles"
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas " "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
"de règle" "de règle"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit" msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "les valeurs d'association de %s et %s entrent en conflit" msgstr "les valeurs d'association de %s et %s entrent en conflit"
#: src/reader.c:1786 #: src/reader.c:1783
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "les terminaux %s et %s se sont vus assigner le nombre %s" msgstr "les terminaux %s et %s se sont vus assigner le nombre %s"
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "le symbole de départ %s n'est pas défini" msgstr "le symbole de départ %s n'est pas défini"
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "le symbole de départ %s est un terminal" msgstr "le symbole de départ %s est un terminal"

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.28\n" "Project-Id-Version: GNU bison 1.28\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 1999-09-28 21:10+0900\n" "PO-Revision-Date: 1999-09-28 21:10+0900\n"
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n" "Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n" "Language-Team: Japanese <ja@li.org>\n"
@@ -262,7 +262,7 @@ msgstr "%s:
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "set_nullable に入ります" msgstr "set_nullable に入ります"
#: src/output.c:1002 #: src/output.c:990
#, fuzzy, c-format #, fuzzy, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "最大テーブルサイズ (%s) を超えました" msgstr "最大テーブルサイズ (%s) を超えました"
@@ -415,7 +415,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "シンボル %s が再定義されました" msgstr "シンボル %s が再定義されました"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "%s の型が再定義されました" msgstr "%s の型が再定義されました"
@@ -430,7 +430,7 @@ msgstr "%2$s
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "複数の %start が宣言されました" msgstr "複数の %start が宣言されました"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "無効な %start が宣言されました" msgstr "無効な %start が宣言されました"
@@ -459,7 +459,7 @@ msgstr "̵
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "予期せぬアイテム: %s" msgstr "予期せぬアイテム: %s"
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "対応のない `{' です" msgstr "対応のない `{' です"
@@ -479,102 +479,102 @@ msgstr "ǧ
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "ここでは %s ではなく文字列定数が期待されます" msgstr "ここでは %s ではなく文字列定数が期待されます"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "認識できない: %s" msgstr "認識できない: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "文法の入力が無い" msgstr "文法の入力が無い"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "未知の文字: %s" msgstr "未知の文字: %s"
#: src/reader.c:1199 #: src/reader.c:1196
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "閉じられていない %%guard 節です" msgstr "閉じられていない %%guard 節です"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません" msgstr "邪悪な規則: 初期化シンボルにコロン (:) が続いていません"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "文法は縦棒 (|) で始めます" msgstr "文法は縦棒 (|) で始めます"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "%s に規則が与えられ、それはトークンとなります" msgstr "%s に規則が与えられ、それはトークンとなります"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "@prec のもの二つが同列になっています" msgstr "@prec のもの二つが同列になっています"
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard がありますが %%semantic_parser が指定されていません" msgstr "%%guard がありますが %%semantic_parser が指定されていません"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "一つの規則の終りに二つの動作を指定しています" msgstr "一つの規則の終りに二つの動作を指定しています"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "初期状態の動作では型 (`%s' `%s') が衝突します" msgstr "初期状態の動作では型 (`%s' `%s') が衝突します"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません" msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "無効な入力: %s" msgstr "無効な入力: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "シンボルが多すぎます (トークンと非終端アイテム) -- 最大 %s" msgstr "シンボルが多すぎます (トークンと非終端アイテム) -- 最大 %s"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "入力した文法に規則が定義されていません" msgstr "入力した文法に規則が定義されていません"
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"シンボル %s " "シンボル %s "
"が使われていますが、トークンとして定義されておらず、規則を持ちません" "が使われていますが、トークンとして定義されておらず、規則を持ちません"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "先行している %s と %s で競合が生じています" msgstr "先行している %s と %s で競合が生じています"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "非結合値 %s と %s で競合が生じています" msgstr "非結合値 %s と %s で競合が生じています"
#: src/reader.c:1786 #: src/reader.c:1783
#, fuzzy, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "トークン %s と %s の双方が番号 %s に割り当てられました" msgstr "トークン %s と %s の双方が番号 %s に割り当てられました"
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "開始シンボル %s は定義されていません" msgstr "開始シンボル %s は定義されていません"
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "開始シンボル %s はトークンです" msgstr "開始シンボル %s はトークンです"

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n" "PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
"Last-Translator: Erick Branderhorst <branderh@debian.org>\n" "Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
"Language-Team: Dutch <nl@li.org>\n" "Language-Team: Dutch <nl@li.org>\n"
@@ -262,7 +262,7 @@ msgstr "interne fout, %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Inkomende set nullable" msgstr "Inkomende set nullable"
#: src/output.c:1002 #: src/output.c:990
#, fuzzy, c-format #, fuzzy, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "maximale tabel grootte (%s) overschreden" msgstr "maximale tabel grootte (%s) overschreden"
@@ -415,7 +415,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbool %s opnieuw gedefinieerd" msgstr "symbool %s opnieuw gedefinieerd"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "type herdeclaratie voor %s" msgstr "type herdeclaratie voor %s"
@@ -430,7 +430,7 @@ msgstr "`%s' is onjuist in %s"
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "meerdere %start declaraties" msgstr "meerdere %start declaraties"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "onjuiste %start declaratie" msgstr "onjuiste %start declaratie"
@@ -459,7 +459,7 @@ msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "onbekend item: %s" msgstr "onbekend item: %s"
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "niet overeenkomstige `{'" msgstr "niet overeenkomstige `{'"
@@ -479,103 +479,103 @@ msgstr "onbekend item %s, verwacht een identifier"
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "verwacht string constante in plaats van %s" msgstr "verwacht string constante in plaats van %s"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "onbekend: %s" msgstr "onbekend: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "geen invoer grammatica" msgstr "geen invoer grammatica"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "onbekend karakter: %s" msgstr "onbekend karakter: %s"
#: src/reader.c:1199 #: src/reader.c:1196
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "niet getermineerde %%guard voorwaarde" msgstr "niet getermineerde %%guard voorwaarde"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" msgstr ""
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt" "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "grammatica start met een verticale bar" msgstr "grammatica start met een verticale bar"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "regel geven voor %s, welke een teken is" msgstr "regel geven voor %s, welke een teken is"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "twee @prec's in een regel" msgstr "twee @prec's in een regel"
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd" msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "twee akties aan het einde van een regel" msgstr "twee akties aan het einde van een regel"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "type clash (`%s' `%s') bij standaard aktie" msgstr "type clash (`%s' `%s') bij standaard aktie"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "lege regel voor getypte niet terminal, en geen aktie" msgstr "lege regel voor getypte niet terminal, en geen aktie"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ongeldige invoer: %s" msgstr "ongeldige invoer: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, fuzzy, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s" msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "geen regels voor invoer grammatica" msgstr "geen regels voor invoer grammatica"
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n" "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
"heeft geen regels" "heeft geen regels"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "conflictuerende precedentein voor %s en %s" msgstr "conflictuerende precedentein voor %s en %s"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "conflictuerende associatieve waarden voor %s en %s" msgstr "conflictuerende associatieve waarden voor %s en %s"
#: src/reader.c:1786 #: src/reader.c:1783
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "" msgstr ""
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "" msgstr ""
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "het start symbool %s is een token" msgstr "het start symbool %s is een token"

View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.28a\n" "Project-Id-Version: bison 1.28a\n"
"POT-Creation-Date: 2000-12-14 11:46+0100\n" "POT-Creation-Date: 2000-12-19 15:49+0100\n"
"PO-Revision-Date: 2000-04-12 13:16+04:00\n" "PO-Revision-Date: 2000-04-12 13:16+04:00\n"
"Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n" "Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
"Language-Team: Russian <ru@li.org>\n" "Language-Team: Russian <ru@li.org>\n"
@@ -282,7 +282,7 @@ msgstr "%s:
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "÷ÈÏÄ × set_nullable" msgstr "÷ÈÏÄ × set_nullable"
#: src/output.c:1002 #: src/output.c:990
#, c-format #, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)" msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
@@ -435,7 +435,7 @@ msgstr ""
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
#: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1296 #: src/reader.c:592 src/reader.c:671 src/reader.c:732 src/reader.c:1293
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
@@ -450,7 +450,7 @@ msgstr "`%s'
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start" msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start"
#: src/reader.c:621 src/reader.c:1274 #: src/reader.c:621 src/reader.c:1271
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start"
@@ -478,7 +478,7 @@ msgstr "
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
#: src/reader.c:817 src/reader.c:1104 src/reader.c:1176 #: src/reader.c:817 src/reader.c:1102 src/reader.c:1173
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "ÎÅÐÁÒÎÁÑ `{'" msgstr "ÎÅÐÁÒÎÁÑ `{'"
@@ -498,101 +498,101 @@ msgstr "
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ" msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
#: src/reader.c:1020 #: src/reader.c:1018
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
#: src/reader.c:1025 #: src/reader.c:1023
msgid "no input grammar" msgid "no input grammar"
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ" msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
#: src/reader.c:1030 #: src/reader.c:1028
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
#: src/reader.c:1199 #: src/reader.c:1196
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
#: src/reader.c:1361 #: src/reader.c:1358
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ" msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
#: src/reader.c:1368 #: src/reader.c:1365
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ" msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
#: src/reader.c:1399 #: src/reader.c:1396
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
#: src/reader.c:1501 #: src/reader.c:1498
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "Ä×Á @prec ÐÏÄÒÑÄ" msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
#: src/reader.c:1509 #: src/reader.c:1506
#, fuzzy #, fuzzy
msgid "%%guard present but %%semantic_parser not specified" msgid "%%guard present but %%semantic_parser not specified"
msgstr "%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %semantic_parser ÎÅ ÚÁÄÁÎ" msgstr "%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %semantic_parser ÎÅ ÚÁÄÁÎ"
#: src/reader.c:1518 #: src/reader.c:1515
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ" msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
#: src/reader.c:1532 #: src/reader.c:1529
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
#: src/reader.c:1538 #: src/reader.c:1535
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "" msgstr ""
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ" "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
#: src/reader.c:1582 #: src/reader.c:1579
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s" msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
#: src/reader.c:1590 #: src/reader.c:1587
#, c-format #, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %d" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
#: src/reader.c:1593 #: src/reader.c:1590
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
#: src/reader.c:1617 #: src/reader.c:1614
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ" msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
#: src/reader.c:1723 #: src/reader.c:1720
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s" msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
#: src/reader.c:1735 #: src/reader.c:1732
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s" msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
#: src/reader.c:1786 #: src/reader.c:1783
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %d" msgid "tokens %s and %s both assigned number %d"
msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d" msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d"
#: src/reader.c:1799 #: src/reader.c:1796
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
#: src/reader.c:1801 #: src/reader.c:1798
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"

View File

@@ -47,35 +47,35 @@ static char *defsfile;
static char *tabfile; static char *tabfile;
static char *actfile; static char *actfile;
/*--------------------------.
| Is SUFFIX ending STRING? |
`--------------------------*/
static int
strsuffix (const char *string, const char *suffix)
{
size_t string_len = strlen (string);
size_t suffix_len = strlen (suffix);
if (suffix_len <= string_len)
return !strcmp (string + string_len - suffix_len, suffix);
else
return 0;
}
/*-----------------------------------------------------------------. /*-----------------------------------------------------------------.
| Return a newly allocated string composed of the concatenation of | | Return a newly allocated string composed of the concatenation of |
| the END1 first chars of STRING1, and STRING2. | | STRING1, and STRING2. |
`-----------------------------------------------------------------*/ `-----------------------------------------------------------------*/
static char * static char *
stringappend (const char *string1, int end1, const char *string2) stringappend (const char *string1, const char *string2)
{ {
char *res; size_t len = strlen (string1) + strlen (string2);
char *res = XMALLOC (char, len + 1);
char *cp; char *cp;
const char *cp1; cp = stpcpy (res, string1);
int i; cp = stpcpy (cp, string2);
cp1 = string2;
i = 0;
while (*cp1++)
i++;
res = XCALLOC (char, i + end1 + 1);
cp = res;
cp1 = string1;
for (i = 0; i < end1; i++)
*cp++ = *cp1++;
cp1 = string2;
while ((*cp++ = *cp1++))
;
return res; return res;
} }
@@ -157,6 +157,87 @@ skeleton_find (const char *envvar, const char *skeleton)
} }
/*----------------------------------------.
| Compute BASE_NAME and SHORT_BASE_NAME. |
`----------------------------------------*/
/* FIXME: Should use xstrndup. */
static void
base_names (char **base_name, char **short_base_name)
{
size_t base_length;
size_t short_base_length;
/* If --output=foo.c was specified (SPEC_OUTFILE == foo.c),
BASE_NAME and SHORT_BASE_NAME are `foo'.
If --output=foo.tab.c was specified, BASE_NAME is `foo.tab' and
SHORT_BASE_NAME is `foo'.
The precise -o name will be used for FTABLE. For other output
files, remove the ".c" or ".tab.c" suffix. */
if (spec_outfile)
{
#ifdef MSDOS
strlwr (spec_outfile);
#endif /* MSDOS */
/* BASE_LENGTH includes ".tab" but not ".c". */
base_length = strlen (spec_outfile);
if (strsuffix (spec_outfile, ".c"))
base_length -= 2;
/* SHORT_BASE_LENGTH includes neither ".tab" nor ".c". */
short_base_length = base_length;
if (strsuffix (spec_outfile, ".tab") || strsuffix (spec_outfile, "_tab"))
short_base_length -= 4;
*base_name = strndup (spec_outfile, base_length);
*short_base_name = strndup (spec_outfile, short_base_length);
return;
}
/* If --file-prefix=foo was specified, BASE_NAME and SHORT_BASE_NAME
are `foo'.
Construct names from it. */
if (spec_file_prefix)
{
#ifdef MSDOS
strlwr (spec_file_prefix);
#endif /* MSDOS */
*short_base_name = xstrdup (spec_file_prefix);
*base_name = XMALLOC (char,
strlen (*short_base_name) + strlen (EXT_TAB) + 1);
stpcpy (stpcpy (*base_name, *short_base_name), EXT_TAB);
return;
}
/* If neither -o nor --file-prefix were specified, and the input
file is foo.y, BASE_NAME is `foo.tab', and SHORT_BASE_NAME is
`foo'.
If --yacc is used, do as if the input file was `y.y'. */
{
const char *name_base = yacc_flag ? "y.y" : infile;
/* BASE_LENGTH gets length of BASE_NAME, sans ".y" suffix if any. */
base_length = strlen (name_base);
if (strsuffix (name_base, ".y"))
base_length -= 2;
short_base_length = base_length;
*short_base_name = strndup (name_base, short_base_length);
*base_name = XMALLOC (char,
strlen (*short_base_name) + strlen (EXT_TAB) + 1);
stpcpy (stpcpy (*base_name, *short_base_name), EXT_TAB);
return;
}
}
/*-----------------------------------------------------------------. /*-----------------------------------------------------------------.
| Open the input file. Look for the skeletons. Find the names of | | Open the input file. Look for the skeletons. Find the names of |
| the output files. Prepare the obstacks. | | the output files. Prepare the obstacks. |
@@ -165,63 +246,10 @@ skeleton_find (const char *envvar, const char *skeleton)
void void
open_files (void) open_files (void)
{ {
char *name_base; char *base_name;
int base_length; char *short_base_name;
int short_base_length;
if (spec_outfile) base_names (&base_name, &short_base_name);
{
/* -o was specified. The precise -o name will be used for FTABLE.
For other output files, remove the ".c" or ".tab.c" suffix. */
name_base = spec_outfile;
#ifdef MSDOS
strlwr (name_base);
#endif /* MSDOS */
/* BASE_LENGTH includes ".tab" but not ".c". */
base_length = strlen (name_base);
if (!strcmp (name_base + base_length - 2, ".c"))
base_length -= 2;
/* SHORT_BASE_LENGTH includes neither ".tab" nor ".c". */
short_base_length = base_length;
if (!strncmp (name_base + short_base_length - 4, ".tab", 4))
short_base_length -= 4;
else if (!strncmp (name_base + short_base_length - 4, "_tab", 4))
short_base_length -= 4;
}
else if (spec_file_prefix)
{
/* -b was specified. Construct names from it. */
/* SHORT_BASE_LENGTH includes neither ".tab" nor ".c". */
short_base_length = strlen (spec_file_prefix);
/* Count room for `.tab'. */
base_length = short_base_length + 4;
name_base = XMALLOC (char, base_length + 1);
/* Append `.tab'. */
strcpy (name_base, spec_file_prefix);
strcat (name_base, EXT_TAB);
#ifdef MSDOS
strlwr (name_base);
#endif /* MSDOS */
}
else
{
/* -o was not specified; compute output file name from input
or use y.tab.c, etc., if -y was specified. */
static char FIXED_NAME_BASE[] = "y.y";
name_base = yacc_flag ? FIXED_NAME_BASE : infile;
/* BASE_LENGTH gets length of NAME_BASE, sans ".y" suffix if any. */
base_length = strlen (name_base);
if (!strcmp (name_base + base_length - 2, ".y"))
base_length -= 2;
short_base_length = base_length;
name_base = stringappend (name_base, short_base_length, EXT_TAB);
base_length = short_base_length + 4;
}
finput = xfopen (infile, "r"); finput = xfopen (infile, "r");
@@ -229,29 +257,29 @@ open_files (void)
{ {
/* We used to use just .out if spec_name_prefix (-p) was used, /* We used to use just .out if spec_name_prefix (-p) was used,
but that conflicts with Posix. */ but that conflicts with Posix. */
outfile = stringappend (name_base, short_base_length, EXT_OUTPUT); outfile = stringappend (base_name, EXT_OUTPUT);
foutput = xfopen (outfile, "w"); foutput = xfopen (outfile, "w");
} }
if (no_parser_flag) if (no_parser_flag)
{ {
/* use permanent name for actions file */ /* use permanent name for actions file */
actfile = stringappend (name_base, short_base_length, ".act"); actfile = stringappend (short_base_name, ".act");
} }
if (defines_flag) if (defines_flag)
{ {
defsfile = stringappend (name_base, base_length, ".h"); defsfile = stringappend (base_name, ".h");
} }
/* These are opened by `done' or `open_extra_files', if at all */ /* These are opened by `done' or `open_extra_files', if at all */
if (spec_outfile) if (spec_outfile)
tabfile = spec_outfile; tabfile = spec_outfile;
else else
tabfile = stringappend (name_base, base_length, ".c"); tabfile = stringappend (base_name, ".c");
attrsfile = stringappend (name_base, short_base_length, EXT_STYPE_H); attrsfile = stringappend (short_base_name, EXT_STYPE_H);
guardfile = stringappend (name_base, short_base_length, EXT_GUARD_C); guardfile = stringappend (short_base_name, EXT_GUARD_C);
/* Initialize the obstacks. */ /* Initialize the obstacks. */
obstack_init (&action_obstack); obstack_init (&action_obstack);

View File

@@ -87,7 +87,7 @@ FILE *yyin;
static void static void
yyerror (const char *s) yyerror (const char *s)
{ {
#ifdef YYLSP_NEEDED #if YYLSP_NEEDED
fprintf (stderr, "%d.%d:%d.%d: ", fprintf (stderr, "%d.%d:%d.%d: ",
yylloc.first_line, yylloc.first_column, yylloc.first_line, yylloc.first_column,
yylloc.last_line, yylloc.last_column); yylloc.last_line, yylloc.last_column);
@@ -99,7 +99,7 @@ static int
yygetc () yygetc ()
{ {
int res = getc (yyin); int res = getc (yyin);
#ifdef YYLSP_NEEDED #if YYLSP_NEEDED
if (res == '\n') if (res == '\n')
{ {
yylloc.last_line++; yylloc.last_line++;
@@ -115,7 +115,7 @@ yygetc ()
static void static void
yyungetc (int c) yyungetc (int c)
{ {
#ifdef YYLSP_NEEDED #if YYLSP_NEEDED
/* Wrong when C == `\n'. */ /* Wrong when C == `\n'. */
yylloc.last_column--; yylloc.last_column--;
#endif #endif
@@ -159,7 +159,7 @@ yylex (void)
{ {
int c; int c;
#ifdef YYLSP_NEEDED #if YYLSP_NEEDED
yylloc.first_column = yylloc.last_column; yylloc.first_column = yylloc.last_column;
yylloc.first_line = yylloc.last_line; yylloc.first_line = yylloc.last_line;
#endif #endif
@@ -167,7 +167,7 @@ yylex (void)
/* Skip white space. */ /* Skip white space. */
while ((c = yygetc ()) == ' ' || c == '\t') while ((c = yygetc ()) == ' ' || c == '\t')
{ {
#ifdef YYLSP_NEEDED #if YYLSP_NEEDED
yylloc.first_column = yylloc.last_column; yylloc.first_column = yylloc.last_column;
yylloc.first_line = yylloc.last_line; yylloc.first_line = yylloc.last_line;
#endif #endif
@@ -217,7 +217,7 @@ main (int argn, const char **argv)
#if YYDEBUG #if YYDEBUG
yydebug = 1; yydebug = 1;
#endif #endif
#ifdef YYLSP_NEEDED #if YYLSP_NEEDED
yylloc.last_column = 0; yylloc.last_column = 0;
yylloc.last_line = 1; yylloc.last_line = 1;
#endif #endif

View File

@@ -1,4 +1,5 @@
#! /bin/sh #! /bin/sh
# -*- Autoconf -*-
# Validation suite for Bison. # Validation suite for Bison.
# Copyright 2000 Free Software Foundation, Inc. # Copyright 2000 Free Software Foundation, Inc.
@@ -6,3 +7,31 @@ AT_INIT([bison])
AT_INCLUDE([calc.at]) AT_INCLUDE([calc.at])
AT_INCLUDE([regression.at]) AT_INCLUDE([regression.at])
## ---------------------------- ##
## Checking output file names. ##
## ---------------------------- ##
AT_SETUP([Checking output file names.])
AT_DATA([foo.y],
[[%%
foo: {}
]])
# AT_CHECK_BISON_OUTPUT(FLAGS, EXPECTED-FILES-SORTED)
# ---------------------------------------------------
AT_DEFINE([AT_CHECK_BISON_OUTPUT],
[rm -rf $2
AT_CHECK([bison -dv foo.y $1], 0, ignore, ignore)
AT_CHECK([ls $2 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$2])
rm -f $2])
AT_CHECK_BISON_OUTPUT([], [foo.tab.c foo.tab.h foo.tab.output])
AT_CHECK_BISON_OUTPUT([-o foo.c], [foo.c foo.h foo.output])
AT_CHECK_BISON_OUTPUT([-o foo.tab.c], [foo.tab.c foo.tab.h foo.tab.output])
AT_CHECK_BISON_OUTPUT([-y], [y.tab.c y.tab.h y.tab.output])
AT_CHECK_BISON_OUTPUT([-b bar], [bar.tab.c bar.tab.h bar.tab.output])
AT_CLEANUP