Don't use `atexit'.

* src/files.c (obstack_save): New function.
(done): Rename as...
(output_files): this.
Use `obstack_save'.
* src/main.c (main): Don't use `atexit' to register `done', since
it no longer has to remove tmp files, just call `output_files'
when there are no errors.
This commit is contained in:
Akim Demaille
2000-11-03 16:52:45 +00:00
parent 0dbb648e3f
commit d8880f69ff
11 changed files with 329 additions and 75 deletions

View File

@@ -1,3 +1,15 @@
2000-11-03 Akim Demaille <akim@epita.fr>
Don't use `atexit'.
* src/files.c (obstack_save): New function.
(done): Rename as...
(output_files): this.
Use `obstack_save'.
* src/main.c (main): Don't use `atexit' to register `done', since
it no longer has to remove tmp files, just call `output_files'
when there are no errors.
2000-11-02 Akim Demaille <akim@epita.fr> 2000-11-02 Akim Demaille <akim@epita.fr>
* src/files.c [VMS]: No longer include `ssdef.h', no longer define * src/files.c [VMS]: No longer include `ssdef.h', no longer define

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -249,7 +249,7 @@ msgstr "unerwarteter Typname"
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden" msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
#: src/main.c:104 #: src/main.c:103
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "interner Fehler, %s\n" msgstr "interner Fehler, %s\n"
@@ -674,6 +674,10 @@ msgstr ""
"Reduzierung von %s definiert %d Terminal, %d Nicht-Terminal und %d " "Reduzierung von %s definiert %d Terminal, %d Nicht-Terminal und %d "
"Produktionen.\n" "Produktionen.\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -733,12 +737,43 @@ msgstr "%s: die Option
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: die Option »--%s« erlaubt kein Argument\n" msgstr "%s: die Option »--%s« erlaubt kein Argument\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: Hauptspeicher erschöpft\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: Hauptspeicher erschöpft\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "$%s ist unzulässig" #~ msgstr "$%s ist unzulässig"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: Hauptspeicher erschöpft\n"
#~ msgid "unmatched close-brace (`}')" #~ msgid "unmatched close-brace (`}')"
#~ msgstr "schließende geschweifte Klammer (»}«) hat kein Gegenstück" #~ msgstr "schließende geschweifte Klammer (»}«) hat kein Gegenstück"

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -310,7 +310,7 @@ msgstr "nombre de tipo sin terminar"
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "use \"...\" para terminales literales multicarácter" msgstr "use \"...\" para terminales literales multicarácter"
#: src/main.c:104 #: src/main.c:103
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "error interno, %s\n" msgstr "error interno, %s\n"
@@ -778,6 +778,10 @@ msgstr ""
"la reducción de %s define %d terminal%s, %d no terminal%s, y %d " "la reducción de %s define %d terminal%s, %d no terminal%s, y %d "
"produccion%s.\n" "produccion%s.\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -861,12 +865,43 @@ msgstr "%s: la opci
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: la opción `--%s' no admite ningún argumento\n" msgstr "%s: la opción `--%s' no admite ningún argumento\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: memoria agotada\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: memoria agotada\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "$%s no es válida" #~ msgstr "$%s no es válida"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: memoria agotada\n"
#~ msgid "unmatched close-brace (`}')" #~ msgid "unmatched close-brace (`}')"
#~ msgstr "llave de cierre (`}') desemparejada" #~ msgstr "llave de cierre (`}') desemparejada"

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -272,7 +272,7 @@ msgstr "l
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni" msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
#: src/main.c:104 #: src/main.c:103
#, c-format #, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "%s: sisemine viga: %s\n" msgstr "%s: sisemine viga: %s\n"
@@ -693,6 +693,10 @@ msgstr ""
"redutseeritud %s defineerib %d terminali%s, %d mitteterminali%s ja %d " "redutseeritud %s defineerib %d terminali%s, %d mitteterminali%s ja %d "
"reeglit%s.\n" "reeglit%s.\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -752,12 +756,43 @@ msgstr "%s: v
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: võti `-W %s' ei luba argumenti\n" msgstr "%s: võti `-W %s' ei luba argumenti\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: mälu on otsas\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: mälu on otsas\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "$%s on vigane" #~ msgstr "$%s on vigane"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: mälu on otsas\n"
#~ msgid "multiple %union declarations" #~ msgid "multiple %union declarations"
#~ msgstr "korduvad %union deklaratsioonid" #~ msgstr "korduvad %union deklaratsioonid"

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -255,7 +255,7 @@ msgstr "le nom de type ne se termine pas"
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères" msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
#: src/main.c:104 #: src/main.c:103
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "erreur interne, %s\n" msgstr "erreur interne, %s\n"
@@ -678,6 +678,10 @@ msgstr ""
"la réduction de %s définit %d terminal%s, %d catégorie%s et %d " "la réduction de %s définit %d terminal%s, %d catégorie%s et %d "
"production%s.\n" "production%s.\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -737,12 +741,43 @@ msgstr "%s: l'option %s est ambig
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: l'option --%s n'admet pas de paramètre\n" msgstr "%s: l'option --%s n'admet pas de paramètre\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: mémoire épuisée\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: mémoire épuisée\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "$%s n'est pas valide" #~ msgstr "$%s n'est pas valide"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: mémoire épuisée\n"
#~ msgid "unmatched close-brace (`}')" #~ msgid "unmatched close-brace (`}')"
#~ msgstr "accolade fermante `}' non appariée" #~ msgstr "accolade fermante `}' non appariée"

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -254,7 +254,7 @@ msgstr "
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "複数文字のリテラルトークンには \"...\" を使いましょう" msgstr "複数文字のリテラルトークンには \"...\" を使いましょう"
#: src/main.c:104 #: src/main.c:103
#, c-format #, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "%s: 内部エラー: %s\n" msgstr "%s: 内部エラー: %s\n"
@@ -676,6 +676,10 @@ msgstr ""
"還元ファイル %s で %d 個の終端子%.0s, %d 個の非終端子%.0s, %d " "還元ファイル %s で %d 個の終端子%.0s, %d 個の非終端子%.0s, %d "
"個の規則%.0sが定義されました\n" "個の規則%.0sが定義されました\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -735,12 +739,43 @@ msgstr "%s:
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: オプション `-W %s' は引数を許しません\n" msgstr "%s: オプション `-W %s' は引数を許しません\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: メモリを使い果たしました\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: メモリを使い果たしました\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "$%s は無効です" #~ msgstr "$%s は無効です"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: メモリを使い果たしました\n"
#~ msgid "" #~ msgid ""
#~ "\n" #~ "\n"
#~ "\n" #~ "\n"

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -254,7 +254,7 @@ msgstr "niet getermineerd type naam"
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "gebruik \"...\" voor meerdere karakters literal tekens" msgstr "gebruik \"...\" voor meerdere karakters literal tekens"
#: src/main.c:104 #: src/main.c:103
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "interne fout, %s\n" msgstr "interne fout, %s\n"
@@ -677,6 +677,10 @@ msgstr ""
"gereduceerd %s gedefinieerd %d terminal%s, %d nietterminal%s, en %d " "gereduceerd %s gedefinieerd %d terminal%s, %d nietterminal%s, en %d "
"productie%s.\n" "productie%s.\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -736,12 +740,43 @@ msgstr "%s: optie `%s' is niet eenduidig\n"
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: optie `--%s' staat geen argument toe\n" msgstr "%s: optie `--%s' staat geen argument toe\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: geen geheugen meer beschikbaar\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: geen geheugen meer beschikbaar\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "$%s is onjuist" #~ msgstr "$%s is onjuist"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: geen geheugen meer beschikbaar\n"
#~ msgid "unmatched close-brace (`}')" #~ msgid "unmatched close-brace (`}')"
#~ msgstr "niet overeenkomstige afsluit-haakje (`}')" #~ msgstr "niet overeenkomstige afsluit-haakje (`}')"

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-11-02 12:45+0100\n" "POT-Creation-Date: 2000-11-03 17:35+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"
@@ -274,7 +274,7 @@ msgstr "
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ" msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
#: src/main.c:104 #: src/main.c:103
#, c-format #, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n" msgstr "%s: ×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ: %s\n"
@@ -694,6 +694,10 @@ msgstr ""
"×Ù×ÅÄÅÎÎÙÊ %s ÏÐÒÅÄÅÌÑÅÔ %d ÔÅÒÍÉÎÁÌÏ×%s, %d ÎÅÔÅÒÍÉÎÁÌÏ×%s, É %d ÐÒÁ×ÉÌ " "×Ù×ÅÄÅÎÎÙÊ %s ÏÐÒÅÄÅÌÑÅÔ %d ÔÅÒÍÉÎÁÌÏ×%s, %d ÎÅÔÅÒÍÉÎÁÌÏ×%s, É %d ÐÒÁ×ÉÌ "
"×Ù×ÏÄÁ%s.\n" "×Ù×ÏÄÁ%s.\n"
#: lib/error.c:102
msgid "Unknown system error"
msgstr ""
#: lib/getopt.c:675 #: lib/getopt.c:675
#, c-format #, c-format
msgid "%s: option `%s' is ambiguous\n" msgid "%s: option `%s' is ambiguous\n"
@@ -753,12 +757,43 @@ msgstr "%s:
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n" msgstr "%s: ËÌÀÞ `-W %s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
#: lib/obstack.c:477
#, fuzzy
msgid "memory exhausted"
msgstr "%s: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
#. Get translations for open and closing quotation marks.
#.
#. The message catalog should translate "`" to a left
#. quotation mark suitable for the locale, and similarly for
#. "'". If the catalog has no translation,
#. locale_quoting_style quotes `like this', and
#. clocale_quoting_style quotes "like this".
#.
#. For example, an American English Unicode locale should
#. translate "`" to U+201C (LEFT DOUBLE QUOTATION MARK), and
#. should translate "'" to U+201D (RIGHT DOUBLE QUOTATION
#. MARK). A British English Unicode locale should instead
#. translate these to U+2018 (LEFT SINGLE QUOTATION MARK) and
#. U+2019 (RIGHT SINGLE QUOTATION MARK), respectively.
#: lib/quotearg.c:262
msgid "`"
msgstr ""
#: lib/quotearg.c:263
msgid "'"
msgstr ""
#. If XALLOC_FAIL_FUNC is NULL, or does return, display this message
#. before exiting when memory is exhausted. Goes through gettext.
#: lib/xmalloc.c:66
#, fuzzy
msgid "Memory exhausted"
msgstr "%s: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
#~ msgid "$%s is invalid" #~ msgid "$%s is invalid"
#~ msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s" #~ msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s"
#~ msgid "%s: memory exhausted\n"
#~ msgstr "%s: ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ\n"
#~ msgid "multiple %union declarations" #~ msgid "multiple %union declarations"
#~ msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %union" #~ msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %union"

View File

@@ -136,9 +136,26 @@ xfclose (FILE *ptr)
return result; return result;
} }
/*--------------------------------------------------.
| Save the content of the obstack OBS in FILENAME. |
`--------------------------------------------------*/
void
obstack_save (struct obstack *obs, const char *filename)
{
FILE *out = xfopen (filename, "w");
size_t size = obstack_object_size (obs);
fwrite (obstack_finish (obs), 1, size, out);
xfclose (out);
}
/* JF this has been hacked to death. Nowaday it sets up the file names for /*-----------------------------------------------------------------.
the output files, and opens the tmp files and the parser */ | Open the input file. Look for the skeletons. Find the names of |
| the output files. Prepare the obstacks. |
`-----------------------------------------------------------------*/
void void
open_files (void) open_files (void)
{ {
@@ -358,53 +375,33 @@ open_extra_files (void)
fguard = xfopen (guardfile, "w"); fguard = xfopen (guardfile, "w");
} }
/*-----------------------------------------------------.
| Close the open files, produce all the output files. |
`-----------------------------------------------------*/
void void
done (void) output_files (void)
{ {
xfclose (fguard); xfclose (fguard);
xfclose (finput); xfclose (finput);
xfclose (fparser); xfclose (fparser);
xfclose (foutput); xfclose (foutput);
/* JF write out the output file */ /* Output the main file. */
if (!complain_message_count) obstack_save (&table_obstack, tabfile);
{
/* 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. */ /* Output the header file if wanted. */
if (defines_flag) if (defines_flag)
{ obstack_save (&defines_obstack, defsfile);
FILE *fdefs = xfopen (defsfile, "w");
size_t size = obstack_object_size (&defines_obstack);
fwrite (obstack_finish (&defines_obstack), 1, size, fdefs);
xfclose (fdefs);
}
}
/* If we output only the table, dump the actions in ACTION_OBSTACK. /* If we output only the table, dump the actions in ACTFILE.
*/ */
if (no_parser_flag) if (no_parser_flag)
{ obstack_save (&action_obstack, actfile);
FILE *faction = xfopen (actfile, "w");
size_t size = obstack_object_size (&action_obstack);
fwrite (obstack_finish (&action_obstack), 1, size, faction);
xfclose (faction);
}
/* If we produced a semantic parser ATTRS_OBSTACK must be dumped /* If we produced a semantic parser ATTRS_OBSTACK must be dumped
into its own file, ATTTRSFILE. */ into its own file, ATTTRSFILE. */
if (semantic_parser) if (semantic_parser)
{ obstack_save (&attrs_obstack, attrsfile);
FILE *fattrs = xfopen (attrsfile, "w");
size_t size = obstack_object_size (&attrs_obstack);
fwrite (obstack_finish (&attrs_obstack), 1, size, fattrs);
xfclose (fattrs);
}
/* Don't call exit again, we're in atexit ().
exit (complain_message_count ? 1 : 0); */
} }

View File

@@ -76,5 +76,5 @@ extern char *actfile;
void open_files PARAMS((void)); void open_files PARAMS((void));
void open_extra_files PARAMS((void)); void open_extra_files PARAMS((void));
void done PARAMS((void)); void output_files PARAMS((void));
#endif /* !FILES_H_ */ #endif /* !FILES_H_ */

View File

@@ -50,9 +50,6 @@ main (int argc, char *argv[])
lineno = 0; lineno = 0;
getargs (argc, argv); getargs (argc, argv);
/* Be ready to clean up if we exit. */
atexit (done);
open_files (); open_files ();
/* Read the input. Copy some parts of it to FGUARD, FACTION, FTABLE /* Read the input. Copy some parts of it to FGUARD, FACTION, FTABLE
@@ -93,6 +90,9 @@ main (int argc, char *argv[])
free_nullable (); free_nullable ();
free_derives (); free_derives ();
if (!complain_message_count)
output_files ();
exit (complain_message_count ? 1 : 0); exit (complain_message_count ? 1 : 0);
} }