From: Akim Demaille Date: Thu, 2 Nov 2000 13:38:12 +0000 (+0000) Subject: Remove the last uses of mktemp and unlink/delete. X-Git-Tag: BISON-1_28b~80 X-Git-Url: https://git.saurik.com/bison.git/commitdiff_plain/896fe5c10a4b4b434afb37b9de106b23d42a09f4?ds=sidebyside 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. --- diff --git a/ChangeLog b/ChangeLog index e0e980b7..2150f851 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2000-11-02 Akim Demaille + + 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 Change each use of `fattrs' into a use of `attrs_obstack'. diff --git a/po/de.po b/po/de.po index c6fa4bf1..16258422 100644 --- a/po/de.po +++ b/po/de.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: bison 1.25\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Ulrich Drepper \n" "Language-Team: German \n" @@ -208,7 +208,7 @@ msgstr "" msgid "unexpected `/' found and ignored" 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" msgstr "unbeendeter Kommentar" @@ -258,7 +258,7 @@ msgstr "interner Fehler, %s\n" msgid "Entering set_nullable" msgstr "Führe »set_nullable« aus" -#: src/output.c:983 +#: src/output.c:1026 #, fuzzy, c-format msgid "maximum table size (%d) exceeded" msgstr "maximale Tabellengröße (%s) überschritten" @@ -351,229 +351,229 @@ msgstr " auf der linken Seite:" msgid " on right:" msgstr " auf der rechten Seite:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " Überspringe Zeichen bis zum nächsten \\n" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %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" 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" msgstr "unbeendete Zeichenkette am Ende der Datei" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" msgstr "unbeendete Zeichenkette" -#: src/reader.c:325 src/reader.c:387 +#: src/reader.c:366 src/reader.c:446 #, fuzzy, c-format msgid "%s is invalid" msgstr "@%s ist unzulässig" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "$$ von »%s« hat keine deklarierten Wert" -#: src/reader.c:380 +#: src/reader.c:439 #, fuzzy, c-format msgid "$%d of `%s' has no declared type" msgstr "»%s« von »%s« hat keine deklarierten Wert" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' 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 msgid "Premature EOF after %s" msgstr "" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "erneute Deklaration des Typs für %s" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid in %s" 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 msgid "multiple %s declarations" 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 msgid "invalid %s declaration" msgstr "ungültige %start Deklaration" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "%type Deklaration hat keinen " -#: src/reader.c:616 +#: src/reader.c:673 #, fuzzy msgid "invalid %%type declaration due to item: %s" msgstr "ungültige %%type Deklaration wegen »%s«" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %s" msgstr "Stellenwertigkeit von %s wird erneut definiert" -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen" -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected item: %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 msgid "unmatched %s" msgstr "»{« hat kein Gegenstück" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "Argument von %expect ist keine ganze Zahl" -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "hier wird eine Zeichenkette erwartet, nicht %s" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "unbekannt: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "keine Eingabe-Grammatik" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "unbekanntes Zeichen: %s" -#: src/reader.c:1127 +#: src/reader.c:1193 #, fuzzy, c-format msgid "unterminated %guard clause" msgstr "unbeendeter %%guard Fall" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "" "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon " "gefolgt" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" msgstr "Regel für %s vorhanden, welches aber ein Token ist" -#: src/reader.c:1429 +#: src/reader.c:1495 msgid "two @prec's in a row" msgstr "zwei @prec Anweisungen nacheinander" -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" msgstr "" "%%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" msgstr "Zwei Aktionen am Ende einer Regel" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion" -#: src/reader.c:1466 +#: src/reader.c:1532 msgid "empty rule for typed nonterminal, and no action" msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "ungültige Eingabe: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, fuzzy, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "Eingabegrammatik enthält keine Regeln" -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "" "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine " "Regel" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "assoc Werte für %s nd %s widersprechen sich" -#: src/reader.c:1709 +#: src/reader.c:1777 #, fuzzy, c-format msgid "tokens %s and %s both assigned number %d" msgstr "Token %s und %s haben die selbe nummer %s" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "das Startsymbol %s ist undefiniert" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "das Startsymbol %s ist ein Token" diff --git a/po/es.po b/po/es.po index 62614fdc..60700d35 100644 --- a/po/es.po +++ b/po/es.po @@ -30,7 +30,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU bison 1.25\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Nicolás García-Pedrajas \n" "Language-Team: Spanish \n" @@ -268,7 +268,7 @@ msgstr "" msgid "unexpected `/' found and ignored" 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" 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 # ngp # -#: src/output.c:983 +#: src/output.c:1026 #, fuzzy, c-format msgid "maximum table size (%d) exceeded" msgstr "excedido el tamaño máximo de la tabla (%s)" @@ -421,96 +421,96 @@ msgstr " en la izquierda:" msgid " on right:" msgstr " en la derecha:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " Saltando al siguiente \\n" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %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" 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" msgstr "cadena sin terminar al final del fichero" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" msgstr "cadena sin terminar" -#: src/reader.c:325 src/reader.c:387 +#: src/reader.c:366 src/reader.c:446 #, fuzzy, c-format msgid "%s is invalid" msgstr "@%s no es válido" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "$$ de `%s' no tiene tipo declarado" -#: src/reader.c:380 +#: src/reader.c:439 #, fuzzy, c-format msgid "$%d of `%s' has no declared type" msgstr "$%s de `%s' no tiene tipo declarado" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' definition" 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 msgid "Premature EOF after %s" msgstr "" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "redeclaración del tipo de %s" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid in %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 msgid "multiple %s declarations" 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 msgid "invalid %s declaration" msgstr "declaración de %start no válida" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "la declaración %type no tiene " -#: src/reader.c:616 +#: src/reader.c:673 #, fuzzy msgid "invalid %%type declaration due to item: %s" msgstr "declaración de %%type no válida debido al ítem: `%s'" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %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 # cambiado `debe' por `debería' - cll # ahí me has pillado en un olvido del inglés - ngp -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "" @@ -529,18 +529,18 @@ msgstr "" # otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en # este caso, la segunda me parece más apropiada - cll # ok - ngp -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected item: %s" msgstr "ítem inesperado: %s" # Cambio el orden y el sexo. Ahora está "en español". sv -#: src/reader.c:756 src/reader.c:1034 src/reader.c:1104 +#: src/reader.c:813 src/reader.c:1099 src/reader.c:1170 #, fuzzy, c-format msgid "unmatched %s" msgstr "`{' desemparejada" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "el argumento de %expect no es un entero" @@ -551,26 +551,26 @@ msgstr "el argumento de %expect no es un entero" # - cll # ok - ngp # -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "no se reconoce el ítem %s, se esperaba un identificador" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "se esperaba una cadena constante en lugar de %s" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "no reconocido: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "no hay gramática de entrada" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "carácter desconocido: %s" @@ -579,93 +579,93 @@ msgstr "car # mejor que `sin terminar' que me parece más "computerizado" - cll # quizás un poco cacofónico lo de claúsula inconclusa - ngp # -#: src/reader.c:1127 +#: src/reader.c:1193 #, fuzzy, c-format msgid "unterminated %guard clause" msgstr "cláusula %%guard sin terminar" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "regla mal formada: el símbolo inicial no está seguido por :" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "la gramática comienza con una barra vertical" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" msgstr "se ha dado una regla para %s, que es un terminal" -#: src/reader.c:1429 +#: src/reader.c:1495 msgid "two @prec's in a row" msgstr "dos @prec en una línea" # Insisto, el empleo de participios a secas me parece como hablar en # indio. Por favor, permíteme que añada un "está" :) - cll # ok - ngp -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" 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" msgstr "dos acciones al final de una regla" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto" -#: src/reader.c:1466 +#: src/reader.c:1532 msgid "empty rule for typed nonterminal, and no action" msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "entrada no válida: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, fuzzy, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "demasiados símbolos (terminales y no terminales); máximo %s" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "no hay reglas en la gramática de entrada" # `token' se debe traducir como `literal' - cll # en terminología de compiladores token es más un terminal - ngp # -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "" "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "precedencias en conflicto entre %s y %s" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "conflicto de valores assoc para %s y %s" -#: src/reader.c:1709 +#: src/reader.c:1777 #, fuzzy, c-format msgid "tokens %s and %s both assigned number %d" msgstr "los terminales %s y %s tienen asignados ambos el número %s" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "el símbolo de inicio (axioma) %s no está definido" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "el símbolo de inicio (axioma) %s es un terminal" diff --git a/po/et.po b/po/et.po index 026f31b6..613fce85 100644 --- a/po/et.po +++ b/po/et.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: bison 1.25\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Toomas Soome \n" "Language-Team: Estonian \n" @@ -233,7 +233,7 @@ msgstr "liiga palju gotosid (maks %d)" msgid "unexpected `/' found and ignored" msgstr "leidsin ja ignoreerin ootamatu `/'" -#: src/lex.c:112 src/reader.c:269 +#: src/lex.c:112 src/reader.c:299 msgid "unterminated comment" msgstr "lõpetamata kommentaar" @@ -281,7 +281,7 @@ msgstr "%s: sisemine viga: %s\n" msgid "Entering set_nullable" msgstr "Entering set_nullable" -#: src/output.c:983 +#: src/output.c:1026 #, c-format msgid "maximum table size (%d) exceeded" msgstr "ületati maksimaalset tabelisuurust (%d)" @@ -374,225 +374,225 @@ msgstr " vasakul:" msgid " on right:" msgstr " paremal:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " Liigun järgmisele \\n" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %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" 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" msgstr "lõpetamata sõne faili lõpus" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" msgstr "lõpetamata sõne" -#: src/reader.c:325 src/reader.c:387 +#: src/reader.c:366 src/reader.c:446 #, fuzzy, c-format msgid "%s is invalid" msgstr "@%s on vigane" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "`%s' $$ ei oma deklareeritud tüüpi" -#: src/reader.c:380 +#: src/reader.c:439 #, c-format msgid "$%d of `%s' has no declared type" msgstr "$%d `%s' ei oma deklareeritud tüüpi" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' definition" 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 msgid "Premature EOF after %s" msgstr "Enneaegne EOF peale %s" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "%s tüübi uuesti deklareerimine" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid in %s" 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 msgid "multiple %s declarations" msgstr "korduvad %start deklaratsioonid" -#: src/reader.c:561 src/reader.c:1202 +#: src/reader.c:618 src/reader.c:1268 #, fuzzy, c-format msgid "invalid %s declaration" msgstr "vigane %start deklaratsioon" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "%type deklaratsioonis puudub " -#: src/reader.c:616 +#: src/reader.c:673 msgid "invalid %%type declaration due to item: %s" msgstr "vigane %%type deklaratsioon, element: %s" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %s" msgstr "%s prioriteedi uus definitsioon" -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "vigane tekst (%s) - number peab olema peale identifikaatorit" -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected item: %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 msgid "unmatched %s" msgstr "puudub `{'" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "%expect argument ei ole täisarv" -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "tundmatu element %s, eeldasin identifikaatorit" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "eeldasin %s asemel sõnekonstanti" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "tundmatu: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "sisendgrammatikat pole" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "tundmatu sümbol: %s" -#: src/reader.c:1127 +#: src/reader.c:1193 #, c-format msgid "unterminated %guard clause" msgstr "lõpetamata %guard klausel" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "vigaselt formeeritud reegel: algsümbolile ei järgne koolonit" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "grammatika algab püstkriipsuga" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" msgstr "%s jaoks on antud reegel, aga see on märk" -#: src/reader.c:1429 +#: src/reader.c:1495 msgid "two @prec's in a row" msgstr "kaks @prec ühel real" -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" 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" msgstr "kaks tegevust ühe reegli lõpus" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')" -#: src/reader.c:1466 +#: src/reader.c:1532 msgid "empty rule for typed nonterminal, and no action" msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "vigane sisend: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "sisendgrammatikas pole reegleid" -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "" "kasutatakse sümbolit %s, mis ei ole defineeritud märgina ja millel puuduvad " "reeglid" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "%s ja %s omavad konfliktseid prioriteete" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "%s ja %s omavad konfliktseid assotsiatiivseid väärtuseid" -#: src/reader.c:1709 +#: src/reader.c:1777 #, c-format msgid "tokens %s and %s both assigned number %d" msgstr "märkidele %s ja %s on mõlemale omistatud number %d" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "stardisümbol %s ei ole defineeritud" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "stardisümbol %s on märk" diff --git a/po/fr.po b/po/fr.po index 011abbb3..14b23b16 100644 --- a/po/fr.po +++ b/po/fr.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: bison 1.25\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Dominique Boucher \n" "Language-Team: French \n" @@ -215,7 +215,7 @@ msgstr "" msgid "unexpected `/' found and ignored" msgstr "`/' inattendu et ignoré" -#: src/lex.c:112 src/reader.c:269 +#: src/lex.c:112 src/reader.c:299 msgid "unterminated comment" msgstr "le commentaire ne se termine pas" @@ -264,7 +264,7 @@ msgstr "erreur interne, %s\n" msgid "Entering set_nullable" msgstr "Entré dans set_nullable" -#: src/output.c:983 +#: src/output.c:1026 #, fuzzy, c-format msgid "maximum table size (%d) exceeded" msgstr "taille maximum des tables (%s) dépassée" @@ -357,227 +357,227 @@ msgstr " msgid " on right:" msgstr " à droite:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " Saut jusqu'au prochain \\n" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %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" 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" msgstr "chaîne de caractères non terminée en fin de fichier" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" 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 msgid "%s is invalid" msgstr "@%s n'est pas valide" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "$$ de `%s' n'a pas son type déclaré" -#: src/reader.c:380 +#: src/reader.c:439 #, fuzzy, c-format msgid "$%d of `%s' has no declared type" msgstr "$%s cd `%s' n'a pas son type déclaré" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' definition" 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 msgid "Premature EOF after %s" msgstr "" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "redéclaration du type de %s" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid in %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 msgid "multiple %s declarations" msgstr "multiples déclarations %start" -#: src/reader.c:561 src/reader.c:1202 +#: src/reader.c:618 src/reader.c:1268 #, fuzzy, c-format msgid "invalid %s declaration" msgstr "la déclaration %start n'est pas valide" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "la déclaration %type n'a pas de " -#: src/reader.c:616 +#: src/reader.c:673 #, fuzzy msgid "invalid %%type declaration due to item: %s" msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %s" msgstr "redéfinition du niveau de priorité de %s" -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "" "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur" -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected item: %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 msgid "unmatched %s" msgstr "accolade ouvrante `{' non appariée" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "le paramètre de %expect n'est pas un entier" -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "item %s non reconnu, un identificateur est attendu" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "chaîne de caractères constante attendue plutôt que %s" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "non reconnu: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "aucune grammaire en entrée" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "caractère inconnu: %s" -#: src/reader.c:1127 +#: src/reader.c:1193 #, fuzzy, c-format msgid "unterminated %guard clause" msgstr "clause %%guard non terminée" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "la grammaire débute par une barre verticale" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" 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" msgstr "deux @prec de suite" -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" 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" msgstr "deux actions à la fin d'une même règle" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" msgstr "conflit de type (`%s' `%s') pour l'action par défaut" -#: src/reader.c:1466 +#: src/reader.c:1532 msgid "empty rule for typed nonterminal, and no action" msgstr "règle vide pour une catégorie typée et aucune action" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "entrée non valide: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, fuzzy, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "trop de symboles (terminaux et catégories); maximum de %s" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "la grammaire n'a pas de règles" -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "" "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas " "de règle" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "les priorités pour %s et %s entrent en conflit" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "les valeurs d'association de %s et %s entrent en conflit" -#: src/reader.c:1709 +#: src/reader.c:1777 #, fuzzy, c-format msgid "tokens %s and %s both assigned number %d" msgstr "les terminaux %s et %s se sont vus assigner le nombre %s" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "le symbole de départ %s n'est pas défini" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "le symbole de départ %s est un terminal" diff --git a/po/ja.po b/po/ja.po index c2eb5759..e2078880 100644 --- a/po/ja.po +++ b/po/ja.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU bison 1.28\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Daisuke Yamashita \n" "Language-Team: Japanese \n" @@ -214,7 +214,7 @@ msgstr "%s msgid "unexpected `/' found and ignored" msgstr "ͽ´ü¤·¤Ê¤¤ `/' ¤¬¸«¤Ä¤«¤ê¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿" -#: src/lex.c:112 src/reader.c:269 +#: src/lex.c:112 src/reader.c:299 msgid "unterminated comment" msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹" @@ -263,7 +263,7 @@ msgstr "%s: msgid "Entering set_nullable" msgstr "set_nullable ¤ËÆþ¤ê¤Þ¤¹" -#: src/output.c:983 +#: src/output.c:1026 #, fuzzy, c-format msgid "maximum table size (%d) exceeded" msgstr "ºÇÂç¥Æ¡¼¥Ö¥ë¥µ¥¤¥º (%s) ¤òĶ¤¨¤Þ¤·¤¿" @@ -356,226 +356,226 @@ msgstr " msgid " on right:" msgstr " ±¦ÊÕ:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " ¼¡¤Î \\n ¤Ë¥¹¥­¥Ã¥×" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %c" msgstr " ¼¡¤Î %c ¤Ë¥¹¥­¥Ã¥×" -#: src/reader.c:133 src/reader.c:145 +#: src/reader.c:134 src/reader.c:146 msgid "invalid $ value" msgstr "̵¸ú¤Ê $ ¤ÎÃÍ" -#: src/reader.c:170 src/reader.c:185 +#: src/reader.c:175 src/reader.c:193 msgid "unterminated string at end of file" msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎ󤬥ե¡¥¤¥ëËöÈø¤Ë¤¢¤ê¤Þ¤¹" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤Ê¸»úÎó" -#: src/reader.c:325 src/reader.c:387 +#: src/reader.c:366 src/reader.c:446 #, fuzzy, c-format msgid "%s is invalid" msgstr "@%s ¤Ï̵¸ú¤Ç¤¹" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "`%s' ¤Î $$ ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹" -#: src/reader.c:380 +#: src/reader.c:439 #, fuzzy, c-format msgid "$%d of `%s' has no declared type" msgstr "`%s' ¤Î $%s ¤ËÀë¸À¤Î¤Ê¤¤·¿¤¬¤¢¤ê¤Þ¤¹" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' definition" 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 msgid "Premature EOF after %s" msgstr "" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "%s ¤Î·¿¤¬ºÆÄêµÁ¤µ¤ì¤Þ¤·¤¿" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid in %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 msgid "multiple %s declarations" msgstr "Ê£¿ô¤Î %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿" -#: src/reader.c:561 src/reader.c:1202 +#: src/reader.c:618 src/reader.c:1268 #, fuzzy, c-format msgid "invalid %s declaration" msgstr "̵¸ú¤Ê %start ¤¬Àë¸À¤µ¤ì¤Þ¤·¤¿" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "%type Àë¸À¤Ë <¥¿¥¤¥×̾> ¤¬¤¢¤ê¤Þ¤»¤ó" -#: src/reader.c:616 +#: src/reader.c:673 #, fuzzy msgid "invalid %%type declaration due to item: %s" msgstr "¥¢¥¤¥Æ¥à¤ËÍ¿¤¨¤é¤ì¤ë¤Ù¤­ %%type Àë¸À¤¬Ìµ¸ú¤Ç¤¹: `%s'" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %s" msgstr "%s ¤ËÀè¹Ô¤·¤¿ºÆÄêµÁ¤Ç¤¹" -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "̵¸ú¤Ê¥Æ¥­¥¹¥È (%s) - ¿ôÃͤϼ±Ê̻Ҥθå¤í¤Ë¤¢¤ë¤Ù¤­¤Ç¤¹" -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected item: %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 msgid "unmatched %s" msgstr "Âбþ¤Î¤Ê¤¤ `{' ¤Ç¤¹" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "%expect ¤Î°ú¿ô¤¬À°¿ôÃͤǤϤ¢¤ê¤Þ¤»¤ó" -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "ǧ¼±¤Ç¤­¤Ê¤¤¥¢¥¤¥Æ¥à %s¡¢¤³¤³¤Ç¤Ï¼±Ê̻Ҥ¬´üÂÔ¤µ¤ì¤Þ¤¹" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "¤³¤³¤Ç¤Ï %s ¤Ç¤Ï¤Ê¤¯Ê¸»úÎóÄê¿ô¤¬´üÂÔ¤µ¤ì¤Þ¤¹" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "ǧ¼±¤Ç¤­¤Ê¤¤: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "ʸˡ¤ÎÆþÎϤ¬Ìµ¤¤" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "̤ÃΤÎʸ»ú: %s" -#: src/reader.c:1127 +#: src/reader.c:1193 #, fuzzy, c-format msgid "unterminated %guard clause" msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤ %%guard Àá¤Ç¤¹" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "¼Ù°­¤Êµ¬Â§: ½é´ü²½¥·¥ó¥Ü¥ë¤Ë¥³¥í¥ó (:) ¤¬Â³¤¤¤Æ¤¤¤Þ¤»¤ó" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "ʸˡ¤Ï½ÄËÀ (|) ¤Ç»Ï¤á¤Þ¤¹" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" msgstr "%s ¤Ëµ¬Â§¤¬Í¿¤¨¤é¤ì¡¢¤½¤ì¤Ï¥È¡¼¥¯¥ó¤È¤Ê¤ê¤Þ¤¹" -#: src/reader.c:1429 +#: src/reader.c:1495 msgid "two @prec's in a row" msgstr "@prec ¤Î¤â¤ÎÆó¤Ä¤¬Æ±Îó¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹" -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" msgstr "%%guard ¤¬¤¢¤ê¤Þ¤¹¤¬ %%semantic_parser ¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/reader.c:1446 +#: src/reader.c:1512 msgid "two actions at end of one rule" msgstr "°ì¤Ä¤Îµ¬Â§¤Î½ª¤ê¤ËÆó¤Ä¤ÎÆ°ºî¤ò»ØÄꤷ¤Æ¤¤¤Þ¤¹" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" msgstr "½é´ü¾õÂÖ¤ÎÆ°ºî¤Ç¤Ï·¿ (`%s' `%s') ¤¬¾×Æͤ·¤Þ¤¹" -#: src/reader.c:1466 +#: src/reader.c:1532 msgid "empty rule for typed nonterminal, and no action" msgstr "¶õ¤Î·¿ÉÕ¤­Èó½ªÃ¼¥¢¥¤¥Æ¥àÍѵ¬Â§¤Ç¤¢¤ê¡¢Æ°ºî¤¬µ¯¤ê¤Þ¤»¤ó" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "̵¸ú¤ÊÆþÎÏ: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, fuzzy, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "¥·¥ó¥Ü¥ë¤¬Â¿¤¹¤®¤Þ¤¹ (¥È¡¼¥¯¥ó¤ÈÈó½ªÃ¼¥¢¥¤¥Æ¥à) -- ºÇÂç %s" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "ÆþÎϤ·¤¿Ê¸Ë¡¤Ëµ¬Â§¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "" "¥·¥ó¥Ü¥ë %s " "¤¬»È¤ï¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢¥È¡¼¥¯¥ó¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤ª¤é¤º¡¢µ¬Â§¤ò»ý¤Á¤Þ¤»¤ó" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "Àè¹Ô¤·¤Æ¤¤¤ë %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "Èó·ë¹çÃÍ %s ¤È %s ¤Ç¶¥¹ç¤¬À¸¤¸¤Æ¤¤¤Þ¤¹" -#: src/reader.c:1709 +#: src/reader.c:1777 #, fuzzy, c-format msgid "tokens %s and %s both assigned number %d" msgstr "¥È¡¼¥¯¥ó %s ¤È %s ¤ÎÁÐÊý¤¬ÈÖ¹æ %s ¤Ë³ä¤êÅö¤Æ¤é¤ì¤Þ¤·¤¿" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "³«»Ï¥·¥ó¥Ü¥ë %s ¤Ï¥È¡¼¥¯¥ó¤Ç¤¹" diff --git a/po/nl.po b/po/nl.po index 59048036..5382cde9 100644 --- a/po/nl.po +++ b/po/nl.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: bison 1.25\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Erick Branderhorst \n" "Language-Team: Dutch \n" @@ -214,7 +214,7 @@ msgstr "" msgid "unexpected `/' found and ignored" msgstr "onverwachte `/' gevonden en genegeerd" -#: src/lex.c:112 src/reader.c:269 +#: src/lex.c:112 src/reader.c:299 msgid "unterminated comment" msgstr "ongetermineerd commentaar" @@ -263,7 +263,7 @@ msgstr "interne fout, %s\n" msgid "Entering set_nullable" msgstr "Inkomende set nullable" -#: src/output.c:983 +#: src/output.c:1026 #, fuzzy, c-format msgid "maximum table size (%d) exceeded" msgstr "maximale tabel grootte (%s) overschreden" @@ -356,227 +356,227 @@ msgstr " links:" msgid " on right:" msgstr " rechts:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " Verder naar volgende \\n" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %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" 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" msgstr "niet getermineerde string aan einde van bestand" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" msgstr "niet getermineerde string" -#: src/reader.c:325 src/reader.c:387 +#: src/reader.c:366 src/reader.c:446 #, fuzzy, c-format msgid "%s is invalid" msgstr "@%s is onjuist" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "$$ van `%s' heeft geen gedeclareerd type" -#: src/reader.c:380 +#: src/reader.c:439 #, fuzzy, c-format msgid "$%d of `%s' has no declared type" msgstr "$%s van `%s' heeft geen gedeclareerd type" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' definition" 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 msgid "Premature EOF after %s" msgstr "" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "type herdeclaratie voor %s" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid 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 msgid "multiple %s declarations" msgstr "meerdere %start declaraties" -#: src/reader.c:561 src/reader.c:1202 +#: src/reader.c:618 src/reader.c:1268 #, fuzzy, c-format msgid "invalid %s declaration" msgstr "onjuiste %start declaratie" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "%type declaratie heeft geen " -#: src/reader.c:616 +#: src/reader.c:673 #, fuzzy msgid "invalid %%type declaration due to item: %s" msgstr "onjuist %%type declaratie door item: `%s'" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %s" msgstr "herdefinieren voorganger van %s" -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "onjuiste tekst (%s) - nummer hoort na de identifier" -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected 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 msgid "unmatched %s" msgstr "niet overeenkomstige `{'" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "argument van %expect is niet een integer" -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "onbekend item %s, verwacht een identifier" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "verwacht string constante in plaats van %s" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "onbekend: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "geen invoer grammatica" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "onbekend karakter: %s" -#: src/reader.c:1127 +#: src/reader.c:1193 #, fuzzy, c-format msgid "unterminated %guard clause" msgstr "niet getermineerde %%guard voorwaarde" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "" "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "grammatica start met een verticale bar" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" msgstr "regel geven voor %s, welke een teken is" -#: src/reader.c:1429 +#: src/reader.c:1495 msgid "two @prec's in a row" msgstr "twee @prec's in een regel" -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd" -#: src/reader.c:1446 +#: src/reader.c:1512 msgid "two actions at end of one rule" msgstr "twee akties aan het einde van een regel" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" 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" msgstr "lege regel voor getypte niet terminal, en geen aktie" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "ongeldige invoer: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, fuzzy, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "te veel symbolen (tekens plus nietterminals); maximum %s" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "geen regels voor invoer grammatica" -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "" "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n" "heeft geen regels" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "conflictuerende precedentein voor %s en %s" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "conflictuerende associatieve waarden voor %s en %s" -#: src/reader.c:1709 +#: src/reader.c:1777 #, c-format msgid "tokens %s and %s both assigned number %d" msgstr "" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "het start symbool %s is een token" diff --git a/po/ru.po b/po/ru.po index 83bdc2e4..d61f1869 100644 --- a/po/ru.po +++ b/po/ru.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: bison 1.28a\n" -"POT-Creation-Date: 2000-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" "Last-Translator: Dmitry S. Sivachenko \n" "Language-Team: Russian \n" @@ -235,7 +235,7 @@ msgstr " msgid "unexpected `/' found and ignored" msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'" -#: src/lex.c:112 src/reader.c:269 +#: src/lex.c:112 src/reader.c:299 msgid "unterminated comment" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ" @@ -283,7 +283,7 @@ msgstr "%s: msgid "Entering set_nullable" msgstr "÷ÈÏÄ × set_nullable" -#: src/output.c:983 +#: src/output.c:1026 #, c-format msgid "maximum table size (%d) exceeded" msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%d)" @@ -376,224 +376,224 @@ msgstr " msgid " on right:" msgstr " ÎÁÐÒÁ×Ï:" -#: src/reader.c:80 +#: src/reader.c:81 msgid " Skipping to next \\n" msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n" -#: src/reader.c:82 +#: src/reader.c:83 #, c-format msgid " Skipping to next %c" msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c" -#: src/reader.c:133 src/reader.c:145 +#: src/reader.c:134 src/reader.c:146 msgid "invalid $ value" msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ" -#: src/reader.c:170 src/reader.c:185 +#: src/reader.c:175 src/reader.c:193 msgid "unterminated string at end of file" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ" -#: src/reader.c:173 +#: src/reader.c:178 msgid "unterminated string" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ" -#: src/reader.c:325 src/reader.c:387 +#: src/reader.c:366 src/reader.c:446 #, fuzzy, c-format msgid "%s is invalid" msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s" -#: src/reader.c:364 +#: src/reader.c:414 #, c-format msgid "$$ of `%s' has no declared type" msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ" -#: src/reader.c:380 +#: src/reader.c:439 #, c-format msgid "$%d of `%s' has no declared type" msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ" -#: src/reader.c:433 +#: src/reader.c:492 msgid "unterminated `%{' definition" 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 msgid "Premature EOF after %s" msgstr "ðÒÅÖÄÅ×ÒÅÍÅÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ ÐÏÓÌÅ %s" -#: src/reader.c:497 +#: src/reader.c:554 #, c-format msgid "symbol `%s' used more than once as a literal string" msgstr "" -#: src/reader.c:500 +#: src/reader.c:557 #, c-format msgid "symbol `%s' given more than one literal string" msgstr "" -#: src/reader.c:522 src/reader.c:665 +#: src/reader.c:579 src/reader.c:722 #, c-format msgid "symbol %s redefined" 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 msgid "type redeclaration for %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s" -#: src/reader.c:542 +#: src/reader.c:599 #, c-format msgid "`%s' is invalid in %s" msgstr "`%s' ÎÅ×ÅÒÎÏ × %s" -#: src/reader.c:559 src/reader.c:719 +#: src/reader.c:616 src/reader.c:776 #, fuzzy, c-format msgid "multiple %s declarations" msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start" -#: src/reader.c:561 src/reader.c:1202 +#: src/reader.c:618 src/reader.c:1268 #, fuzzy, c-format msgid "invalid %s declaration" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start" -#: src/reader.c:581 +#: src/reader.c:638 msgid "%type declaration has no " msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>" -#: src/reader.c:616 +#: src/reader.c:673 msgid "invalid %%type declaration due to item: %s" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: %s" -#: src/reader.c:661 +#: src/reader.c:718 #, c-format msgid "redefining precedence of %s" msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s" -#: src/reader.c:685 +#: src/reader.c:742 #, c-format msgid "invalid text (%s) - number should be after identifier" msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ" -#: src/reader.c:695 +#: src/reader.c:752 #, c-format msgid "unexpected item: %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 msgid "unmatched %s" msgstr "ÎÅÐÁÒÎÁÑ `{'" -#: src/reader.c:788 +#: src/reader.c:845 #, fuzzy msgid "argument of %%expect is not an integer" msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ" -#: src/reader.c:835 +#: src/reader.c:892 #, c-format msgid "unrecognized item %s, expected an identifier" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ" -#: src/reader.c:859 +#: src/reader.c:916 #, c-format msgid "expected string constant instead of %s" msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ" -#: src/reader.c:959 +#: src/reader.c:1016 #, c-format msgid "unrecognized: %s" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s" -#: src/reader.c:964 +#: src/reader.c:1021 msgid "no input grammar" msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ" -#: src/reader.c:969 +#: src/reader.c:1026 #, c-format msgid "unknown character: %s" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s" -#: src/reader.c:1127 +#: src/reader.c:1193 #, c-format msgid "unterminated %guard clause" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %guard" -#: src/reader.c:1289 +#: src/reader.c:1355 msgid "ill-formed rule: initial symbol not followed by colon" msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ" -#: src/reader.c:1296 +#: src/reader.c:1362 msgid "grammar starts with vertical bar" msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ" -#: src/reader.c:1327 +#: src/reader.c:1393 #, c-format msgid "rule given for %s, which is a token" msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" -#: src/reader.c:1429 +#: src/reader.c:1495 msgid "two @prec's in a row" msgstr "Ä×Á @prec ÐÏÄÒÑÄ" -#: src/reader.c:1437 +#: src/reader.c:1503 #, fuzzy msgid "%%guard present but %%semantic_parser not specified" msgstr "%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %semantic_parser ÎÅ ÚÁÄÁÎ" -#: src/reader.c:1446 +#: src/reader.c:1512 msgid "two actions at end of one rule" msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ" -#: src/reader.c:1460 +#: src/reader.c:1526 #, c-format msgid "type clash (`%s' `%s') on default action" msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: src/reader.c:1466 +#: src/reader.c:1532 msgid "empty rule for typed nonterminal, and no action" msgstr "" "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ" -#: src/reader.c:1510 +#: src/reader.c:1576 #, c-format msgid "invalid input: %s" msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s" -#: src/reader.c:1518 +#: src/reader.c:1584 #, c-format msgid "too many symbols (tokens plus nonterminals); maximum %d" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d" -#: src/reader.c:1521 +#: src/reader.c:1587 msgid "no rules in the input grammar" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ" -#: src/reader.c:1541 +#: src/reader.c:1608 #, c-format msgid "symbol %s is used, but is not defined as a token and has no rules" msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ" -#: src/reader.c:1646 +#: src/reader.c:1714 #, c-format msgid "conflicting precedences for %s and %s" msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s" -#: src/reader.c:1658 +#: src/reader.c:1726 #, c-format msgid "conflicting assoc values for %s and %s" msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s" -#: src/reader.c:1709 +#: src/reader.c:1777 #, c-format msgid "tokens %s and %s both assigned number %d" msgstr "ÏÂÅÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %d" -#: src/reader.c:1722 +#: src/reader.c:1790 #, c-format msgid "the start symbol %s is undefined" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ" -#: src/reader.c:1724 +#: src/reader.c:1792 #, c-format msgid "the start symbol %s is a token" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" diff --git a/src/files.c b/src/files.c index 519bfdb0..7e0b24a4 100644 --- a/src/files.c +++ b/src/files.c @@ -49,13 +49,13 @@ FILE *finput = NULL; FILE *foutput = NULL; -FILE *fdefines = NULL; -FILE *ftable = NULL; FILE *fguard = NULL; FILE *fparser = NULL; struct obstack action_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. */ char *spec_outfile; @@ -68,10 +68,7 @@ static char *defsfile; static char *tabfile; static char *guardfile; static char *actfile; -static char *tmptabfile; -static char *tmpdefsfile; -extern char *mktemp (); /* So the compiler won't complain */ extern char *getenv (); extern char *program_name; @@ -189,7 +186,7 @@ open_files (void) 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. */ name_base = spec_outfile; #ifdef MSDOS @@ -291,27 +288,11 @@ open_files (void) 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) { 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 */ if (spec_outfile) tabfile = spec_outfile; @@ -334,6 +315,8 @@ open_files (void) /* Initialize the obstacks. */ obstack_init (&action_obstack); obstack_init (&attrs_obstack); + obstack_init (&table_obstack); + obstack_init (&defines_obstack); } @@ -384,27 +367,21 @@ done (void) xfclose (foutput); /* JF write out the output file */ - if (!complain_message_count && ftable) + if (!complain_message_count) { - FILE *ftmp; - register int c; - - ftmp = xfopen (tabfile, "w"); - rewind (ftable); - while ((c = getc (ftable)) != EOF) - putc (c, ftmp); - xfclose (ftmp); - xfclose (ftable); + /* Output the main file. */ + FILE *ftab = xfopen (tabfile, "w"); + size_t size = obstack_object_size (&table_obstack); + fwrite (obstack_finish (&table_obstack), 1, size, ftab); + xfclose (ftab); + /* Output the header file is wanted. */ if (defines_flag) { - ftmp = xfopen (defsfile, "w"); - fflush (fdefines); - rewind (fdefines); - while ((c = getc (fdefines)) != EOF) - putc (c, ftmp); - xfclose (ftmp); - xfclose (fdefines); + FILE *fdefs = xfopen (defsfile, "w"); + size_t size = obstack_object_size (&defines_obstack); + fwrite (obstack_finish (&defines_obstack), 1, size, fdefs); + xfclose (fdefs); } } @@ -428,21 +405,6 @@ done (void) 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 (). exit (complain_message_count ? 1 : 0); */ -#endif /* not VMS, or __VMS_POSIX */ } diff --git a/src/files.h b/src/files.h index a6c8875c..c511ea65 100644 --- a/src/files.h +++ b/src/files.h @@ -29,9 +29,6 @@ extern FILE *finput; /* read grammar specifications */ 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 *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 */ 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 int lineno; extern char *outfile; diff --git a/src/output.c b/src/output.c index 2ebb2f4e..8783dbd5 100644 --- a/src/output.c +++ b/src/output.c @@ -126,7 +126,7 @@ static int high; static inline void -output_short_or_char_table (FILE *out, +output_short_or_char_table (struct obstack *oout, const char *comment, const char *type, const char *table_name, @@ -137,19 +137,19 @@ output_short_or_char_table (FILE *out, int i, j; if (comment) - fprintf (out, "/* %s. */\n", comment); + obstack_fgrow1 (oout, "/* %s. */\n", comment); - fprintf (out, "static const %s %s[] =\n{\n %6d", - type, table_name, first_value); + obstack_fgrow3 (oout, "static const %s %s[] =\n{\n %6d", + type, table_name, first_value); j = 1; for (i = begin; i < end; i++) { - putc (',', out); + obstack_1grow (oout, ','); if (j >= 10) { - fputs ("\n ", out); + obstack_grow_literal_string (oout, "\n "); j = 1; } else @@ -157,22 +157,22 @@ output_short_or_char_table (FILE *out, 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 -output_short_table (FILE *out, +output_short_table (struct obstack *oout, const char *comment, const char *table_name, short *short_table, short first_value, 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); } @@ -265,13 +265,20 @@ output_headers (void) /* Rename certain symbols if -p was specified. */ if (spec_name_prefix) { - fprintf (ftable, "#define yyparse %sparse\n", spec_name_prefix); - fprintf (ftable, "#define yylex %slex\n", spec_name_prefix); - fprintf (ftable, "#define yyerror %serror\n", spec_name_prefix); - fprintf (ftable, "#define yylval %slval\n", spec_name_prefix); - fprintf (ftable, "#define yychar %schar\n", spec_name_prefix); - fprintf (ftable, "#define yydebug %sdebug\n", spec_name_prefix); - fprintf (ftable, "#define yynerrs %snerrs\n", spec_name_prefix); + obstack_fgrow1 (&table_obstack, + "#define yyparse %sparse\n", spec_name_prefix); + obstack_fgrow1 (&table_obstack, + "#define yylex %slex\n", spec_name_prefix); + obstack_fgrow1 (&table_obstack, + "#define yyerror %serror\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 output_token_translations (void) { - fputs ("\ + obstack_grow_literal_string (&table_obstack, "\ \n\ -/* YYRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */\n", - ftable); +/* YYRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */\n"); + if (translations) { - fprintf (ftable, + obstack_fgrow2 (&table_obstack, "#define YYTRANSLATE(x) ((unsigned)(x) <= %d ? yytranslate[x] : %d)\ \n\ \n", 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", ntokens < 127 ? "char" : "short", "yytranslate", token_translations, @@ -325,7 +332,8 @@ output_token_translations (void) } 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. */ /* With the no_parser option, all tables are generated */ 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); { @@ -354,20 +362,20 @@ output_gram (void) for (sp = ritem + 1, i = 1; *sp; ++sp, ++i) 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); XFREE (yyrhs); } if (!semantic_parser && !no_parser_flag) - fprintf (ftable, "\n#endif\n"); + obstack_grow_literal_string (&table_obstack, "\n#endif\n"); } static void output_stos (void) { - output_short_table (ftable, NULL, "yystos", accessing_symbol, + output_short_table (&table_obstack, NULL, "yystos", accessing_symbol, 0, 1, nstates); } @@ -379,33 +387,33 @@ output_rule_data (void) int j; short *short_tab = NULL; - fputs ("\n\ -#if YYDEBUG != 0\n", - ftable); + obstack_grow_literal_string (&table_obstack, "\n\ +#if YYDEBUG != 0\n"); - output_short_table (ftable, + output_short_table (&table_obstack, "YYRLINE[YYN] -- source line where rule number YYN was defined", "yyrline", rline, 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) { - fprintf (ftable, "#define YYNTOKENS %d\n", ntokens); - fprintf (ftable, "#define YYNNTS %d\n", nvars); - fprintf (ftable, "#define YYNRULES %d\n", nrules); - fprintf (ftable, "#define YYNSTATES %d\n", nstates); - fprintf (ftable, "#define YYMAXUTOK %d\n\n", max_user_token_number); + obstack_fgrow1 (&table_obstack, "#define YYNTOKENS %d\n", ntokens); + obstack_fgrow1 (&table_obstack, "#define YYNNTS %d\n", nvars); + obstack_fgrow1 (&table_obstack, "#define YYNRULES %d\n", nrules); + obstack_fgrow1 (&table_obstack, "#define YYNSTATES %d\n", nstates); + obstack_fgrow1 (&table_obstack, "#define YYMAXUTOK %d\n\n", + max_user_token_number); } /* Output the table of symbol names. */ if (!token_table_flag && !no_parser_flag) - fputs ("\n#if YYDEBUG != 0 || defined YYERROR_VERBOSE\n\n", ftable); - fputs ("\ -/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n", - ftable); - fprintf (ftable, + obstack_grow_literal_string (&table_obstack, + "\n#if YYDEBUG != 0 || defined YYERROR_VERBOSE\n\n"); + obstack_grow_literal_string (&table_obstack, "\ +/* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */\n"); + obstack_grow_literal_string (&table_obstack, "static const char *const yytname[] =\n{\n "); j = 0; @@ -429,76 +437,76 @@ output_rule_data (void) if (j + strsize > 75) { - fputs ("\n ", ftable); + obstack_grow_literal_string (&table_obstack, "\n "); j = 2; } - putc ('\"', ftable); + obstack_1grow (&table_obstack, '\"'); for (p = tags[i]; p && *p; p++) { if (*p == '"' || *p == '\\') { - fprintf (ftable, "\\%c", *p); + obstack_fgrow1 (&table_obstack, "\\%c", *p); } else if (*p == '\n') { - fprintf (ftable, "\\n"); + obstack_grow_literal_string (&table_obstack, "\\n"); } else if (*p == '\t') { - fprintf (ftable, "\\t"); + obstack_grow_literal_string (&table_obstack, "\\t"); } else if (*p == '\b') { - fprintf (ftable, "\\b"); + obstack_grow_literal_string (&table_obstack, "\\b"); } else if (*p < 040 || *p >= 0177) { - fprintf (ftable, "\\%03o", *p); + obstack_fgrow1 (&table_obstack, "\\%03o", *p); } else { - putc (*p, ftable); + obstack_1grow (&table_obstack, *p); } } - fputs ("\", ", ftable); + obstack_grow_literal_string (&table_obstack, "\", "); j += strsize; } /* 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) - fprintf (ftable, "#endif\n\n"); + obstack_grow_literal_string (&table_obstack, "#endif\n\n"); /* Output YYTOKNUM. */ if (token_table_flag) { - output_short_table (ftable, + output_short_table (&table_obstack, "YYTOKNUM[YYLEX] -- Index in YYTNAME corresponding to YYLEX", "yytoknum", user_toknums, 0, 1, ntokens + 1); } /* Output YYR1. */ - output_short_table (ftable, + output_short_table (&table_obstack, "YYR1[YYN] -- Symbol number of symbol that rule YYN derives", "yyr1", rlhs, 0, 1, nrules + 1); XFREE (rlhs + 1); - putc ('\n', ftable); + obstack_1grow (&table_obstack, '\n'); /* Output YYR2. */ short_tab = XMALLOC (short, nrules + 1); for (i = 1; i < nrules; i++) short_tab[i] = rrhs[i + 1] - rrhs[i] - 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", short_tab, 0, 1, nrules + 1); - putc ('\n', ftable); + obstack_1grow (&table_obstack, '\n'); XFREE (short_tab); @@ -509,9 +517,9 @@ output_rule_data (void) static void output_defines (void) { - fprintf (ftable, "\n\n#define\tYYFINAL\t\t%d\n", final_state); - fprintf (ftable, "#define\tYYFLAG\t\t%d\n", MINSHORT); - fprintf (ftable, "#define\tYYNTBASE\t%d\n", ntokens); + obstack_fgrow1 (&table_obstack, "\n\n#define\tYYFINAL\t\t%d\n", final_state); + obstack_fgrow1 (&table_obstack, "#define\tYYFLAG\t\t%d\n", MINSHORT); + obstack_fgrow1 (&table_obstack, "#define\tYYNTBASE\t%d\n", ntokens); } @@ -757,13 +765,13 @@ token_actions (void) } XFREE (actrow); - output_short_table (ftable, + output_short_table (&table_obstack, "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\ error", "yydefact", yydefact, yydefact[0], 1, nstates); - putc ('\n', ftable); + obstack_1grow (&table_obstack, '\n'); XFREE (yydefact); } @@ -901,7 +909,7 @@ goto_actions (void) 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); XFREE (state_count); @@ -1104,12 +1112,12 @@ pack_table (void) static void output_base (void) { - output_short_table (ftable, NULL, "yypact", base, + output_short_table (&table_obstack, NULL, "yypact", base, 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); XFREE (base); @@ -1119,8 +1127,8 @@ output_base (void) static void output_table (void) { - fprintf (ftable, "\n\n#define\tYYLAST\t\t%d\n\n\n", high); - output_short_table (ftable, NULL, "yytable", table, + obstack_fgrow1 (&table_obstack, "\n\n#define\tYYLAST\t\t%d\n\n\n", high); + output_short_table (&table_obstack, NULL, "yytable", table, table[0], 1, high + 1); XFREE (table); } @@ -1129,7 +1137,7 @@ output_table (void) static void output_check (void) { - output_short_table (ftable, NULL, "yycheck", check, + output_short_table (&table_obstack, NULL, "yycheck", check, check[0], 1, high + 1); XFREE (check); } @@ -1162,10 +1170,10 @@ output_actions (void) sort_actions (); pack_table (); - putc ('\n', ftable); + obstack_1grow (&table_obstack, '\n'); output_base (); output_table (); - putc ('\n', ftable); + obstack_1grow (&table_obstack, '\n'); output_check (); } @@ -1183,7 +1191,7 @@ output_parser (void) #endif if (pure_parser) - fprintf (ftable, "#define YYPURE 1\n\n"); + obstack_grow_literal_string (&table_obstack, "#define YYPURE 1\n\n"); #ifdef DONTDEF /* JF no longer needed 'cuz open_extra_files changes the currently @@ -1220,16 +1228,16 @@ output_parser (void) if (c == 'e') write_line = 0; else - fprintf (ftable, "#lin"); + obstack_grow_literal_string (&table_obstack, "#lin"); } else - fprintf (ftable, "#li"); + obstack_grow_literal_string (&table_obstack, "#li"); } else - fprintf (ftable, "#l"); + obstack_grow_literal_string (&table_obstack, "#l"); } else - fprintf (ftable, "#"); + obstack_grow_literal_string (&table_obstack, "#"); } /* now write out the line... */ @@ -1244,18 +1252,19 @@ output_parser (void) number_of_dollar_signs++; assert (number_of_dollar_signs == 1); - fwrite (obstack_finish (&action_obstack), - 1, size, ftable); + obstack_grow (&table_obstack, + obstack_finish (&action_obstack), + size); /* Skip the end of the line containing `$'. */ write_line = 0; } else - putc (c, ftable); + obstack_1grow (&table_obstack, c); } if (c == EOF) break; - putc (c, ftable); + obstack_1grow (&table_obstack, c); } assert (number_of_dollar_signs == 1); } @@ -1266,12 +1275,12 @@ output_program (void) int c; 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); while (c != EOF) { - putc (c, ftable); + obstack_1grow (&table_obstack, c); c = getc (finput); } } @@ -1304,36 +1313,34 @@ output (void) /* output_token_defines(ftable); / * JF put out token defines FIRST */ /* If using a simple parser the definition of YYSTYPE are put into - FTABLE. */ + TABLE_OBSTACK. */ if (!semantic_parser) { 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) - fputs ("\ + obstack_grow_literal_string (&table_obstack, "\ #ifndef YYDEBUG\n\ # define YYDEBUG 1\n\ #endif\n\ -\n", - ftable); +\n"); if (semantic_parser) - fprintf (ftable, "#include \"%s\"\n", attrsfile); + obstack_fgrow1 (&table_obstack, "#include \"%s\"\n", attrsfile); if (!no_parser_flag) - fprintf (ftable, "#include \n\n"); + obstack_grow_literal_string (&table_obstack, "#include \n\n"); /* Make "const" do nothing if not in ANSI C. */ - fputs ("\ + obstack_grow_literal_string (&table_obstack, "\ #ifndef __cplusplus\n\ # ifndef __STDC__\n\ # define const\n\ # endif\n\ #endif\n\ -\n", - ftable); +\n"); free_itemsets (); output_defines (); diff --git a/src/reader.c b/src/reader.c index 388ab5c9..3ef59350 100644 --- a/src/reader.c +++ b/src/reader.c @@ -219,7 +219,8 @@ copy_string (FILE *fin, FILE *fout, struct obstack *oout, int match) `----------------------------------------------------------------*/ 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 ended; @@ -228,10 +229,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) /* We read a `/', output it. */ if (out1) putc ('/', out1); - if (out2) - putc ('/', out2); if (oout) obstack_1grow (oout, '/'); + if (oout2) + obstack_1grow (oout2, '/'); switch ((c = getc (fin))) { @@ -248,10 +249,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) if (out1) putc (c, out1); - if (out2) - putc (c, out2); if (oout) obstack_1grow (oout, c); + if (oout2) + obstack_1grow (oout2, c); c = getc (fin); ended = 0; @@ -263,10 +264,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) { if (out1) putc (c, out1); - if (out2) - putc (c, out2); if (oout) obstack_1grow (oout, c); + if (oout2) + obstack_1grow (oout2, c); c = getc (fin); } @@ -274,10 +275,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) { if (out1) putc (c, out1); - if (out2) - putc (c, out2); if (oout) obstack_1grow (oout, c); + if (oout2) + obstack_1grow (oout2, c); ended = 1; } } @@ -286,10 +287,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) lineno++; if (out1) putc (c, out1); - if (out2) - putc (c, out2); if (oout) obstack_1grow (oout, c); + if (oout2) + obstack_1grow (oout2, c); if (cplus_comment) ended = 1; else @@ -301,10 +302,10 @@ copy_comment2 (FILE *fin, FILE *out1, FILE *out2, struct obstack *oout) { if (out1) putc (c, out1); - if (out2) - putc (c, out2); if (oout) obstack_1grow (oout, c); + if (oout2) + obstack_1grow (oout2, c); c = getc (fin); } } @@ -783,16 +784,16 @@ parse_union_decl (void) obstack_1grow (&attrs_obstack, '\n'); obstack_grow_literal_string (&attrs_obstack, "typedef union"); - if (fdefines) - fprintf (fdefines, "typedef union"); + if (defines_flag) + obstack_grow_literal_string (&defines_obstack, "typedef union"); c = getc (finput); while (c != EOF) { obstack_1grow (&attrs_obstack, c); - if (fdefines) - putc (c, fdefines); + if (defines_flag) + obstack_grow_literal_string (&defines_obstack, c); switch (c) { @@ -801,7 +802,7 @@ parse_union_decl (void) break; case '/': - copy_comment2 (finput, 0, fdefines, &attrs_obstack); + copy_comment2 (finput, 0, &defines_obstack, &attrs_obstack); break; case '{': @@ -815,8 +816,8 @@ parse_union_decl (void) if (count <= 0) { obstack_grow_literal_string (&attrs_obstack, " YYSTYPE;\n"); - if (fdefines) - fprintf (fdefines, " YYSTYPE;\n"); + if (defines_flag) + obstack_grow_literal_string (&defines_obstack, " YYSTYPE;\n"); /* JF don't choke on trailing semi */ c = skip_white_space (); if (c != ';') @@ -1595,8 +1596,11 @@ readgram (void) Most programs should declare their own type anyway. */ obstack_grow_literal_string (&attrs_obstack, "#ifndef YYSTYPE\n#define YYSTYPE int\n#endif\n"); - if (fdefines) - fprintf (fdefines, "#ifndef YYSTYPE\n#define YYSTYPE int\n#endif\n"); + if (defines_flag) + obstack_grow_literal_string (&defines_obstack, "\ +#ifndef YYSTYPE\n\ +# define YYSTYPE int\n\ +#endif\n"); } /* Report any undefined symbols and consider them nonterminals. */ @@ -1620,7 +1624,7 @@ readgram (void) `--------------------------------------------------------------*/ static void -output_token_defines (FILE *file) +output_token_defines (struct obstack *oout) { bucket *bp; char *cp, *symbol; @@ -1653,14 +1657,15 @@ output_token_defines (FILE *file) if (c != '\0') continue; - fprintf (file, "#define\t%s\t%d\n", symbol, - ((translations && !raw_flag) - ? bp->user_token_number : bp->value)); + obstack_fgrow2 (oout, "#define\t%s\t%d\n", + symbol, + ((translations && !raw_flag) + ? bp->user_token_number : bp->value)); 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; if (!no_parser_flag) - output_token_defines (ftable); + output_token_defines (&table_obstack); if (startval->class == unknown_sym) fatal (_("the start symbol %s is undefined"), startval->tag); @@ -1794,15 +1799,16 @@ packsymbols (void) if (defines_flag) { - output_token_defines (fdefines); + output_token_defines (&defines_obstack); if (!pure_parser) { if (spec_name_prefix) - fprintf (fdefines, "\nextern YYSTYPE %slval;\n", - spec_name_prefix); + obstack_fgrow1 (&defines_obstack, "\nextern YYSTYPE %slval;\n", + spec_name_prefix); else - fprintf (fdefines, "\nextern YYSTYPE yylval;\n"); + obstack_grow_literal_string (&defines_obstack, + "\nextern YYSTYPE yylval;\n"); } if (semantic_parser) @@ -1810,7 +1816,8 @@ packsymbols (void) { /* don't make these for dummy nonterminals made by gensym. */ 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 /* `fdefines' is now a temporary file, so we need to copy its @@ -1942,16 +1949,19 @@ reader (void) undeftoken->class = token_sym; undeftoken->user_token_number = 2; - /* Read the declaration section. Copy %{ ... %} groups to FTABLE - and FDEFINES file. Also notice any %token, %left, etc. found - there. */ - putc ('\n', ftable); - fprintf (ftable, "\ + /* Read the declaration section. Copy %{ ... %} groups to + TABLE_OBSTACK and FDEFINES file. Also notice any %token, %left, + etc. found there. */ + obstack_1grow (&table_obstack, '\n'); + obstack_fgrow3 (&table_obstack, "\ /* %s, made from %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 (); /* Start writing the guard and action files, if they are needed. */ output_headers (); @@ -1960,12 +1970,12 @@ reader (void) readgram (); /* Now we know whether we need the line-number stack. If we do, write its type into the .tab.h file. */ - if (fdefines) - reader_output_yylsp (fdefines); + if (defines_flag) + reader_output_yylsp (&defines_obstack); /* Write closing delimiters for actions and guards. */ output_trailers (); 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 token symbols into FDEFINES if requested. */ packsymbols (); @@ -1978,10 +1988,10 @@ reader (void) void -reader_output_yylsp (FILE *f) +reader_output_yylsp (struct obstack *oout) { if (locations_flag) - fputs ("\ + obstack_grow_literal_string (oout, "\ \n\ #ifndef YYLTYPE\n\ typedef struct yyltype\n\ @@ -1997,6 +2007,5 @@ typedef struct yyltype\n\ \n\ # define YYLTYPE yyltype\n\ #endif\n\ -\n", - f); +\n"); } diff --git a/src/reader.h b/src/reader.h index cf97a456..c2988911 100644 --- a/src/reader.h +++ b/src/reader.h @@ -1,5 +1,5 @@ /* 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. @@ -30,7 +30,7 @@ extern void reader PARAMS ((void)); -extern void reader_output_yylsp PARAMS ((FILE *)); +extern void reader_output_yylsp PARAMS ((struct obstack *)); extern int lineno; extern char **tags; diff --git a/src/system.h b/src/system.h index 23d57771..dfa287bb 100644 --- a/src/system.h +++ b/src/system.h @@ -187,3 +187,10 @@ do { \ sprintf (buf, Format, Arg1, Arg2); \ obstack_grow (Obs, buf, strlen (buf)); \ } 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)