Remove the last uses of mktemp and unlink/delete.

* src/files.c (fdefines, ftable): Removed.
(defines_ostack, table_obstack): New.
Adjust dependencies of the former into uses of the latter.
* src/output.c (output_short_or_char_table, output_short_table):
Convert to using obstacks.
* src/reader.c (copy_comment2): Accept one FILE * and two
obstacks.
(output_token_defines, reader_output_yylsp): Use obstacks.
* src/system.h (obstack_fgrow3): New.
This commit is contained in:
Akim Demaille
2000-11-02 13:38:12 +00:00
parent dd60faeca4
commit 896fe5c10a
14 changed files with 556 additions and 552 deletions

View File

@@ -1,3 +1,17 @@
2000-11-02 Akim Demaille <akim@epita.fr>
Remove the last uses of mktemp and unlink/delete.
* src/files.c (fdefines, ftable): Removed.
(defines_ostack, table_obstack): New.
Adjust dependencies of the former into uses of the latter.
* src/output.c (output_short_or_char_table, output_short_table):
Convert to using obstacks.
* src/reader.c (copy_comment2): Accept one FILE * and two
obstacks.
(output_token_defines, reader_output_yylsp): Use obstacks.
* src/system.h (obstack_fgrow3): New.
2000-11-01 Akim Demaille <akim@epita.fr> 2000-11-01 Akim Demaille <akim@epita.fr>
Change each use of `fattrs' into a use of `attrs_obstack'. Change each use of `fattrs' into a use of `attrs_obstack'.

100
po/de.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -208,7 +208,7 @@ msgstr ""
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert" msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "unbeendeter Kommentar" msgstr "unbeendeter Kommentar"
@@ -258,7 +258,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:983 #: src/output.c:1026
#, 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"
@@ -351,229 +351,229 @@ msgstr " auf der linken Seite:"
msgid " on right:" msgid " on right:"
msgstr " auf der rechten Seite:" msgstr " auf der rechten Seite:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Überspringe Zeichen bis zum nächsten \\n" msgstr " Überspringe Zeichen bis zum nächsten \\n"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Überspringe Zeichen bis zum nächten %c" msgstr " Überspringe Zeichen bis zum nächten %c"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "unzulässiger $ Wert" msgstr "unzulässiger $ Wert"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "unbeendete Zeichenkette am Ende der Datei" msgstr "unbeendete Zeichenkette am Ende der Datei"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "unbeendete Zeichenkette" msgstr "unbeendete Zeichenkette"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "@%s ist unzulässig" msgstr "@%s ist unzulässig"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ von »%s« hat keine deklarierten Wert" msgstr "$$ von »%s« hat keine deklarierten Wert"
#: src/reader.c:380 #: src/reader.c:439
#, fuzzy, c-format #, fuzzy, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "»%s« von »%s« hat keine deklarierten Wert" msgstr "»%s« von »%s« hat keine deklarierten Wert"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "unbeendete »%{« Definition" msgstr "unbeendete »%{« Definition"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "Symbol %s noch einmal definiert" msgstr "Symbol %s noch einmal definiert"
#: src/reader.c:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, 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"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "»%s« ist in %s nicht erlaubt" msgstr "»%s« ist in %s nicht erlaubt"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "mehr als eine %start Deklaration" msgstr "mehr als eine %start Deklaration"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "ungültige %start Deklaration" msgstr "ungültige %start Deklaration"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "%type Deklaration hat keinen <Typ-Namen>" msgstr "%type Deklaration hat keinen <Typ-Namen>"
#: src/reader.c:616 #: src/reader.c:673
#, fuzzy #, fuzzy
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "ungültige %%type Deklaration wegen »%s«" msgstr "ungültige %%type Deklaration wegen »%s«"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "Stellenwertigkeit von %s wird erneut definiert" msgstr "Stellenwertigkeit von %s wird erneut definiert"
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen" msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "unerwartetes Symbol: %s" msgstr "unerwartetes Symbol: %s"
#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "»{« hat kein Gegenstück" msgstr "»{« hat kein Gegenstück"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "Argument von %expect ist keine ganze Zahl" msgstr "Argument von %expect ist keine ganze Zahl"
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet" msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
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:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "unbekannt: %s" msgstr "unbekannt: %s"
#: src/reader.c:964 #: src/reader.c:1021
msgid "no input grammar" msgid "no input grammar"
msgstr "keine Eingabe-Grammatik" msgstr "keine Eingabe-Grammatik"
#: src/reader.c:969 #: src/reader.c:1026
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "unbekanntes Zeichen: %s" msgstr "unbekanntes Zeichen: %s"
#: src/reader.c:1127 #: src/reader.c:1193
#, 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:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
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:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
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:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
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:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
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:1510 #: src/reader.c:1576
#, 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:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
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:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, 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:1724 #: src/reader.c:1792
#, 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"

100
po/es.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -268,7 +268,7 @@ msgstr ""
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta" msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "comentario sin terminar" msgstr "comentario sin terminar"
@@ -324,7 +324,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:983 #: src/output.c:1026
#, 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)"
@@ -421,96 +421,96 @@ msgstr " en la izquierda:"
msgid " on right:" msgid " on right:"
msgstr " en la derecha:" msgstr " en la derecha:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Saltando al siguiente \\n" msgstr " Saltando al siguiente \\n"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Saltando al siguiente %c" msgstr " Saltando al siguiente %c"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "valor $ no válido" msgstr "valor $ no válido"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "cadena sin terminar al final del fichero" msgstr "cadena sin terminar al final del fichero"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "cadena sin terminar" msgstr "cadena sin terminar"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "@%s no es válido" msgstr "@%s no es válido"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ de `%s' no tiene tipo declarado" msgstr "$$ de `%s' no tiene tipo declarado"
#: src/reader.c:380 #: src/reader.c:439
#, fuzzy, c-format #, fuzzy, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s de `%s' no tiene tipo declarado" msgstr "$%s de `%s' no tiene tipo declarado"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "definición `%{' sin terminar" msgstr "definición `%{' sin terminar"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "redefinido el símbolo %s" msgstr "redefinido el símbolo %s"
#: src/reader.c:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, 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"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' no es válido en %s" msgstr "`%s' no es válido en %s"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "múltiples declaraciones de %start" msgstr "múltiples declaraciones de %start"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, 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"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "la declaración %type no tiene <nombre-tipo>" msgstr "la declaración %type no tiene <nombre-tipo>"
#: src/reader.c:616 #: src/reader.c:673
#, fuzzy #, fuzzy
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "declaración de %%type no válida debido al ítem: `%s'" msgstr "declaración de %%type no válida debido al ítem: `%s'"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "redefinición de la precedencia de %s" msgstr "redefinición de la precedencia de %s"
@@ -519,7 +519,7 @@ msgstr "redefinici
# de "to must" y aquí se emplea en su forma condicional. Por eso, he # de "to must" y aquí se emplea en su forma condicional. Por eso, he
# cambiado `debe' por `debería' - cll # cambiado `debe' por `debería' - cll
# ahí me has pillado en un olvido del inglés - ngp # ahí me has pillado en un olvido del inglés - ngp
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "" msgstr ""
@@ -529,18 +529,18 @@ msgstr ""
# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en # otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
# este caso, la segunda me parece más apropiada - cll # este caso, la segunda me parece más apropiada - cll
# ok - ngp # ok - ngp
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" 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:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "`{' desemparejada" msgstr "`{' desemparejada"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "el argumento de %expect no es un entero" msgstr "el argumento de %expect no es un entero"
@@ -551,26 +551,26 @@ msgstr "el argumento de %expect no es un entero"
# - cll # - cll
# ok - ngp # ok - ngp
# #
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "no se reconoce el ítem %s, se esperaba un identificador" msgstr "no se reconoce el ítem %s, se esperaba un identificador"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
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:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "no reconocido: %s" msgstr "no reconocido: %s"
#: src/reader.c:964 #: src/reader.c:1021
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:969 #: src/reader.c:1026
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "carácter desconocido: %s" msgstr "carácter desconocido: %s"
@@ -579,93 +579,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:1127 #: src/reader.c:1193
#, 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:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
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:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
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:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
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:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
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:1510 #: src/reader.c:1576
#, 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:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
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:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, 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:1724 #: src/reader.c:1792
#, 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"

100
po/et.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -233,7 +233,7 @@ msgstr "liiga palju gotosid (maks %d)"
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "leidsin ja ignoreerin ootamatu `/'" msgstr "leidsin ja ignoreerin ootamatu `/'"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "lõpetamata kommentaar" msgstr "lõpetamata kommentaar"
@@ -281,7 +281,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:983 #: src/output.c:1026
#, 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)"
@@ -374,225 +374,225 @@ msgstr " vasakul:"
msgid " on right:" msgid " on right:"
msgstr " paremal:" msgstr " paremal:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Liigun järgmisele \\n" msgstr " Liigun järgmisele \\n"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Liigun järgmisele %c" msgstr " Liigun järgmisele %c"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "vigane $ väärtus" msgstr "vigane $ väärtus"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "lõpetamata sõne faili lõpus" msgstr "lõpetamata sõne faili lõpus"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "lõpetamata sõne" msgstr "lõpetamata sõne"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "@%s on vigane" msgstr "@%s on vigane"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "`%s' $$ ei oma deklareeritud tüüpi" msgstr "`%s' $$ ei oma deklareeritud tüüpi"
#: src/reader.c:380 #: src/reader.c:439
#, c-format #, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%d `%s' ei oma deklareeritud tüüpi" msgstr "$%d `%s' ei oma deklareeritud tüüpi"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "lõpetamata `%{' definitsioon" msgstr "lõpetamata `%{' definitsioon"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "Enneaegne EOF peale %s" msgstr "Enneaegne EOF peale %s"
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
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:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, 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"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' ei ole %s sees lubatud" msgstr "`%s' ei ole %s sees lubatud"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "korduvad %start deklaratsioonid" msgstr "korduvad %start deklaratsioonid"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "vigane %start deklaratsioon" msgstr "vigane %start deklaratsioon"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "%type deklaratsioonis puudub <tüübinimi>" msgstr "%type deklaratsioonis puudub <tüübinimi>"
#: src/reader.c:616 #: src/reader.c:673
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "vigane %%type deklaratsioon, element: %s" msgstr "vigane %%type deklaratsioon, element: %s"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "%s prioriteedi uus definitsioon" msgstr "%s prioriteedi uus definitsioon"
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit" msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit"
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ootamatu element: %s" msgstr "ootamatu element: %s"
#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "puudub `{'" msgstr "puudub `{'"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "%expect argument ei ole täisarv" msgstr "%expect argument ei ole täisarv"
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "tundmatu element %s, eeldasin identifikaatorit" msgstr "tundmatu element %s, eeldasin identifikaatorit"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
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:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "tundmatu: %s" msgstr "tundmatu: %s"
#: src/reader.c:964 #: src/reader.c:1021
msgid "no input grammar" msgid "no input grammar"
msgstr "sisendgrammatikat pole" msgstr "sisendgrammatikat pole"
#: src/reader.c:969 #: src/reader.c:1026
#, 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:1127 #: src/reader.c:1193
#, 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:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
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:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
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:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
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:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
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:1510 #: src/reader.c:1576
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "vigane sisend: %s" msgstr "vigane sisend: %s"
#: src/reader.c:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
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:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, 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:1724 #: src/reader.c:1792
#, 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"

100
po/fr.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -215,7 +215,7 @@ msgstr ""
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "`/' inattendu et ignoré" msgstr "`/' inattendu et ignoré"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "le commentaire ne se termine pas" msgstr "le commentaire ne se termine pas"
@@ -264,7 +264,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:983 #: src/output.c:1026
#, 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"
@@ -357,227 +357,227 @@ msgstr "
msgid " on right:" msgid " on right:"
msgstr " à droite:" msgstr " à droite:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Saut jusqu'au prochain \\n" msgstr " Saut jusqu'au prochain \\n"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Saut jusqu'au prochain %c" msgstr " Saut jusqu'au prochain %c"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "la valeur de symbole $ n'est pas valide" msgstr "la valeur de symbole $ n'est pas valide"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "chaîne de caractères non terminée en fin de fichier" msgstr "chaîne de caractères non terminée en fin de fichier"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "chaîne de caractère non terminée" msgstr "chaîne de caractère non terminée"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "@%s n'est pas valide" msgstr "@%s n'est pas valide"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ de `%s' n'a pas son type déclaré" msgstr "$$ de `%s' n'a pas son type déclaré"
#: src/reader.c:380 #: src/reader.c:439
#, fuzzy, c-format #, fuzzy, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s cd `%s' n'a pas son type déclaré" msgstr "$%s cd `%s' n'a pas son type déclaré"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "La section de définition (%{) ne termine pas avant la fin du fichier" msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbole %s redéfini" msgstr "symbole %s redéfini"
#: src/reader.c:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, 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"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' n'est pas valide dans %s" msgstr "`%s' n'est pas valide dans %s"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "multiples déclarations %start" msgstr "multiples déclarations %start"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, 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"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "la déclaration %type n'a pas de <nom_de_type>" msgstr "la déclaration %type n'a pas de <nom_de_type>"
#: src/reader.c:616 #: src/reader.c:673
#, fuzzy #, fuzzy
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s" msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "redéfinition du niveau de priorité de %s" msgstr "redéfinition du niveau de priorité de %s"
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "" msgstr ""
"le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur" "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "item inattendu: %s" msgstr "item inattendu: %s"
#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "accolade ouvrante `{' non appariée" msgstr "accolade ouvrante `{' non appariée"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "le paramètre de %expect n'est pas un entier" msgstr "le paramètre de %expect n'est pas un entier"
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "item %s non reconnu, un identificateur est attendu" msgstr "item %s non reconnu, un identificateur est attendu"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
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:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "non reconnu: %s" msgstr "non reconnu: %s"
#: src/reader.c:964 #: src/reader.c:1021
msgid "no input grammar" msgid "no input grammar"
msgstr "aucune grammaire en entrée" msgstr "aucune grammaire en entrée"
#: src/reader.c:969 #: src/reader.c:1026
#, 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:1127 #: src/reader.c:1193
#, 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:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
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:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
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:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
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:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
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:1510 #: src/reader.c:1576
#, 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:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
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:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, 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:1724 #: src/reader.c:1792
#, 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"

100
po/ja.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -214,7 +214,7 @@ msgstr "%s
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "予期しない `/' が見つかり、無視されました" msgstr "予期しない `/' が見つかり、無視されました"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "閉じていないコメントです" msgstr "閉じていないコメントです"
@@ -263,7 +263,7 @@ msgstr "%s:
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "set_nullable に入ります" msgstr "set_nullable に入ります"
#: src/output.c:983 #: src/output.c:1026
#, fuzzy, c-format #, fuzzy, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "最大テーブルサイズ (%s) を超えました" msgstr "最大テーブルサイズ (%s) を超えました"
@@ -356,226 +356,226 @@ msgstr "
msgid " on right:" msgid " on right:"
msgstr " 右辺:" msgstr " 右辺:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " 次の \\n にスキップ" msgstr " 次の \\n にスキップ"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " 次の %c にスキップ" msgstr " 次の %c にスキップ"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "無効な $ の値" msgstr "無効な $ の値"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "閉じられていない文字列がファイル末尾にあります" msgstr "閉じられていない文字列がファイル末尾にあります"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "閉じられていない文字列" msgstr "閉じられていない文字列"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "@%s は無効です" msgstr "@%s は無効です"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "`%s' の $$ に宣言のない型があります" msgstr "`%s' の $$ に宣言のない型があります"
#: src/reader.c:380 #: src/reader.c:439
#, fuzzy, c-format #, fuzzy, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "`%s' の $%s に宣言のない型があります" msgstr "`%s' の $%s に宣言のない型があります"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "`%{' 定義 が閉じられていません" msgstr "`%{' 定義 が閉じられていません"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "シンボル %s が再定義されました" msgstr "シンボル %s が再定義されました"
#: src/reader.c:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "%s の型が再定義されました" msgstr "%s の型が再定義されました"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "%2$s 内の `%1$s' は無効です" msgstr "%2$s 内の `%1$s' は無効です"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "複数の %start が宣言されました" msgstr "複数の %start が宣言されました"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "無効な %start が宣言されました" msgstr "無効な %start が宣言されました"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "%type 宣言に <タイプ名> がありません" msgstr "%type 宣言に <タイプ名> がありません"
#: src/reader.c:616 #: src/reader.c:673
#, fuzzy #, fuzzy
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "アイテムに与えられるべき %%type 宣言が無効です: `%s'" msgstr "アイテムに与えられるべき %%type 宣言が無効です: `%s'"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "%s に先行した再定義です" msgstr "%s に先行した再定義です"
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "無効なテキスト (%s) - 数値は識別子の後ろにあるべきです" msgstr "無効なテキスト (%s) - 数値は識別子の後ろにあるべきです"
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "予期せぬアイテム: %s" msgstr "予期せぬアイテム: %s"
#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "対応のない `{' です" msgstr "対応のない `{' です"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "%expect の引数が整数値ではありません" msgstr "%expect の引数が整数値ではありません"
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "認識できないアイテム %s、ここでは識別子が期待されます" msgstr "認識できないアイテム %s、ここでは識別子が期待されます"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "ここでは %s ではなく文字列定数が期待されます" msgstr "ここでは %s ではなく文字列定数が期待されます"
#: src/reader.c:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "認識できない: %s" msgstr "認識できない: %s"
#: src/reader.c:964 #: src/reader.c:1021
msgid "no input grammar" msgid "no input grammar"
msgstr "文法の入力が無い" msgstr "文法の入力が無い"
#: src/reader.c:969 #: src/reader.c:1026
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "未知の文字: %s" msgstr "未知の文字: %s"
#: src/reader.c:1127 #: src/reader.c:1193
#, fuzzy, c-format #, fuzzy, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "閉じられていない %%guard 節です" msgstr "閉じられていない %%guard 節です"
#: src/reader.c:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "文法は縦棒 (|) で始めます" msgstr "文法は縦棒 (|) で始めます"
#: src/reader.c:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "@prec のもの二つが同列になっています" msgstr "@prec のもの二つが同列になっています"
#: src/reader.c:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "一つの規則の終りに二つの動作を指定しています" msgstr "一つの規則の終りに二つの動作を指定しています"
#: src/reader.c:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません" msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
#: src/reader.c:1510 #: src/reader.c:1576
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "無効な入力: %s" msgstr "無効な入力: %s"
#: src/reader.c:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "入力した文法に規則が定義されていません" msgstr "入力した文法に規則が定義されていません"
#: src/reader.c:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, 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:1724 #: src/reader.c:1792
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "開始シンボル %s はトークンです" msgstr "開始シンボル %s はトークンです"

100
po/nl.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -214,7 +214,7 @@ msgstr ""
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "onverwachte `/' gevonden en genegeerd" msgstr "onverwachte `/' gevonden en genegeerd"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "ongetermineerd commentaar" msgstr "ongetermineerd commentaar"
@@ -263,7 +263,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:983 #: src/output.c:1026
#, 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"
@@ -356,227 +356,227 @@ msgstr " links:"
msgid " on right:" msgid " on right:"
msgstr " rechts:" msgstr " rechts:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Verder naar volgende \\n" msgstr " Verder naar volgende \\n"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Verder naar volgende %c" msgstr " Verder naar volgende %c"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "onjuiste $ waarde" msgstr "onjuiste $ waarde"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "niet getermineerde string aan einde van bestand" msgstr "niet getermineerde string aan einde van bestand"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "niet getermineerde string" msgstr "niet getermineerde string"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "@%s is onjuist" msgstr "@%s is onjuist"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ van `%s' heeft geen gedeclareerd type" msgstr "$$ van `%s' heeft geen gedeclareerd type"
#: src/reader.c:380 #: src/reader.c:439
#, fuzzy, c-format #, fuzzy, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s van `%s' heeft geen gedeclareerd type" msgstr "$%s van `%s' heeft geen gedeclareerd type"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "niet getermineerde `%{' definitie" msgstr "niet getermineerde `%{' definitie"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "" msgstr ""
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbool %s opnieuw gedefinieerd" msgstr "symbool %s opnieuw gedefinieerd"
#: src/reader.c:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "type herdeclaratie voor %s" msgstr "type herdeclaratie voor %s"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' is onjuist in %s" msgstr "`%s' is onjuist in %s"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "meerdere %start declaraties" msgstr "meerdere %start declaraties"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "onjuiste %start declaratie" msgstr "onjuiste %start declaratie"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "%type declaratie heeft geen <typenaam>" msgstr "%type declaratie heeft geen <typenaam>"
#: src/reader.c:616 #: src/reader.c:673
#, fuzzy #, fuzzy
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "onjuist %%type declaratie door item: `%s'" msgstr "onjuist %%type declaratie door item: `%s'"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "herdefinieren voorganger van %s" msgstr "herdefinieren voorganger van %s"
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "onjuiste tekst (%s) - nummer hoort na de identifier" msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "onbekend item: %s" msgstr "onbekend item: %s"
#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "niet overeenkomstige `{'" msgstr "niet overeenkomstige `{'"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "argument van %expect is niet een integer" msgstr "argument van %expect is niet een integer"
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "onbekend item %s, verwacht een identifier" msgstr "onbekend item %s, verwacht een identifier"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
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:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "onbekend: %s" msgstr "onbekend: %s"
#: src/reader.c:964 #: src/reader.c:1021
msgid "no input grammar" msgid "no input grammar"
msgstr "geen invoer grammatica" msgstr "geen invoer grammatica"
#: src/reader.c:969 #: src/reader.c:1026
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "onbekend karakter: %s" msgstr "onbekend karakter: %s"
#: src/reader.c:1127 #: src/reader.c:1193
#, 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:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
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:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
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:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
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:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
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:1510 #: src/reader.c:1576
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ongeldige invoer: %s" msgstr "ongeldige invoer: %s"
#: src/reader.c:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
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:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "" msgstr ""
#: src/reader.c:1724 #: src/reader.c:1792
#, 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"

100
po/ru.po
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-10-16 20:27+0200\n" "POT-Creation-Date: 2000-11-02 10:14+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"
@@ -235,7 +235,7 @@ msgstr "
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'" msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
#: src/lex.c:112 src/reader.c:269 #: src/lex.c:112 src/reader.c:299
msgid "unterminated comment" msgid "unterminated comment"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
@@ -283,7 +283,7 @@ msgstr "%s:
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "÷ÈÏÄ × set_nullable" msgstr "÷ÈÏÄ × set_nullable"
#: src/output.c:983 #: src/output.c:1026
#, c-format #, c-format
msgid "maximum table size (%d) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)" msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)"
@@ -376,224 +376,224 @@ msgstr "
msgid " on right:" msgid " on right:"
msgstr " ÎÁÐÒÁ×Ï:" msgstr " ÎÁÐÒÁ×Ï:"
#: src/reader.c:80 #: src/reader.c:81
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n" msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
#: src/reader.c:82 #: src/reader.c:83
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c" msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
#: src/reader.c:133 src/reader.c:145 #: src/reader.c:134 src/reader.c:146
msgid "invalid $ value" msgid "invalid $ value"
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ" msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
#: src/reader.c:170 src/reader.c:185 #: src/reader.c:175 src/reader.c:193
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
#: src/reader.c:173 #: src/reader.c:178
msgid "unterminated string" msgid "unterminated string"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
#: src/reader.c:325 src/reader.c:387 #: src/reader.c:366 src/reader.c:446
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s is invalid" msgid "%s is invalid"
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s" msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s"
#: src/reader.c:364 #: src/reader.c:414
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ" msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
#: src/reader.c:380 #: src/reader.c:439
#, c-format #, c-format
msgid "$%d of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ" msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
#: src/reader.c:433 #: src/reader.c:492
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
#: src/reader.c:480 src/reader.c:596 src/reader.c:646 #: src/reader.c:537 src/reader.c:653 src/reader.c:703
#, c-format #, c-format
msgid "Premature EOF after %s" msgid "Premature EOF after %s"
msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ÐÏÓÌÅ %s" msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ÐÏÓÌÅ %s"
#: src/reader.c:497 #: src/reader.c:554
#, c-format #, c-format
msgid "symbol `%s' used more than once as a literal string" msgid "symbol `%s' used more than once as a literal string"
msgstr "" msgstr ""
#: src/reader.c:500 #: src/reader.c:557
#, c-format #, c-format
msgid "symbol `%s' given more than one literal string" msgid "symbol `%s' given more than one literal string"
msgstr "" msgstr ""
#: src/reader.c:522 src/reader.c:665 #: src/reader.c:579 src/reader.c:722
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
#: src/reader.c:532 src/reader.c:611 src/reader.c:672 src/reader.c:1224 #: src/reader.c:589 src/reader.c:668 src/reader.c:729 src/reader.c:1290
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
#: src/reader.c:542 #: src/reader.c:599
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s" msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
#: src/reader.c:559 src/reader.c:719 #: src/reader.c:616 src/reader.c:776
#, fuzzy, c-format #, fuzzy, c-format
msgid "multiple %s declarations" msgid "multiple %s declarations"
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start" msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start"
#: src/reader.c:561 src/reader.c:1202 #: src/reader.c:618 src/reader.c:1268
#, fuzzy, c-format #, fuzzy, c-format
msgid "invalid %s declaration" msgid "invalid %s declaration"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start"
#: src/reader.c:581 #: src/reader.c:638
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>" msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
#: src/reader.c:616 #: src/reader.c:673
msgid "invalid %%type declaration due to item: %s" msgid "invalid %%type declaration due to item: %s"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s"
#: src/reader.c:661 #: src/reader.c:718
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s" msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
#: src/reader.c:685 #: src/reader.c:742
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ" msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
#: src/reader.c:695 #: src/reader.c:752
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 #: src/reader.c:813 src/reader.c:1099 src/reader.c:1170
#, fuzzy, c-format #, fuzzy, c-format
msgid "unmatched %s" msgid "unmatched %s"
msgstr "ÎÅÐÁÒÎÁÑ `{'" msgstr "ÎÅÐÁÒÎÁÑ `{'"
#: src/reader.c:788 #: src/reader.c:845
#, fuzzy #, fuzzy
msgid "argument of %%expect is not an integer" msgid "argument of %%expect is not an integer"
msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ" msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
#: src/reader.c:835 #: src/reader.c:892
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
#: src/reader.c:859 #: src/reader.c:916
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ" msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
#: src/reader.c:959 #: src/reader.c:1016
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
#: src/reader.c:964 #: src/reader.c:1021
msgid "no input grammar" msgid "no input grammar"
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ" msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
#: src/reader.c:969 #: src/reader.c:1026
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
#: src/reader.c:1127 #: src/reader.c:1193
#, c-format #, c-format
msgid "unterminated %guard clause" msgid "unterminated %guard clause"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard"
#: src/reader.c:1289 #: src/reader.c:1355
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:1296 #: src/reader.c:1362
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ" msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
#: src/reader.c:1327 #: src/reader.c:1393
#, 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:1429 #: src/reader.c:1495
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "Ä×Á @prec ÐÏÄÒÑÄ" msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
#: src/reader.c:1437 #: src/reader.c:1503
#, 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:1446 #: src/reader.c:1512
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ" msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
#: src/reader.c:1460 #: src/reader.c:1526
#, 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:1466 #: src/reader.c:1532
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "" msgstr ""
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ" "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
#: src/reader.c:1510 #: src/reader.c:1576
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s" msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
#: src/reader.c:1518 #: src/reader.c:1584
#, 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:1521 #: src/reader.c:1587
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
#: src/reader.c:1541 #: src/reader.c:1608
#, 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:1646 #: src/reader.c:1714
#, 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:1658 #: src/reader.c:1726
#, 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:1709 #: src/reader.c:1777
#, 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:1722 #: src/reader.c:1790
#, 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:1724 #: src/reader.c:1792
#, 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

@@ -49,13 +49,13 @@
FILE *finput = NULL; FILE *finput = NULL;
FILE *foutput = NULL; FILE *foutput = NULL;
FILE *fdefines = NULL;
FILE *ftable = NULL;
FILE *fguard = NULL; FILE *fguard = NULL;
FILE *fparser = NULL; FILE *fparser = NULL;
struct obstack action_obstack; struct obstack action_obstack;
struct obstack attrs_obstack; struct obstack attrs_obstack;
struct obstack table_obstack;
struct obstack defines_obstack;
/* File name specified with -o for the output file, or 0 if no -o. */ /* File name specified with -o for the output file, or 0 if no -o. */
char *spec_outfile; char *spec_outfile;
@@ -68,10 +68,7 @@ static char *defsfile;
static char *tabfile; static char *tabfile;
static char *guardfile; static char *guardfile;
static char *actfile; static char *actfile;
static char *tmptabfile;
static char *tmpdefsfile;
extern char *mktemp (); /* So the compiler won't complain */
extern char *getenv (); extern char *getenv ();
extern char *program_name; extern char *program_name;
@@ -189,7 +186,7 @@ open_files (void)
if (spec_outfile) if (spec_outfile)
{ {
/* -o was specified. The precise -o name will be used for ftable. /* -o was specified. The precise -o name will be used for FTABLE.
For other output files, remove the ".c" or ".tab.c" suffix. */ For other output files, remove the ".c" or ".tab.c" suffix. */
name_base = spec_outfile; name_base = spec_outfile;
#ifdef MSDOS #ifdef MSDOS
@@ -291,27 +288,11 @@ open_files (void)
actfile = stringappend (name_base, short_base_length, ".act"); actfile = stringappend (name_base, short_base_length, ".act");
} }
#ifdef MSDOS
tmptabfile = mktemp (stringappend (tmp_base, tmp_len, "taXXXXXX"));
tmpdefsfile = mktemp (stringappend (tmp_base, tmp_len, "deXXXXXX"));
#else
tmptabfile = mktemp (stringappend (tmp_base, tmp_len, "tab.XXXXXX"));
tmpdefsfile = mktemp (stringappend (tmp_base, tmp_len, "defs.XXXXXX"));
#endif /* not MSDOS */
ftable = xfopen (tmptabfile, "w+");
if (defines_flag) if (defines_flag)
{ {
defsfile = stringappend (name_base, base_length, ".h"); defsfile = stringappend (name_base, base_length, ".h");
fdefines = xfopen (tmpdefsfile, "w+");
} }
#if !(defined (MSDOS) || (defined(_WIN32) && !defined(__CYGWIN32__)))
unlink (tmptabfile);
unlink (tmpdefsfile);
#endif /* MSDOS || (_WIN32 && !__CYGWIN32__) */
/* 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;
@@ -334,6 +315,8 @@ open_files (void)
/* Initialize the obstacks. */ /* Initialize the obstacks. */
obstack_init (&action_obstack); obstack_init (&action_obstack);
obstack_init (&attrs_obstack); obstack_init (&attrs_obstack);
obstack_init (&table_obstack);
obstack_init (&defines_obstack);
} }
@@ -384,27 +367,21 @@ done (void)
xfclose (foutput); xfclose (foutput);
/* JF write out the output file */ /* JF write out the output file */
if (!complain_message_count && ftable) if (!complain_message_count)
{ {
FILE *ftmp; /* Output the main file. */
register int c; FILE *ftab = xfopen (tabfile, "w");
size_t size = obstack_object_size (&table_obstack);
ftmp = xfopen (tabfile, "w"); fwrite (obstack_finish (&table_obstack), 1, size, ftab);
rewind (ftable); xfclose (ftab);
while ((c = getc (ftable)) != EOF)
putc (c, ftmp);
xfclose (ftmp);
xfclose (ftable);
/* Output the header file is wanted. */
if (defines_flag) if (defines_flag)
{ {
ftmp = xfopen (defsfile, "w"); FILE *fdefs = xfopen (defsfile, "w");
fflush (fdefines); size_t size = obstack_object_size (&defines_obstack);
rewind (fdefines); fwrite (obstack_finish (&defines_obstack), 1, size, fdefs);
while ((c = getc (fdefines)) != EOF) xfclose (fdefs);
putc (c, ftmp);
xfclose (ftmp);
xfclose (fdefines);
} }
} }
@@ -428,21 +405,6 @@ done (void)
xfclose (fattrs); xfclose (fattrs);
} }
#if defined (VMS) & !defined (__VMS_POSIX)
if (ftable)
delete (tmptabfile);
/* Don't call exit again, we're in atexit ().
if (!complain_message_count)
sys$exit(SS$_NORMAL);
sys$exit(SS$_ABORT); */
#else
#if (defined (MSDOS) || (defined(_WIN32) && !defined(__CYGWIN32__)))
if (tmptabfile)
unlink (tmptabfile);
if (tmpdefsfile)
unlink (tmpdefsfile);
#endif /* MSDOS || (_WIN32 && !__CYGWIN32__) */
/* Don't call exit again, we're in atexit (). /* Don't call exit again, we're in atexit ().
exit (complain_message_count ? 1 : 0); */ exit (complain_message_count ? 1 : 0); */
#endif /* not VMS, or __VMS_POSIX */
} }

View File

@@ -29,9 +29,6 @@
extern FILE *finput; /* read grammar specifications */ extern FILE *finput; /* read grammar specifications */
extern FILE *foutput; /* optionally output messages describing the actions taken */ extern FILE *foutput; /* optionally output messages describing the actions taken */
extern FILE *fdefines; /* optionally output #define's for token numbers. */
extern FILE *ftable; /* output the tables and the parser */
/* and also contains all the %{ ... %} definitions. */
extern FILE *fguard; /* if semantic parser, output yyguard, containing all the guard code */ extern FILE *fguard; /* if semantic parser, output yyguard, containing all the guard code */
extern FILE *fparser; /* read the parser to copy into ftable */ extern FILE *fparser; /* read the parser to copy into ftable */
@@ -49,6 +46,14 @@ extern struct obstack action_obstack;
/* If semantic parser, output a .h file that defines YYSTYPE */ /* If semantic parser, output a .h file that defines YYSTYPE */
extern struct obstack attrs_obstack; extern struct obstack attrs_obstack;
/* Output the tables and the parser and also contains all the %{
... %} definitions. */
extern struct obstack table_obstack;
/* optionally output #define's for token numbers. */
extern struct obstack defines_obstack;
extern char *infile; extern char *infile;
extern int lineno; extern int lineno;
extern char *outfile; extern char *outfile;

View File

@@ -126,7 +126,7 @@ static int high;
static inline void static inline void
output_short_or_char_table (FILE *out, output_short_or_char_table (struct obstack *oout,
const char *comment, const char *comment,
const char *type, const char *type,
const char *table_name, const char *table_name,
@@ -137,19 +137,19 @@ output_short_or_char_table (FILE *out,
int i, j; int i, j;
if (comment) if (comment)
fprintf (out, "/* %s. */\n", comment); obstack_fgrow1 (oout, "/* %s. */\n", comment);
fprintf (out, "static const %s %s[] =\n{\n %6d", obstack_fgrow3 (oout, "static const %s %s[] =\n{\n %6d",
type, table_name, first_value); type, table_name, first_value);
j = 1; j = 1;
for (i = begin; i < end; i++) for (i = begin; i < end; i++)
{ {
putc (',', out); obstack_1grow (oout, ',');
if (j >= 10) if (j >= 10)
{ {
fputs ("\n ", out); obstack_grow_literal_string (oout, "\n ");
j = 1; j = 1;
} }
else else
@@ -157,22 +157,22 @@ output_short_or_char_table (FILE *out,
j++; j++;
} }
fprintf (out, "%6d", short_table[i]); obstack_fgrow1 (oout, "%6d", short_table[i]);
} }
fprintf (out, "\n};\n"); obstack_grow_literal_string (oout, "\n};\n");
} }
static inline void static inline void
output_short_table (FILE *out, output_short_table (struct obstack *oout,
const char *comment, const char *comment,
const char *table_name, const char *table_name,
short *short_table, short *short_table,
short first_value, short first_value,
short begin, short end) short begin, short end)
{ {
output_short_or_char_table (out, comment, "short", table_name, short_table, output_short_or_char_table (oout, comment, "short", table_name, short_table,
first_value, begin, end); first_value, begin, end);
} }
@@ -265,13 +265,20 @@ output_headers (void)
/* Rename certain symbols if -p was specified. */ /* Rename certain symbols if -p was specified. */
if (spec_name_prefix) if (spec_name_prefix)
{ {
fprintf (ftable, "#define yyparse %sparse\n", spec_name_prefix); obstack_fgrow1 (&table_obstack,
fprintf (ftable, "#define yylex %slex\n", spec_name_prefix); "#define yyparse %sparse\n", spec_name_prefix);
fprintf (ftable, "#define yyerror %serror\n", spec_name_prefix); obstack_fgrow1 (&table_obstack,
fprintf (ftable, "#define yylval %slval\n", spec_name_prefix); "#define yylex %slex\n", spec_name_prefix);
fprintf (ftable, "#define yychar %schar\n", spec_name_prefix); obstack_fgrow1 (&table_obstack,
fprintf (ftable, "#define yydebug %sdebug\n", spec_name_prefix); "#define yyerror %serror\n", spec_name_prefix);
fprintf (ftable, "#define yynerrs %snerrs\n", spec_name_prefix); obstack_fgrow1 (&table_obstack,
"#define yylval %slval\n", spec_name_prefix);
obstack_fgrow1 (&table_obstack,
"#define yychar %schar\n", spec_name_prefix);
obstack_fgrow1 (&table_obstack,
"#define yydebug %sdebug\n", spec_name_prefix);
obstack_fgrow1 (&table_obstack,
"#define yynerrs %snerrs\n", spec_name_prefix);
} }
} }
@@ -305,19 +312,19 @@ output_trailers (void)
static void static void
output_token_translations (void) output_token_translations (void)
{ {
fputs ("\ obstack_grow_literal_string (&table_obstack, "\
\n\ \n\
/* YYRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */\n", /* YYRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */\n");
ftable);
if (translations) if (translations)
{ {
fprintf (ftable, obstack_fgrow2 (&table_obstack,
"#define YYTRANSLATE(x) ((unsigned)(x) <= %d ? yytranslate[x] : %d)\ "#define YYTRANSLATE(x) ((unsigned)(x) <= %d ? yytranslate[x] : %d)\
\n\ \n\
\n", \n",
max_user_token_number, nsyms); max_user_token_number, nsyms);
output_short_or_char_table (ftable, output_short_or_char_table (&table_obstack,
"YYRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX", "YYRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX",
ntokens < 127 ? "char" : "short", ntokens < 127 ? "char" : "short",
"yytranslate", token_translations, "yytranslate", token_translations,
@@ -325,7 +332,8 @@ output_token_translations (void)
} }
else else
{ {
fprintf (ftable, "\n#define YYTRANSLATE(x) (x)\n"); obstack_grow_literal_string (&table_obstack,
"\n#define YYTRANSLATE(x) (x)\n");
} }
} }
@@ -337,9 +345,9 @@ output_gram (void)
yyprhs and yyrhs are needed only for yydebug. */ yyprhs and yyrhs are needed only for yydebug. */
/* With the no_parser option, all tables are generated */ /* With the no_parser option, all tables are generated */
if (!semantic_parser && !no_parser_flag) if (!semantic_parser && !no_parser_flag)
fprintf (ftable, "\n#if YYDEBUG != 0\n"); obstack_grow_literal_string (&table_obstack, "\n#if YYDEBUG != 0\n");
output_short_table (ftable, NULL, "yyprhs", rrhs, output_short_table (&table_obstack, NULL, "yyprhs", rrhs,
0, 1, nrules + 1); 0, 1, nrules + 1);
{ {
@@ -354,20 +362,20 @@ output_gram (void)
for (sp = ritem + 1, i = 1; *sp; ++sp, ++i) for (sp = ritem + 1, i = 1; *sp; ++sp, ++i)
yyrhs[i] = *sp > 0 ? *sp : 0; yyrhs[i] = *sp > 0 ? *sp : 0;
output_short_table (ftable, NULL, "yyrhs", yyrhs, output_short_table (&table_obstack, NULL, "yyrhs", yyrhs,
ritem[0], 1, yyrhs_size); ritem[0], 1, yyrhs_size);
XFREE (yyrhs); XFREE (yyrhs);
} }
if (!semantic_parser && !no_parser_flag) if (!semantic_parser && !no_parser_flag)
fprintf (ftable, "\n#endif\n"); obstack_grow_literal_string (&table_obstack, "\n#endif\n");
} }
static void static void
output_stos (void) output_stos (void)
{ {
output_short_table (ftable, NULL, "yystos", accessing_symbol, output_short_table (&table_obstack, NULL, "yystos", accessing_symbol,
0, 1, nstates); 0, 1, nstates);
} }
@@ -379,33 +387,33 @@ output_rule_data (void)
int j; int j;
short *short_tab = NULL; short *short_tab = NULL;
fputs ("\n\ obstack_grow_literal_string (&table_obstack, "\n\
#if YYDEBUG != 0\n", #if YYDEBUG != 0\n");
ftable);
output_short_table (ftable, output_short_table (&table_obstack,
"YYRLINE[YYN] -- source line where rule number YYN was defined", "YYRLINE[YYN] -- source line where rule number YYN was defined",
"yyrline", rline, "yyrline", rline,
0, 1, nrules + 1); 0, 1, nrules + 1);
fputs ("#endif\n\n", ftable); obstack_grow_literal_string (&table_obstack, "#endif\n\n");
if (token_table_flag || no_parser_flag) if (token_table_flag || no_parser_flag)
{ {
fprintf (ftable, "#define YYNTOKENS %d\n", ntokens); obstack_fgrow1 (&table_obstack, "#define YYNTOKENS %d\n", ntokens);
fprintf (ftable, "#define YYNNTS %d\n", nvars); obstack_fgrow1 (&table_obstack, "#define YYNNTS %d\n", nvars);
fprintf (ftable, "#define YYNRULES %d\n", nrules); obstack_fgrow1 (&table_obstack, "#define YYNRULES %d\n", nrules);
fprintf (ftable, "#define YYNSTATES %d\n", nstates); obstack_fgrow1 (&table_obstack, "#define YYNSTATES %d\n", nstates);
fprintf (ftable, "#define YYMAXUTOK %d\n\n", max_user_token_number); obstack_fgrow1 (&table_obstack, "#define YYMAXUTOK %d\n\n",
max_user_token_number);
} }
/* Output the table of symbol names. */ /* Output the table of symbol names. */
if (!token_table_flag && !no_parser_flag) if (!token_table_flag && !no_parser_flag)
fputs ("\n#if YYDEBUG != 0 || defined YYERROR_VERBOSE\n\n", ftable); obstack_grow_literal_string (&table_obstack,
fputs ("\ "\n#if YYDEBUG != 0 || defined YYERROR_VERBOSE\n\n");
/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n", obstack_grow_literal_string (&table_obstack, "\
ftable); /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n");
fprintf (ftable, obstack_grow_literal_string (&table_obstack,
"static const char *const yytname[] =\n{\n "); "static const char *const yytname[] =\n{\n ");
j = 0; j = 0;
@@ -429,76 +437,76 @@ output_rule_data (void)
if (j + strsize > 75) if (j + strsize > 75)
{ {
fputs ("\n ", ftable); obstack_grow_literal_string (&table_obstack, "\n ");
j = 2; j = 2;
} }
putc ('\"', ftable); obstack_1grow (&table_obstack, '\"');
for (p = tags[i]; p && *p; p++) for (p = tags[i]; p && *p; p++)
{ {
if (*p == '"' || *p == '\\') if (*p == '"' || *p == '\\')
{ {
fprintf (ftable, "\\%c", *p); obstack_fgrow1 (&table_obstack, "\\%c", *p);
} }
else if (*p == '\n') else if (*p == '\n')
{ {
fprintf (ftable, "\\n"); obstack_grow_literal_string (&table_obstack, "\\n");
} }
else if (*p == '\t') else if (*p == '\t')
{ {
fprintf (ftable, "\\t"); obstack_grow_literal_string (&table_obstack, "\\t");
} }
else if (*p == '\b') else if (*p == '\b')
{ {
fprintf (ftable, "\\b"); obstack_grow_literal_string (&table_obstack, "\\b");
} }
else if (*p < 040 || *p >= 0177) else if (*p < 040 || *p >= 0177)
{ {
fprintf (ftable, "\\%03o", *p); obstack_fgrow1 (&table_obstack, "\\%03o", *p);
} }
else else
{ {
putc (*p, ftable); obstack_1grow (&table_obstack, *p);
} }
} }
fputs ("\", ", ftable); obstack_grow_literal_string (&table_obstack, "\", ");
j += strsize; j += strsize;
} }
/* add a NULL entry to list of tokens */ /* add a NULL entry to list of tokens */
fprintf (ftable, "NULL\n};\n"); obstack_grow_literal_string (&table_obstack, "NULL\n};\n");
if (!token_table_flag && !no_parser_flag) if (!token_table_flag && !no_parser_flag)
fprintf (ftable, "#endif\n\n"); obstack_grow_literal_string (&table_obstack, "#endif\n\n");
/* Output YYTOKNUM. */ /* Output YYTOKNUM. */
if (token_table_flag) if (token_table_flag)
{ {
output_short_table (ftable, output_short_table (&table_obstack,
"YYTOKNUM[YYLEX] -- Index in YYTNAME corresponding to YYLEX", "YYTOKNUM[YYLEX] -- Index in YYTNAME corresponding to YYLEX",
"yytoknum", user_toknums, "yytoknum", user_toknums,
0, 1, ntokens + 1); 0, 1, ntokens + 1);
} }
/* Output YYR1. */ /* Output YYR1. */
output_short_table (ftable, output_short_table (&table_obstack,
"YYR1[YYN] -- Symbol number of symbol that rule YYN derives", "YYR1[YYN] -- Symbol number of symbol that rule YYN derives",
"yyr1", rlhs, "yyr1", rlhs,
0, 1, nrules + 1); 0, 1, nrules + 1);
XFREE (rlhs + 1); XFREE (rlhs + 1);
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
/* Output YYR2. */ /* Output YYR2. */
short_tab = XMALLOC (short, nrules + 1); short_tab = XMALLOC (short, nrules + 1);
for (i = 1; i < nrules; i++) for (i = 1; i < nrules; i++)
short_tab[i] = rrhs[i + 1] - rrhs[i] - 1; short_tab[i] = rrhs[i + 1] - rrhs[i] - 1;
short_tab[nrules] = nitems - rrhs[nrules] - 1; short_tab[nrules] = nitems - rrhs[nrules] - 1;
output_short_table (ftable, output_short_table (&table_obstack,
"YYR2[YYN] -- Number of symbols composing right hand side of rule YYN", "YYR2[YYN] -- Number of symbols composing right hand side of rule YYN",
"yyr2", short_tab, "yyr2", short_tab,
0, 1, nrules + 1); 0, 1, nrules + 1);
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
XFREE (short_tab); XFREE (short_tab);
@@ -509,9 +517,9 @@ output_rule_data (void)
static void static void
output_defines (void) output_defines (void)
{ {
fprintf (ftable, "\n\n#define\tYYFINAL\t\t%d\n", final_state); obstack_fgrow1 (&table_obstack, "\n\n#define\tYYFINAL\t\t%d\n", final_state);
fprintf (ftable, "#define\tYYFLAG\t\t%d\n", MINSHORT); obstack_fgrow1 (&table_obstack, "#define\tYYFLAG\t\t%d\n", MINSHORT);
fprintf (ftable, "#define\tYYNTBASE\t%d\n", ntokens); obstack_fgrow1 (&table_obstack, "#define\tYYNTBASE\t%d\n", ntokens);
} }
@@ -757,13 +765,13 @@ token_actions (void)
} }
XFREE (actrow); XFREE (actrow);
output_short_table (ftable, output_short_table (&table_obstack,
"YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE\n\ "YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE\n\
doesn't specify something else to do. Zero means the default is an\n\ doesn't specify something else to do. Zero means the default is an\n\
error", error",
"yydefact", yydefact, "yydefact", yydefact,
yydefact[0], 1, nstates); yydefact[0], 1, nstates);
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
XFREE (yydefact); XFREE (yydefact);
} }
@@ -901,7 +909,7 @@ goto_actions (void)
yydefgoto[i - ntokens] = default_state; yydefgoto[i - ntokens] = default_state;
} }
output_short_table (ftable, NULL, "yydefgoto", yydefgoto, output_short_table (&table_obstack, NULL, "yydefgoto", yydefgoto,
yydefgoto[0], 1, nsyms - ntokens); yydefgoto[0], 1, nsyms - ntokens);
XFREE (state_count); XFREE (state_count);
@@ -1104,12 +1112,12 @@ pack_table (void)
static void static void
output_base (void) output_base (void)
{ {
output_short_table (ftable, NULL, "yypact", base, output_short_table (&table_obstack, NULL, "yypact", base,
base[0], 1, nstates); base[0], 1, nstates);
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
output_short_table (ftable, NULL, "yypgoto", base, output_short_table (&table_obstack, NULL, "yypgoto", base,
base[nstates], nstates + 1, nvectors); base[nstates], nstates + 1, nvectors);
XFREE (base); XFREE (base);
@@ -1119,8 +1127,8 @@ output_base (void)
static void static void
output_table (void) output_table (void)
{ {
fprintf (ftable, "\n\n#define\tYYLAST\t\t%d\n\n\n", high); obstack_fgrow1 (&table_obstack, "\n\n#define\tYYLAST\t\t%d\n\n\n", high);
output_short_table (ftable, NULL, "yytable", table, output_short_table (&table_obstack, NULL, "yytable", table,
table[0], 1, high + 1); table[0], 1, high + 1);
XFREE (table); XFREE (table);
} }
@@ -1129,7 +1137,7 @@ output_table (void)
static void static void
output_check (void) output_check (void)
{ {
output_short_table (ftable, NULL, "yycheck", check, output_short_table (&table_obstack, NULL, "yycheck", check,
check[0], 1, high + 1); check[0], 1, high + 1);
XFREE (check); XFREE (check);
} }
@@ -1162,10 +1170,10 @@ output_actions (void)
sort_actions (); sort_actions ();
pack_table (); pack_table ();
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
output_base (); output_base ();
output_table (); output_table ();
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
output_check (); output_check ();
} }
@@ -1183,7 +1191,7 @@ output_parser (void)
#endif #endif
if (pure_parser) if (pure_parser)
fprintf (ftable, "#define YYPURE 1\n\n"); obstack_grow_literal_string (&table_obstack, "#define YYPURE 1\n\n");
#ifdef DONTDEF #ifdef DONTDEF
/* JF no longer needed 'cuz open_extra_files changes the currently /* JF no longer needed 'cuz open_extra_files changes the currently
@@ -1220,16 +1228,16 @@ output_parser (void)
if (c == 'e') if (c == 'e')
write_line = 0; write_line = 0;
else else
fprintf (ftable, "#lin"); obstack_grow_literal_string (&table_obstack, "#lin");
} }
else else
fprintf (ftable, "#li"); obstack_grow_literal_string (&table_obstack, "#li");
} }
else else
fprintf (ftable, "#l"); obstack_grow_literal_string (&table_obstack, "#l");
} }
else else
fprintf (ftable, "#"); obstack_grow_literal_string (&table_obstack, "#");
} }
/* now write out the line... */ /* now write out the line... */
@@ -1244,18 +1252,19 @@ output_parser (void)
number_of_dollar_signs++; number_of_dollar_signs++;
assert (number_of_dollar_signs == 1); assert (number_of_dollar_signs == 1);
fwrite (obstack_finish (&action_obstack), obstack_grow (&table_obstack,
1, size, ftable); obstack_finish (&action_obstack),
size);
/* Skip the end of the line containing `$'. */ /* Skip the end of the line containing `$'. */
write_line = 0; write_line = 0;
} }
else else
putc (c, ftable); obstack_1grow (&table_obstack, c);
} }
if (c == EOF) if (c == EOF)
break; break;
putc (c, ftable); obstack_1grow (&table_obstack, c);
} }
assert (number_of_dollar_signs == 1); assert (number_of_dollar_signs == 1);
} }
@@ -1266,12 +1275,12 @@ output_program (void)
int c; int c;
if (!no_lines_flag) if (!no_lines_flag)
fprintf (ftable, "#line %d \"%s\"\n", lineno, infile); obstack_fgrow2 (&table_obstack, "#line %d \"%s\"\n", lineno, infile);
c = getc (finput); c = getc (finput);
while (c != EOF) while (c != EOF)
{ {
putc (c, ftable); obstack_1grow (&table_obstack, c);
c = getc (finput); c = getc (finput);
} }
} }
@@ -1304,36 +1313,34 @@ output (void)
/* output_token_defines(ftable); / * JF put out token defines FIRST */ /* output_token_defines(ftable); / * JF put out token defines FIRST */
/* If using a simple parser the definition of YYSTYPE are put into /* If using a simple parser the definition of YYSTYPE are put into
FTABLE. */ TABLE_OBSTACK. */
if (!semantic_parser) if (!semantic_parser)
{ {
size_t size = obstack_object_size (&attrs_obstack); size_t size = obstack_object_size (&attrs_obstack);
fwrite (obstack_finish (&attrs_obstack), 1, size, ftable); obstack_grow (&table_obstack, obstack_finish (&attrs_obstack), size);
} }
reader_output_yylsp (ftable); reader_output_yylsp (&table_obstack);
if (debug_flag) if (debug_flag)
fputs ("\ obstack_grow_literal_string (&table_obstack, "\
#ifndef YYDEBUG\n\ #ifndef YYDEBUG\n\
# define YYDEBUG 1\n\ # define YYDEBUG 1\n\
#endif\n\ #endif\n\
\n", \n");
ftable);
if (semantic_parser) if (semantic_parser)
fprintf (ftable, "#include \"%s\"\n", attrsfile); obstack_fgrow1 (&table_obstack, "#include \"%s\"\n", attrsfile);
if (!no_parser_flag) if (!no_parser_flag)
fprintf (ftable, "#include <stdio.h>\n\n"); obstack_grow_literal_string (&table_obstack, "#include <stdio.h>\n\n");
/* Make "const" do nothing if not in ANSI C. */ /* Make "const" do nothing if not in ANSI C. */
fputs ("\ obstack_grow_literal_string (&table_obstack, "\
#ifndef __cplusplus\n\ #ifndef __cplusplus\n\
# ifndef __STDC__\n\ # ifndef __STDC__\n\
# define const\n\ # define const\n\
# endif\n\ # endif\n\
#endif\n\ #endif\n\
\n", \n");
ftable);
free_itemsets (); free_itemsets ();
output_defines (); output_defines ();

View File

@@ -219,7 +219,8 @@ copy_string (FILE *fin, FILE *fout, struct obstack *oout, int match)
`----------------------------------------------------------------*/ `----------------------------------------------------------------*/
static inline void static inline void
copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) copy_comment2 (FILE *fin, FILE *out1,
struct obstack *oout2, struct obstack *oout)
{ {
int cplus_comment; int cplus_comment;
int ended; int ended;
@@ -228,10 +229,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout)
/* We read a `/', output it. */ /* We read a `/', output it. */
if (out1) if (out1)
putc ('/', out1); putc ('/', out1);
if (out2)
putc ('/', out2);
if (oout) if (oout)
obstack_1grow (oout, '/'); obstack_1grow (oout, '/');
if (oout2)
obstack_1grow (oout2, '/');
switch ((c = getc (fin))) switch ((c = getc (fin)))
{ {
@@ -248,10 +249,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout)
if (out1) if (out1)
putc (c, out1); putc (c, out1);
if (out2)
putc (c, out2);
if (oout) if (oout)
obstack_1grow (oout, c); obstack_1grow (oout, c);
if (oout2)
obstack_1grow (oout2, c);
c = getc (fin); c = getc (fin);
ended = 0; ended = 0;
@@ -263,10 +264,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout)
{ {
if (out1) if (out1)
putc (c, out1); putc (c, out1);
if (out2)
putc (c, out2);
if (oout) if (oout)
obstack_1grow (oout, c); obstack_1grow (oout, c);
if (oout2)
obstack_1grow (oout2, c);
c = getc (fin); c = getc (fin);
} }
@@ -274,10 +275,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout)
{ {
if (out1) if (out1)
putc (c, out1); putc (c, out1);
if (out2)
putc (c, out2);
if (oout) if (oout)
obstack_1grow (oout, c); obstack_1grow (oout, c);
if (oout2)
obstack_1grow (oout2, c);
ended = 1; ended = 1;
} }
} }
@@ -286,10 +287,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout)
lineno++; lineno++;
if (out1) if (out1)
putc (c, out1); putc (c, out1);
if (out2)
putc (c, out2);
if (oout) if (oout)
obstack_1grow (oout, c); obstack_1grow (oout, c);
if (oout2)
obstack_1grow (oout2, c);
if (cplus_comment) if (cplus_comment)
ended = 1; ended = 1;
else else
@@ -301,10 +302,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout)
{ {
if (out1) if (out1)
putc (c, out1); putc (c, out1);
if (out2)
putc (c, out2);
if (oout) if (oout)
obstack_1grow (oout, c); obstack_1grow (oout, c);
if (oout2)
obstack_1grow (oout2, c);
c = getc (fin); c = getc (fin);
} }
} }
@@ -783,16 +784,16 @@ parse_union_decl (void)
obstack_1grow (&attrs_obstack, '\n'); obstack_1grow (&attrs_obstack, '\n');
obstack_grow_literal_string (&attrs_obstack, "typedef union"); obstack_grow_literal_string (&attrs_obstack, "typedef union");
if (fdefines) if (defines_flag)
fprintf (fdefines, "typedef union"); obstack_grow_literal_string (&defines_obstack, "typedef union");
c = getc (finput); c = getc (finput);
while (c != EOF) while (c != EOF)
{ {
obstack_1grow (&attrs_obstack, c); obstack_1grow (&attrs_obstack, c);
if (fdefines) if (defines_flag)
putc (c, fdefines); obstack_grow_literal_string (&defines_obstack, c);
switch (c) switch (c)
{ {
@@ -801,7 +802,7 @@ parse_union_decl (void)
break; break;
case '/': case '/':
copy_comment2 (finput, 0, fdefines, &attrs_obstack); copy_comment2 (finput, 0, &defines_obstack, &attrs_obstack);
break; break;
case '{': case '{':
@@ -815,8 +816,8 @@ parse_union_decl (void)
if (count <= 0) if (count <= 0)
{ {
obstack_grow_literal_string (&attrs_obstack, " YYSTYPE;\n"); obstack_grow_literal_string (&attrs_obstack, " YYSTYPE;\n");
if (fdefines) if (defines_flag)
fprintf (fdefines, " YYSTYPE;\n"); obstack_grow_literal_string (&defines_obstack, " YYSTYPE;\n");
/* JF don't choke on trailing semi */ /* JF don't choke on trailing semi */
c = skip_white_space (); c = skip_white_space ();
if (c != ';') if (c != ';')
@@ -1595,8 +1596,11 @@ readgram (void)
Most programs should declare their own type anyway. */ Most programs should declare their own type anyway. */
obstack_grow_literal_string (&attrs_obstack, obstack_grow_literal_string (&attrs_obstack,
"#ifndef YYSTYPE\n#define YYSTYPE int\n#endif\n"); "#ifndef YYSTYPE\n#define YYSTYPE int\n#endif\n");
if (fdefines) if (defines_flag)
fprintf (fdefines, "#ifndef YYSTYPE\n#define YYSTYPE int\n#endif\n"); obstack_grow_literal_string (&defines_obstack, "\
#ifndef YYSTYPE\n\
# define YYSTYPE int\n\
#endif\n");
} }
/* Report any undefined symbols and consider them nonterminals. */ /* Report any undefined symbols and consider them nonterminals. */
@@ -1620,7 +1624,7 @@ readgram (void)
`--------------------------------------------------------------*/ `--------------------------------------------------------------*/
static void static void
output_token_defines (FILE *file) output_token_defines (struct obstack *oout)
{ {
bucket *bp; bucket *bp;
char *cp, *symbol; char *cp, *symbol;
@@ -1653,14 +1657,15 @@ output_token_defines (FILE *file)
if (c != '\0') if (c != '\0')
continue; continue;
fprintf (file, "#define\t%s\t%d\n", symbol, obstack_fgrow2 (oout, "#define\t%s\t%d\n",
((translations && !raw_flag) symbol,
? bp->user_token_number : bp->value)); ((translations && !raw_flag)
? bp->user_token_number : bp->value));
if (semantic_parser) if (semantic_parser)
fprintf (file, "#define\tT%s\t%d\n", symbol, bp->value); obstack_fgrow2 (oout, "#define\tT%s\t%d\n", symbol, bp->value);
} }
putc ('\n', file); obstack_1grow (oout, '\n');
} }
@@ -1783,7 +1788,7 @@ packsymbols (void)
error_token_number = errtoken->value; error_token_number = errtoken->value;
if (!no_parser_flag) if (!no_parser_flag)
output_token_defines (ftable); output_token_defines (&table_obstack);
if (startval->class == unknown_sym) if (startval->class == unknown_sym)
fatal (_("the start symbol %s is undefined"), startval->tag); fatal (_("the start symbol %s is undefined"), startval->tag);
@@ -1794,15 +1799,16 @@ packsymbols (void)
if (defines_flag) if (defines_flag)
{ {
output_token_defines (fdefines); output_token_defines (&defines_obstack);
if (!pure_parser) if (!pure_parser)
{ {
if (spec_name_prefix) if (spec_name_prefix)
fprintf (fdefines, "\nextern YYSTYPE %slval;\n", obstack_fgrow1 (&defines_obstack, "\nextern YYSTYPE %slval;\n",
spec_name_prefix); spec_name_prefix);
else else
fprintf (fdefines, "\nextern YYSTYPE yylval;\n"); obstack_grow_literal_string (&defines_obstack,
"\nextern YYSTYPE yylval;\n");
} }
if (semantic_parser) if (semantic_parser)
@@ -1810,7 +1816,8 @@ packsymbols (void)
{ {
/* don't make these for dummy nonterminals made by gensym. */ /* don't make these for dummy nonterminals made by gensym. */
if (*tags[i] != '@') if (*tags[i] != '@')
fprintf (fdefines, "#define\tNT%s\t%d\n", tags[i], i); obstack_fgrow2 (&defines_obstack,
"#define\tNT%s\t%d\n", tags[i], i);
} }
#if 0 #if 0
/* `fdefines' is now a temporary file, so we need to copy its /* `fdefines' is now a temporary file, so we need to copy its
@@ -1942,16 +1949,19 @@ reader (void)
undeftoken->class = token_sym; undeftoken->class = token_sym;
undeftoken->user_token_number = 2; undeftoken->user_token_number = 2;
/* Read the declaration section. Copy %{ ... %} groups to FTABLE /* Read the declaration section. Copy %{ ... %} groups to
and FDEFINES file. Also notice any %token, %left, etc. found TABLE_OBSTACK and FDEFINES file. Also notice any %token, %left,
there. */ etc. found there. */
putc ('\n', ftable); obstack_1grow (&table_obstack, '\n');
fprintf (ftable, "\ obstack_fgrow3 (&table_obstack, "\
/* %s, made from %s\n\ /* %s, made from %s\n\
by GNU bison %s. */\n\ by GNU bison %s. */\n\
\n", no_parser_flag ? "Bison-generated parse tables" : "A Bison parser", infile, VERSION); \n",
no_parser_flag ? "Bison-generated parse tables" : "A Bison parser",
infile, VERSION);
fputs ("#define YYBISON 1 /* Identify Bison output. */\n\n", ftable); obstack_grow_literal_string (&table_obstack,
"#define YYBISON 1 /* Identify Bison output. */\n\n");
read_declarations (); read_declarations ();
/* Start writing the guard and action files, if they are needed. */ /* Start writing the guard and action files, if they are needed. */
output_headers (); output_headers ();
@@ -1960,12 +1970,12 @@ reader (void)
readgram (); readgram ();
/* Now we know whether we need the line-number stack. If we do, /* Now we know whether we need the line-number stack. If we do,
write its type into the .tab.h file. */ write its type into the .tab.h file. */
if (fdefines) if (defines_flag)
reader_output_yylsp (fdefines); reader_output_yylsp (&defines_obstack);
/* Write closing delimiters for actions and guards. */ /* Write closing delimiters for actions and guards. */
output_trailers (); output_trailers ();
if (locations_flag) if (locations_flag)
fputs ("#define YYLSP_NEEDED\n\n", ftable); obstack_grow_literal_string (&table_obstack, "#define YYLSP_NEEDED\n\n");
/* Assign the symbols their symbol numbers. Write #defines for the /* Assign the symbols their symbol numbers. Write #defines for the
token symbols into FDEFINES if requested. */ token symbols into FDEFINES if requested. */
packsymbols (); packsymbols ();
@@ -1978,10 +1988,10 @@ reader (void)
void void
reader_output_yylsp (FILE *f) reader_output_yylsp (struct obstack *oout)
{ {
if (locations_flag) if (locations_flag)
fputs ("\ obstack_grow_literal_string (oout, "\
\n\ \n\
#ifndef YYLTYPE\n\ #ifndef YYLTYPE\n\
typedef struct yyltype\n\ typedef struct yyltype\n\
@@ -1997,6 +2007,5 @@ typedef struct yyltype\n\
\n\ \n\
# define YYLTYPE yyltype\n\ # define YYLTYPE yyltype\n\
#endif\n\ #endif\n\
\n", \n");
f);
} }

View File

@@ -1,5 +1,5 @@
/* Input parser for bison /* Input parser for bison
Copyright (C) 2000 Free Software Foundation, Inc. Copyright 2000 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
@@ -30,7 +30,7 @@
extern void reader PARAMS ((void)); extern void reader PARAMS ((void));
extern void reader_output_yylsp PARAMS ((FILE *)); extern void reader_output_yylsp PARAMS ((struct obstack *));
extern int lineno; extern int lineno;
extern char **tags; extern char **tags;

View File

@@ -187,3 +187,10 @@ do { \
sprintf (buf, Format, Arg1, Arg2); \ sprintf (buf, Format, Arg1, Arg2); \
obstack_grow (Obs, buf, strlen (buf)); \ obstack_grow (Obs, buf, strlen (buf)); \
} while (0) } while (0)
#define obstack_fgrow3(Obs, Format, Arg1, Arg2, Arg3) \
do { \
char buf[4096]; \
sprintf (buf, Format, Arg1, Arg2, Arg3); \
obstack_grow (Obs, buf, strlen (buf)); \
} while (0)