Clean the error reporting functions.

* src/report.c: New file.
* src/report.h: Likewise.
* src/Makefile.am: Adjust.
* m4/error.m4: New file.
* m4/Makefile.am: Adjust.
* configure.in (jm_PREREQ_ERROR): Call it.
* src/main.c (int_to_string, banner, fatal_banner, warn_banner):
Remove.
(fatal, fatals): Remove.  All callers use complain.c::fatal.
(warn, warni, warns, warnss, warnss): Remove.  All callers use
complain.c::complain.
(toomany): Remove, use fatal instead.
* src/files.c (done): No argument, use complain_message_count.
* src/main.c (main): Register `done' to `atexit'.

* src/getargs.c (usage): More `fputs', less `fprintf'.
This commit is contained in:
Akim Demaille
2000-03-31 13:54:30 +00:00
parent 10a9273b34
commit a0f6b07611
24 changed files with 1235 additions and 890 deletions

View File

@@ -1,3 +1,24 @@
2000-03-31 Akim Demaille <akim@epita.fr>
Clean the error reporting functions.
* src/report.c: New file.
* src/report.h: Likewise.
* src/Makefile.am: Adjust.
* m4/error.m4: New file.
* m4/Makefile.am: Adjust.
* configure.in (jm_PREREQ_ERROR): Call it.
* src/main.c (int_to_string, banner, fatal_banner, warn_banner):
Remove.
(fatal, fatals): Remove. All callers use complain.c::fatal.
(warn, warni, warns, warnss, warnss): Remove. All callers use
complain.c::complain.
(toomany): Remove, use fatal instead.
* src/files.c (done): No argument, use complain_message_count.
* src/main.c (main): Register `done' to `atexit'.
* src/getargs.c (usage): More `fputs', less `fprintf'.
2000-03-28 Akim Demaille <akim@epita.fr> 2000-03-28 Akim Demaille <akim@epita.fr>
* lib/: New directory. * lib/: New directory.

View File

@@ -36,6 +36,7 @@ AC_CHECK_FUNCS(mkstemp setlocale)
BISON_NEED_DECLARATIONS(calloc realloc) BISON_NEED_DECLARATIONS(calloc realloc)
AM_GNU_GETTEXT AM_GNU_GETTEXT
jm_PREREQ_ERROR
# This is necessary so that .o files in LIBOBJS are also built via # This is necessary so that .o files in LIBOBJS are also built via
# the ANSI2KNR-filtering rules. # the ANSI2KNR-filtering rules.

View File

@@ -7,8 +7,7 @@ noinst_LIBRARIES = libbison.a
INCLUDES = -I.. -I$(srcdir) -I../intl INCLUDES = -I.. -I$(srcdir) -I../intl
libbison_a_SOURCES = getopt.c getopt1.c libbison_a_SOURCES = getopt.c getopt1.c
noinst_HEADERS = getopt.h
libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@ libbison_a_LIBADD = @LIBOBJS@ @ALLOCA@
libbison_a_DEPENDENCIES = $(libbison_a_LIBADD) libbison_a_DEPENDENCIES = $(libbison_a_LIBADD)
noinst_HEADERS = getopt.h

View File

@@ -1,2 +1,2 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*- ## Process this file with automake to produce Makefile.in -*-Makefile-*-
EXTRA_DIST = bison-decl.m4 gettext.m4 lcmessage.m4 progtest.m4 EXTRA_DIST = bison-decl.m4 error.m4 gettext.m4 lcmessage.m4 progtest.m4

11
m4/error.m4 Normal file
View File

@@ -0,0 +1,11 @@
#serial 1
dnl FIXME: put these prerequisite-only *.m4 files in a separate
dnl directory -- otherwise, they'll conflict with existing files.
dnl These are the prerequisite macros for GNU's error.c file.
AC_DEFUN(jm_PREREQ_ERROR,
[
AC_CHECK_FUNCS(strerror strerror_r vprintf doprnt)
AC_HEADER_STDC
])

214
po/de.po
View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-03-28 14:20+0200\n" "POT-Creation-Date: 2000-03-31 15:40+0200\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"
@@ -13,6 +13,11 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
#: src/LR0.c:377
#, c-format
msgid "too many states (max %d)"
msgstr ""
#: src/allocate.c:59 src/allocate.c:75 #: src/allocate.c:59 src/allocate.c:75
#, c-format #, c-format
msgid "%s: memory exhausted\n" msgid "%s: memory exhausted\n"
@@ -170,75 +175,67 @@ msgstr ""
msgid "Report bugs to <bug-bison@gnu.org>.\n" msgid "Report bugs to <bug-bison@gnu.org>.\n"
msgstr "" msgstr ""
#: src/getargs.c:196 #: src/getargs.c:195
#, c-format #, c-format
msgid "%s: no grammar file given\n" msgid "%s: no grammar file given\n"
msgstr "%s: keine Grammatik-Datei angegeben\n" msgstr "%s: keine Grammatik-Datei angegeben\n"
#: src/getargs.c:200 #: src/getargs.c:199
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n" msgstr "%s: zusätzliche Argumente nach »%s« werden ignoriert\n"
#: src/lalr.c:294 #: src/lalr.c:293
msgid "gotos" #, c-format
msgstr "»goto« Anweisungen" msgid "too many gotos (max %d)"
msgstr ""
#: src/lex.c:119 #: src/lex.c:115
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert" msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
#: src/lex.c:148 src/reader.c:258 #: src/lex.c:144 src/reader.c:248
msgid "unterminated comment" msgid "unterminated comment"
msgstr "unbeendeter Kommentar" msgstr "unbeendeter Kommentar"
#: src/lex.c:176 #: src/lex.c:172
msgid "Unexpected end of file" #, fuzzy
msgid "unexpected end of file"
msgstr "Datei endet unerwartet" msgstr "Datei endet unerwartet"
# Oder soll man den Begriff "Escapezeichen" verwenden? # Oder soll man den Begriff "Escapezeichen" verwenden?
#: src/lex.c:197 #: src/lex.c:193
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "nicht maskiertes Zeilenendezeichen in Konstante" msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
#: src/lex.c:229 #: src/lex.c:225
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«" msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
#: src/lex.c:253 #: src/lex.c:250
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«" msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
#: src/lex.c:263 #: src/lex.c:261
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«" msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«"
#: src/lex.c:396 #: src/lex.c:394
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/lex.c:475 #: src/lex.c:473
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "unerwarteter Typname am Ende der Datei" msgstr "unerwarteter Typname am Ende der Datei"
#: src/lex.c:478 #: src/lex.c:476
msgid "unterminated type name" msgid "unterminated type name"
msgstr "unerwarteter Typname" msgstr "unerwarteter Typname"
#: src/main.c:163 #: src/main.c:137
#, fuzzy
msgid "fatal error: "
msgstr "fataler Fehler: %s\n"
#: src/main.c:258
#, c-format
msgid "too many %s (max %d)"
msgstr ""
#: src/main.c:268
#, 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"
@@ -247,9 +244,9 @@ msgstr "interner Fehler, %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Führe »set_nullable« aus" msgstr "Führe »set_nullable« aus"
#: src/output.c:1201 #: src/output.c:1199
#, c-format #, fuzzy, c-format
msgid "maximum table size (%s) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "maximale Tabellengröße (%s) überschritten" msgstr "maximale Tabellengröße (%s) überschritten"
#: src/print.c:85 #: src/print.c:85
@@ -351,236 +348,244 @@ msgstr " auf der linken Seite:"
msgid " on right:" msgid " on right:"
msgstr " auf der rechten Seite:" msgstr " auf der rechten Seite:"
#: src/reader.c:163 #: src/reader.c:154
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Überspringe Zeichen bis zum nächsten \\n" msgstr " Überspringe Zeichen bis zum nächsten \\n"
#: src/reader.c:165 #: src/reader.c:156
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Überspringe Zeichen bis zum nächten %c" msgstr " Überspringe Zeichen bis zum nächten %c"
#: src/reader.c:189 src/reader.c:204 #: src/reader.c:180 src/reader.c:195
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "unbeendete Zeichenkette am Ende der Datei" msgstr "unbeendete Zeichenkette am Ende der Datei"
#: src/reader.c:192 #: src/reader.c:183
msgid "unterminated string" msgid "unterminated string"
msgstr "unbeendete Zeichenkette" msgstr "unbeendete Zeichenkette"
#: src/reader.c:434 #: src/reader.c:424
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "unbekannt: %s" msgstr "unbekannt: %s"
#: src/reader.c:439 #: src/reader.c:429
msgid "no input grammar" msgid "no input grammar"
msgstr "keine Eingabe-Grammatik" msgstr "keine Eingabe-Grammatik"
#: src/reader.c:442 #: src/reader.c:432
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "unbekanntes Zeichen: %s" msgstr "unbekanntes Zeichen: %s"
#: src/reader.c:493 #: src/reader.c:484
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "unbeendete »%{« Definition" msgstr "unbeendete »%{« Definition"
#: src/reader.c:571 src/reader.c:792 #: src/reader.c:525 src/reader.c:713 src/reader.c:762
#, c-format
msgid "Premature EOF after %s"
msgstr ""
#: src/reader.c:562 src/reader.c:784
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "Symbol %s noch einmal definiert" msgstr "Symbol %s noch einmal definiert"
#: src/reader.c:581 src/reader.c:737 src/reader.c:799 src/reader.c:1703 #: src/reader.c:572 src/reader.c:728 src/reader.c:791 src/reader.c:1697
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "erneute Deklaration des Typs für %s" msgstr "erneute Deklaration des Typs für %s"
#: src/reader.c:591 #: src/reader.c:582
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "»%s« ist in %s nicht erlaubt" msgstr "»%s« ist in %s nicht erlaubt"
#: src/reader.c:639 #: src/reader.c:630
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet" msgstr "unerwartetes Symbol %s, hier wird ein Bezeichner erwartet"
#: src/reader.c:661 #: src/reader.c:652
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "hier wird eine Zeichenkette erwartet, nicht %s" msgstr "hier wird eine Zeichenkette erwartet, nicht %s"
#: src/reader.c:683 #: src/reader.c:674
#, c-format #, c-format
msgid "multiple %start declarations" msgid "multiple %start declarations"
msgstr "mehr als eine %start Deklaration" msgstr "mehr als eine %start Deklaration"
#: src/reader.c:685 #: src/reader.c:676
#, c-format #, c-format
msgid "invalid %start declaration" msgid "invalid %start declaration"
msgstr "ungültige %start Deklaration" msgstr "ungültige %start Deklaration"
#: src/reader.c:705 #: src/reader.c:696
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "%type Deklaration hat keinen <Typ-Namen>" msgstr "%type Deklaration hat keinen <Typ-Namen>"
#: src/reader.c:742 #: src/reader.c:733
msgid "invalid %%type declaration due to item: `%s'" #, fuzzy
msgid "invalid %%type declaration due to item: %s"
msgstr "ungültige %%type Deklaration wegen »%s«" msgstr "ungültige %%type Deklaration wegen »%s«"
#: src/reader.c:788 #: src/reader.c:780
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "Stellenwertigkeit von %s wird erneut definiert" msgstr "Stellenwertigkeit von %s wird erneut definiert"
#: src/reader.c:811 #: src/reader.c:803
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen" msgstr "unzulässiger Text (%s) - Nummer sollte nach Bezeichner kommen"
#: src/reader.c:821 #: src/reader.c:813
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "unerwartetes Symbol: %s" msgstr "unerwartetes Symbol: %s"
#: src/reader.c:845 #: src/reader.c:837
#, c-format #, c-format
msgid "multiple %union declarations" msgid "multiple %union declarations"
msgstr "erneute %union Definition" msgstr "erneute %union Definition"
#: src/reader.c:903 #: src/reader.c:895
msgid "unterminated comment at end of file" msgid "unterminated comment at end of file"
msgstr "unbeendeter Kommentar am Dateiende" msgstr "unbeendeter Kommentar am Dateiende"
#: src/reader.c:929 #: src/reader.c:921
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"
#: src/reader.c:973 #: src/reader.c:965
#, c-format #, c-format
msgid "argument of %expect is not an integer" msgid "argument of %expect is not an integer"
msgstr "Argument von %expect ist keine ganze Zahl" msgstr "Argument von %expect ist keine ganze Zahl"
#: src/reader.c:1005 #: src/reader.c:997
#, c-format #, c-format
msgid "@%s is invalid" msgid "@%s is invalid"
msgstr "@%s ist unzulässig" msgstr "@%s ist unzulässig"
#: src/reader.c:1014 #: src/reader.c:1012 src/reader.c:1024
msgid "invalid $ value" msgid "invalid $ value"
msgstr "unzulässiger $ Wert" msgstr "unzulässiger $ Wert"
#: src/reader.c:1092 #: src/reader.c:1083
msgid "unmatched right brace (`}')" msgid "unmatched right brace (`}')"
msgstr "schließende geschweifte Klammer (»}«) hat kein Gegenstück" msgstr "schließende geschweifte Klammer (»}«) hat kein Gegenstück"
#: src/reader.c:1139 src/reader.c:1277 #: src/reader.c:1130 src/reader.c:1270
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ von »%s« hat keine deklarierten Wert" msgstr "$$ von »%s« hat keine deklarierten Wert"
#: src/reader.c:1154 src/reader.c:1293 #: src/reader.c:1146 src/reader.c:1286
#, c-format #, fuzzy, c-format
msgid "$%s of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "»%s« von »%s« hat keine deklarierten Wert" msgstr "»%s« von »%s« hat keine deklarierten Wert"
#: src/reader.c:1159 src/reader.c:1298 #: src/reader.c:1151 src/reader.c:1291
#, c-format #, c-format
msgid "$%s is invalid" msgid "$%s is invalid"
msgstr "$%s ist unzulässig" msgstr "$%s ist unzulässig"
#: src/reader.c:1167 #: src/reader.c:1160
msgid "unterminated %%guard clause" #, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "unbeendeter %%guard Fall" msgstr "unbeendeter %%guard Fall"
#: src/reader.c:1307 #: src/reader.c:1300
msgid "unmatched `{'" msgid "unmatched `{'"
msgstr "»{« hat kein Gegenstück" msgstr "»{« hat kein Gegenstück"
#: src/reader.c:1393 #: src/reader.c:1386
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" msgstr ""
"falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon " "falsch geformte Regel: führendes Symbol wird nicht von einem Semikolon "
"gefolgt" "gefolgt"
#: src/reader.c:1400 #: src/reader.c:1393
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an" msgstr "Grammatik fängt mit einem vertikalen Strich (»|«) an"
#: src/reader.c:1431 #: src/reader.c:1424
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "Regel für %s vorhanden, welches aber ein Token ist" msgstr "Regel für %s vorhanden, welches aber ein Token ist"
#: src/reader.c:1529 #: src/reader.c:1522
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "zwei @prec Anweisungen nacheinander" msgstr "zwei @prec Anweisungen nacheinander"
#: src/reader.c:1537 #: src/reader.c:1531
msgid "%%guard present but %%semantic_parser not specified" #, fuzzy, c-format
msgid "%guard present but %semantic_parser not specified"
msgstr "" msgstr ""
"%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben" "%%guard Anweisung vorhanden, jedoch wird %%semantic_parser nicht angegeben"
#: src/reader.c:1546 #: src/reader.c:1540
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Zwei Aktionen am Ende einer Regel" msgstr "Zwei Aktionen am Ende einer Regel"
#: src/reader.c:1561 #: src/reader.c:1555
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion" msgstr "Typkonflikt (»%s« »%s«) bei Default Aktion"
#: src/reader.c:1567 #: src/reader.c:1561
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion" msgstr "leere Regel für Nicht-Terminal vmit Typ und keine Aktion"
#: src/reader.c:1611 #: src/reader.c:1605
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ungültige Eingabe: %s" msgstr "ungültige Eingabe: %s"
#: src/reader.c:1619 #: src/reader.c:1613
#, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %s" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s" msgstr "zu viele Symbols (Token plus Nicht-Terminal); Maximum %s"
#: src/reader.c:1622 #: src/reader.c:1616
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "Eingabegrammatik enthält keine Regeln" msgstr "Eingabegrammatik enthält keine Regeln"
#: src/reader.c:1640 #: src/reader.c:1634
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine " "Symbol %s wird benutzt, ist aber nicht als Token definiert und hat keine "
"Regel" "Regel"
#: src/reader.c:1679 #: src/reader.c:1673
msgid "ill-formed %type declaration" msgid "ill-formed %type declaration"
msgstr "falsch geformte %type Deklaration" msgstr "falsch geformte %type Deklaration"
#: src/reader.c:1758 #: src/reader.c:1752
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich" msgstr "Vorrangwertigkeiten für %s und %s widersprechen sich"
#: src/reader.c:1770 #: src/reader.c:1764
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "assoc Werte für %s nd %s widersprechen sich" msgstr "assoc Werte für %s nd %s widersprechen sich"
#: src/reader.c:1821 #: src/reader.c:1815
#, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %s" msgid "tokens %s and %s both assigned number %d"
msgstr "Token %s und %s haben die selbe nummer %s" msgstr "Token %s und %s haben die selbe nummer %s"
#: src/reader.c:1835 #: src/reader.c:1829
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "das Startsymbol %s ist undefiniert" msgstr "das Startsymbol %s ist undefiniert"
#: src/reader.c:1837 #: src/reader.c:1831
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "das Startsymbol %s ist ein Token" msgstr "das Startsymbol %s ist ein Token"
@@ -688,65 +693,72 @@ msgstr " und "
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d ungenutzte Regel" msgstr "%d ungenutzte Regel"
#: src/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"
msgstr "%s: die Option »%s« ist nicht eindeutig\n" msgstr "%s: die Option »%s« ist nicht eindeutig\n"
#: src/getopt.c:700 #: lib/getopt.c:700
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%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"
#: src/getopt.c:705 #: lib/getopt.c:705
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: die Option »%c%s« erlaubt kein Argument\n" msgstr "%s: die Option »%c%s« erlaubt kein Argument\n"
#: src/getopt.c:723 src/getopt.c:896 #: lib/getopt.c:723 lib/getopt.c:896
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: die Option »%s« erfordert ein Argument\n" msgstr "%s: die Option »%s« erfordert ein Argument\n"
#. --option #. --option
#: src/getopt.c:752 #: lib/getopt.c:752
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: unbekannte Option »--%s«\n" msgstr "%s: unbekannte Option »--%s«\n"
#. +option or -option #. +option or -option
#: src/getopt.c:756 #: lib/getopt.c:756
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: unbekannte Option »%c%s«\n" msgstr "%s: unbekannte Option »%c%s«\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:782 #: lib/getopt.c:782
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: die Option ist nicht erlaubt -- %c\n" msgstr "%s: die Option ist nicht erlaubt -- %c\n"
#: src/getopt.c:785 #: lib/getopt.c:785
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: ungültige Option -- %c\n" msgstr "%s: ungültige Option -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:815 src/getopt.c:945 #: lib/getopt.c:815 lib/getopt.c:945
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: die Option benötigt ein Argument -- %c\n" msgstr "%s: die Option benötigt ein Argument -- %c\n"
#: src/getopt.c:862 #: lib/getopt.c:862
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: die Option »%s« ist nicht eindeutig\n" msgstr "%s: die Option »%s« ist nicht eindeutig\n"
#: src/getopt.c:880 #: lib/getopt.c:880
#, fuzzy, c-format #, fuzzy, c-format
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"
#~ msgid "gotos"
#~ msgstr "»goto« Anweisungen"
#, fuzzy
#~ msgid "fatal error: "
#~ msgstr "fataler Fehler: %s\n"
#, fuzzy #, fuzzy
#~ msgid "" #~ msgid ""
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n" #~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"

246
po/es.po
View File

@@ -30,7 +30,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: GNU bison 1.25\n" "Project-Id-Version: GNU bison 1.25\n"
"POT-Creation-Date: 2000-03-28 14:20+0200\n" "POT-Creation-Date: 2000-03-31 15:40+0200\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"
@@ -38,6 +38,11 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
#: src/LR0.c:377
#, c-format
msgid "too many states (max %d)"
msgstr ""
#: src/allocate.c:59 src/allocate.c:75 #: src/allocate.c:59 src/allocate.c:75
#, c-format #, c-format
msgid "%s: memory exhausted\n" msgid "%s: memory exhausted\n"
@@ -227,94 +232,70 @@ msgstr ""
# Me parece menos "computadora" decir "ningún fichero de gramática" - cll # Me parece menos "computadora" decir "ningún fichero de gramática" - cll
# #
#: src/getargs.c:196 #: src/getargs.c:195
#, c-format #, c-format
msgid "%s: no grammar file given\n" msgid "%s: no grammar file given\n"
msgstr "%s: no se ha especificado ningún fichero de gramática\n" msgstr "%s: no se ha especificado ningún fichero de gramática\n"
# Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv # Ignorar es no saber, to ignore es no hacer caso, que no es lo mismo. sv
#: src/getargs.c:200 #: src/getargs.c:199
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n" msgstr "%s: los argumentos extra después de '%s' no se tendrán en cuenta\n"
# Duda: desconozco en qué caso se emplea esto. Estúdialo bien y #: src/lalr.c:293
# comprueba que realmente es necesario emplear una palabra no #, c-format
# española. Recuerda que el acuerdo que existe en la lista de correo en msgid "too many gotos (max %d)"
# español es, en el peor de los casos, poner algo en español y luego en msgstr ""
# inglés a modo de recordatorio. Por ejemplo: "tubería (pipe)" - cll
#
# miré el código, lo que indica es el número de gotos del código
# ngp
#
#: src/lalr.c:294
msgid "gotos"
msgstr "saltos (gotos)"
# to ignore no es ignorar. Pon otra cosa, please. sv # to ignore no es ignorar. Pon otra cosa, please. sv
#: src/lex.c:119 #: src/lex.c:115
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta" msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
#: src/lex.c:148 src/reader.c:258 #: src/lex.c:144 src/reader.c:248
msgid "unterminated comment" msgid "unterminated comment"
msgstr "comentario sin terminar" msgstr "comentario sin terminar"
#: src/lex.c:176 #: src/lex.c:172
msgid "Unexpected end of file" #, fuzzy
msgid "unexpected end of file"
msgstr "Fin de fichero inesperado" msgstr "Fin de fichero inesperado"
# ¿unescaped? # ¿unescaped?
#: src/lex.c:197 #: src/lex.c:193
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "salto de línea en constante sin secuencia de escape" msgstr "salto de línea en constante sin secuencia de escape"
#: src/lex.c:229 #: src/lex.c:225
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "valor octal fuera del rango 0...255: `\\%o'" msgstr "valor octal fuera del rango 0...255: `\\%o'"
#: src/lex.c:253 #: src/lex.c:250
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valor hexadecimal mayor que 255: `\\x%x'" msgstr "valor hexadecimal mayor que 255: `\\x%x'"
#: src/lex.c:263 #: src/lex.c:261
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "secuencia de escape desconocida: `\\' seguido de `%s'" msgstr "secuencia de escape desconocida: `\\' seguido de `%s'"
# ¿multicarácter o multicaracteres? sv # ¿multicarácter o multicaracteres? sv
#: src/lex.c:396 #: src/lex.c:394
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/lex.c:475 #: src/lex.c:473
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "nombre de tipo sin terminar al final del fichero" msgstr "nombre de tipo sin terminar al final del fichero"
#: src/lex.c:478 #: src/lex.c:476
msgid "unterminated type name" msgid "unterminated type name"
msgstr "nombre de tipo sin terminar" msgstr "nombre de tipo sin terminar"
# Duda: desconozco cuál será el convenio en la lista de correo a #: src/main.c:137
# propósito de "fatal". Por favor, comprueba que "error grave" es
# preferido por todos los miembros a "error fatal" - cll
# veremos que dice la mayoría, como hay otros 2 revisores
# La verdad es que a mi lo de error fatal me suena fatal
# ngp
#
#: src/main.c:163
#, fuzzy
msgid "fatal error: "
msgstr "error grave: %s\n"
#: src/main.c:258
#, c-format
msgid "too many %s (max %d)"
msgstr ""
#: src/main.c:268
#, 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"
@@ -328,9 +309,9 @@ msgstr "Entrando set_nullable"
# en inglés era así, pero quizás en español sea mejor como dices # en inglés era así, pero quizás en español sea mejor como dices
# ngp # ngp
# #
#: src/output.c:1201 #: src/output.c:1199
#, c-format #, fuzzy, c-format
msgid "maximum table size (%s) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "excedido el tamaño máximo de la tabla (%s)" msgstr "excedido el tamaño máximo de la tabla (%s)"
#: src/print.c:85 #: src/print.c:85
@@ -436,52 +417,57 @@ msgstr " en la izquierda:"
msgid " on right:" msgid " on right:"
msgstr " en la derecha:" msgstr " en la derecha:"
#: src/reader.c:163 #: src/reader.c:154
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Saltando al siguiente \\n" msgstr " Saltando al siguiente \\n"
#: src/reader.c:165 #: src/reader.c:156
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Saltando al siguiente %c" msgstr " Saltando al siguiente %c"
#: src/reader.c:189 src/reader.c:204 #: src/reader.c:180 src/reader.c:195
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "cadena sin terminar al final del fichero" msgstr "cadena sin terminar al final del fichero"
#: src/reader.c:192 #: src/reader.c:183
msgid "unterminated string" msgid "unterminated string"
msgstr "cadena sin terminar" msgstr "cadena sin terminar"
#: src/reader.c:434 #: src/reader.c:424
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "no reconocido: %s" msgstr "no reconocido: %s"
#: src/reader.c:439 #: src/reader.c:429
msgid "no input grammar" msgid "no input grammar"
msgstr "no hay gramática de entrada" msgstr "no hay gramática de entrada"
#: src/reader.c:442 #: src/reader.c:432
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "carácter desconocido: %s" msgstr "carácter desconocido: %s"
#: src/reader.c:493 #: src/reader.c:484
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "definición `%{' sin terminar" msgstr "definición `%{' sin terminar"
#: src/reader.c:571 src/reader.c:792 #: src/reader.c:525 src/reader.c:713 src/reader.c:762
#, c-format
msgid "Premature EOF after %s"
msgstr ""
#: src/reader.c:562 src/reader.c:784
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "redefinido el símbolo %s" msgstr "redefinido el símbolo %s"
#: src/reader.c:581 src/reader.c:737 src/reader.c:799 src/reader.c:1703 #: src/reader.c:572 src/reader.c:728 src/reader.c:791 src/reader.c:1697
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "redeclaración del tipo de %s" msgstr "redeclaración del tipo de %s"
#: src/reader.c:591 #: src/reader.c:582
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' no es válido en %s" msgstr "`%s' no es válido en %s"
@@ -492,35 +478,36 @@ msgstr "`%s' no es v
# - cll # - cll
# ok - ngp # ok - ngp
# #
#: src/reader.c:639 #: src/reader.c:630
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "no se reconoce el ítem %s, se esperaba un identificador" msgstr "no se reconoce el ítem %s, se esperaba un identificador"
#: src/reader.c:661 #: src/reader.c:652
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "se esperaba una cadena constante en lugar de %s" msgstr "se esperaba una cadena constante en lugar de %s"
#: src/reader.c:683 #: src/reader.c:674
#, c-format #, c-format
msgid "multiple %start declarations" msgid "multiple %start declarations"
msgstr "múltiples declaraciones de %start" msgstr "múltiples declaraciones de %start"
#: src/reader.c:685 #: src/reader.c:676
#, c-format #, c-format
msgid "invalid %start declaration" msgid "invalid %start declaration"
msgstr "declaración de %start no válida" msgstr "declaración de %start no válida"
#: src/reader.c:705 #: src/reader.c:696
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "la declaración %type no tiene <nombre-tipo>" msgstr "la declaración %type no tiene <nombre-tipo>"
#: src/reader.c:742 #: src/reader.c:733
msgid "invalid %%type declaration due to item: `%s'" #, fuzzy
msgid "invalid %%type declaration due to item: %s"
msgstr "declaración de %%type no válida debido al ítem: `%s'" msgstr "declaración de %%type no válida debido al ítem: `%s'"
#: src/reader.c:788 #: src/reader.c:780
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "redefinición de la precedencia de %s" msgstr "redefinición de la precedencia de %s"
@@ -529,7 +516,7 @@ msgstr "redefinici
# de "to must" y aquí se emplea en su forma condicional. Por eso, he # de "to must" y aquí se emplea en su forma condicional. Por eso, he
# cambiado `debe' por `debería' - cll # cambiado `debe' por `debería' - cll
# ahí me has pillado en un olvido del inglés - ngp # ahí me has pillado en un olvido del inglés - ngp
#: src/reader.c:811 #: src/reader.c:803
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "" msgstr ""
@@ -539,53 +526,53 @@ msgstr ""
# otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en # otras, como `inesperado'. Cualquiera es correcta, por supuesto y, en
# este caso, la segunda me parece más apropiada - cll # este caso, la segunda me parece más apropiada - cll
# ok - ngp # ok - ngp
#: src/reader.c:821 #: src/reader.c:813
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ítem inesperado: %s" msgstr "ítem inesperado: %s"
#: src/reader.c:845 #: src/reader.c:837
#, c-format #, c-format
msgid "multiple %union declarations" msgid "multiple %union declarations"
msgstr "declaraciones múltiples de %union" msgstr "declaraciones múltiples de %union"
#: src/reader.c:903 #: src/reader.c:895
msgid "unterminated comment at end of file" msgid "unterminated comment at end of file"
msgstr "comentario sin terminar al final del fichero" msgstr "comentario sin terminar al final del fichero"
#: src/reader.c:929 #: src/reader.c:921
msgid "unmatched close-brace (`}')" msgid "unmatched close-brace (`}')"
msgstr "llave de cierre (`}') desemparejada" msgstr "llave de cierre (`}') desemparejada"
#: src/reader.c:973 #: src/reader.c:965
#, c-format #, c-format
msgid "argument of %expect is not an integer" msgid "argument of %expect is not an integer"
msgstr "el argumento de %expect no es un entero" msgstr "el argumento de %expect no es un entero"
#: src/reader.c:1005 #: src/reader.c:997
#, c-format #, c-format
msgid "@%s is invalid" msgid "@%s is invalid"
msgstr "@%s no es válido" msgstr "@%s no es válido"
#: src/reader.c:1014 #: src/reader.c:1012 src/reader.c:1024
msgid "invalid $ value" msgid "invalid $ value"
msgstr "valor $ no válido" msgstr "valor $ no válido"
#: src/reader.c:1092 #: src/reader.c:1083
msgid "unmatched right brace (`}')" msgid "unmatched right brace (`}')"
msgstr "llave derecha (`}') desemparejada" msgstr "llave derecha (`}') desemparejada"
#: src/reader.c:1139 src/reader.c:1277 #: src/reader.c:1130 src/reader.c:1270
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ de `%s' no tiene tipo declarado" msgstr "$$ de `%s' no tiene tipo declarado"
#: src/reader.c:1154 src/reader.c:1293 #: src/reader.c:1146 src/reader.c:1286
#, c-format #, fuzzy, c-format
msgid "$%s of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s de `%s' no tiene tipo declarado" msgstr "$%s de `%s' no tiene tipo declarado"
#: src/reader.c:1159 src/reader.c:1298 #: src/reader.c:1151 src/reader.c:1291
#, c-format #, c-format
msgid "$%s is invalid" msgid "$%s is invalid"
msgstr "$%s no es válida" msgstr "$%s no es válida"
@@ -594,100 +581,102 @@ msgstr "$%s no es v
# mejor que `sin terminar' que me parece más "computerizado" - cll # mejor que `sin terminar' que me parece más "computerizado" - cll
# quizás un poco cacofónico lo de claúsula inconclusa - ngp # quizás un poco cacofónico lo de claúsula inconclusa - ngp
# #
#: src/reader.c:1167 #: src/reader.c:1160
msgid "unterminated %%guard clause" #, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "cláusula %%guard sin terminar" msgstr "cláusula %%guard sin terminar"
# Cambio el orden y el sexo. Ahora está "en español". sv # Cambio el orden y el sexo. Ahora está "en español". sv
#: src/reader.c:1307 #: src/reader.c:1300
msgid "unmatched `{'" msgid "unmatched `{'"
msgstr "`{' desemparejada" msgstr "`{' desemparejada"
#: src/reader.c:1393 #: src/reader.c:1386
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "regla mal formada: el símbolo inicial no está seguido por :" msgstr "regla mal formada: el símbolo inicial no está seguido por :"
#: src/reader.c:1400 #: src/reader.c:1393
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "la gramática comienza con una barra vertical" msgstr "la gramática comienza con una barra vertical"
#: src/reader.c:1431 #: src/reader.c:1424
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "se ha dado una regla para %s, que es un terminal" msgstr "se ha dado una regla para %s, que es un terminal"
#: src/reader.c:1529 #: src/reader.c:1522
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "dos @prec en una línea" msgstr "dos @prec en una línea"
# Insisto, el empleo de participios a secas me parece como hablar en # Insisto, el empleo de participios a secas me parece como hablar en
# indio. Por favor, permíteme que añada un "está" :) - cll # indio. Por favor, permíteme que añada un "está" :) - cll
# ok - ngp # ok - ngp
#: src/reader.c:1537 #: src/reader.c:1531
msgid "%%guard present but %%semantic_parser not specified" #, fuzzy, c-format
msgid "%guard present but %semantic_parser not specified"
msgstr "%%guard presente pero %%semantic_parser está sin especificar" msgstr "%%guard presente pero %%semantic_parser está sin especificar"
#: src/reader.c:1546 #: src/reader.c:1540
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "dos acciones al final de una regla" msgstr "dos acciones al final de una regla"
#: src/reader.c:1561 #: src/reader.c:1555
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto" msgstr "los tipos (`%s' `%s') no concuerdan en la acción por defecto"
#: src/reader.c:1567 #: src/reader.c:1561
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción" msgstr "regla vacía para un no terminal con tipo y no hay ninguna acción"
#: src/reader.c:1611 #: src/reader.c:1605
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "entrada no válida: %s" msgstr "entrada no válida: %s"
#: src/reader.c:1619 #: src/reader.c:1613
#, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %s" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "demasiados símbolos (terminales y no terminales); máximo %s" msgstr "demasiados símbolos (terminales y no terminales); máximo %s"
#: src/reader.c:1622 #: src/reader.c:1616
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "no hay reglas en la gramática de entrada" msgstr "no hay reglas en la gramática de entrada"
# `token' se debe traducir como `literal' - cll # `token' se debe traducir como `literal' - cll
# en terminología de compiladores token es más un terminal - ngp # en terminología de compiladores token es más un terminal - ngp
# #
#: src/reader.c:1640 #: src/reader.c:1634
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"se usa el símbolo %s, pero no está definido como terminal y no tiene reglas" "se usa el símbolo %s, pero no está definido como terminal y no tiene reglas"
#: src/reader.c:1679 #: src/reader.c:1673
msgid "ill-formed %type declaration" msgid "ill-formed %type declaration"
msgstr "declaración %type incorrectamente formada" msgstr "declaración %type incorrectamente formada"
#: src/reader.c:1758 #: src/reader.c:1752
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "precedencias en conflicto entre %s y %s" msgstr "precedencias en conflicto entre %s y %s"
#: src/reader.c:1770 #: src/reader.c:1764
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "conflicto de valores assoc para %s y %s" msgstr "conflicto de valores assoc para %s y %s"
#: src/reader.c:1821 #: src/reader.c:1815
#, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %s" msgid "tokens %s and %s both assigned number %d"
msgstr "los terminales %s y %s tienen asignados ambos el número %s" msgstr "los terminales %s y %s tienen asignados ambos el número %s"
#: src/reader.c:1835 #: src/reader.c:1829
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "el símbolo de inicio (axioma) %s no está definido" msgstr "el símbolo de inicio (axioma) %s no está definido"
#: src/reader.c:1837 #: src/reader.c:1831
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "el símbolo de inicio (axioma) %s es un terminal" msgstr "el símbolo de inicio (axioma) %s es un terminal"
@@ -807,35 +796,35 @@ msgstr " y "
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d regla%s sin uso" msgstr "%d regla%s sin uso"
#: src/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"
msgstr "%s: la opción `%s' es ambigua\n" msgstr "%s: la opción `%s' es ambigua\n"
# Pongo esto como en otros .po. sv # Pongo esto como en otros .po. sv
#: src/getopt.c:700 #: lib/getopt.c:700
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%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"
#: src/getopt.c:705 #: lib/getopt.c:705
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: la opción `%c%s' no admite ningún argumento\n" msgstr "%s: la opción `%c%s' no admite ningún argumento\n"
#: src/getopt.c:723 src/getopt.c:896 #: lib/getopt.c:723 lib/getopt.c:896
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: la opción `%s' requiere un argumento\n" msgstr "%s: la opción `%s' requiere un argumento\n"
#. --option #. --option
#: src/getopt.c:752 #: lib/getopt.c:752
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: opción `--%s' no reconocida\n" msgstr "%s: opción `--%s' no reconocida\n"
#. +option or -option #. +option or -option
#: src/getopt.c:756 #: lib/getopt.c:756
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: opción `%c%s' no reconocida\n" msgstr "%s: opción `%c%s' no reconocida\n"
@@ -858,7 +847,7 @@ msgstr "%s: opci
# a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv # a la cárcel (como mucho se cuelgan, je, je, 0ff0 :-). sv
# #
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:782 #: lib/getopt.c:782
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: opción -- %c ilegal\n" msgstr "%s: opción -- %c ilegal\n"
@@ -868,28 +857,51 @@ msgstr "%s: opci
# Porque Enrique decía que le recordaba a disminuidos físicos. # Porque Enrique decía que le recordaba a disminuidos físicos.
# Francamente, no creo que haya que andar con estas "fobias". # Francamente, no creo que haya que andar con estas "fobias".
# Pongo inválida. sv # Pongo inválida. sv
#: src/getopt.c:785 #: lib/getopt.c:785
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: opción -- %c inválida\n" msgstr "%s: opción -- %c inválida\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:815 src/getopt.c:945 #: lib/getopt.c:815 lib/getopt.c:945
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: la opción -- %c requiere un argumento\n" msgstr "%s: la opción -- %c requiere un argumento\n"
#: src/getopt.c:862 #: lib/getopt.c:862
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: la opción `%s' es ambigua\n" msgstr "%s: la opción `%s' es ambigua\n"
# Pongo esto como en otros .po. sv # Pongo esto como en otros .po. sv
#: src/getopt.c:880 #: lib/getopt.c:880
#, fuzzy, c-format #, fuzzy, c-format
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"
# Duda: desconozco en qué caso se emplea esto. Estúdialo bien y
# comprueba que realmente es necesario emplear una palabra no
# española. Recuerda que el acuerdo que existe en la lista de correo en
# español es, en el peor de los casos, poner algo en español y luego en
# inglés a modo de recordatorio. Por ejemplo: "tubería (pipe)" - cll
#
# miré el código, lo que indica es el número de gotos del código
# ngp
#
#~ msgid "gotos"
#~ msgstr "saltos (gotos)"
# Duda: desconozco cuál será el convenio en la lista de correo a
# propósito de "fatal". Por favor, comprueba que "error grave" es
# preferido por todos los miembros a "error fatal" - cll
# veremos que dice la mayoría, como hay otros 2 revisores
# La verdad es que a mi lo de error fatal me suena fatal
# ngp
#
#, fuzzy
#~ msgid "fatal error: "
#~ msgstr "error grave: %s\n"
# ¿Por qué no lo pones en mayúsculas? Al fin y al cabo, eso es lo que # ¿Por qué no lo pones en mayúsculas? Al fin y al cabo, eso es lo que
# haces luego con "FDERIVES" que traduces como "FDERIVACIONES", ... - # haces luego con "FDERIVES" que traduces como "FDERIVACIONES", ... -
# cll # cll

214
po/fr.po
View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-03-28 14:20+0200\n" "POT-Creation-Date: 2000-03-31 15:40+0200\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"
@@ -13,6 +13,11 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
#: src/LR0.c:377
#, c-format
msgid "too many states (max %d)"
msgstr ""
#: src/allocate.c:59 src/allocate.c:75 #: src/allocate.c:59 src/allocate.c:75
#, c-format #, c-format
msgid "%s: memory exhausted\n" msgid "%s: memory exhausted\n"
@@ -176,74 +181,66 @@ msgstr ""
msgid "Report bugs to <bug-bison@gnu.org>.\n" msgid "Report bugs to <bug-bison@gnu.org>.\n"
msgstr "" msgstr ""
#: src/getargs.c:196 #: src/getargs.c:195
#, c-format #, c-format
msgid "%s: no grammar file given\n" msgid "%s: no grammar file given\n"
msgstr "%s: grammaire manquante\n" msgstr "%s: grammaire manquante\n"
#: src/getargs.c:200 #: src/getargs.c:199
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: paramètres supplémentaires ignorés après «%s»\n" msgstr "%s: paramètres supplémentaires ignorés après «%s»\n"
#: src/lalr.c:294 #: src/lalr.c:293
msgid "gotos" #, c-format
msgstr "gotos" msgid "too many gotos (max %d)"
msgstr ""
#: src/lex.c:119 #: src/lex.c:115
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "`/' inattendu et ignoré" msgstr "`/' inattendu et ignoré"
#: src/lex.c:148 src/reader.c:258 #: src/lex.c:144 src/reader.c:248
msgid "unterminated comment" msgid "unterminated comment"
msgstr "le commentaire ne se termine pas" msgstr "le commentaire ne se termine pas"
#: src/lex.c:176 #: src/lex.c:172
msgid "Unexpected end of file" #, fuzzy
msgid "unexpected end of file"
msgstr "Fin de fichier inattendue" msgstr "Fin de fichier inattendue"
#: src/lex.c:197 #: src/lex.c:193
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "retour de chariot sans échappement dans une constante" msgstr "retour de chariot sans échappement dans une constante"
#: src/lex.c:229 #: src/lex.c:225
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o" msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
#: src/lex.c:253 #: src/lex.c:250
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valeur hexadécimale supérieure à 255: \\x%x" msgstr "valeur hexadécimale supérieure à 255: \\x%x"
#: src/lex.c:263 #: src/lex.c:261
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'" msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'"
#: src/lex.c:396 #: src/lex.c:394
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/lex.c:475 #: src/lex.c:473
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "le nom de type ne se termine pas avant la fin de fichier" msgstr "le nom de type ne se termine pas avant la fin de fichier"
#: src/lex.c:478 #: src/lex.c:476
msgid "unterminated type name" msgid "unterminated type name"
msgstr "le nom de type ne se termine pas" msgstr "le nom de type ne se termine pas"
#: src/main.c:163 #: src/main.c:137
#, fuzzy
msgid "fatal error: "
msgstr "erreur fatale: %s\n"
#: src/main.c:258
#, c-format
msgid "too many %s (max %d)"
msgstr ""
#: src/main.c:268
#, 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"
@@ -252,9 +249,9 @@ msgstr "erreur interne, %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Entré dans set_nullable" msgstr "Entré dans set_nullable"
#: src/output.c:1201 #: src/output.c:1199
#, c-format #, fuzzy, c-format
msgid "maximum table size (%s) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "taille maximum des tables (%s) dépassée" msgstr "taille maximum des tables (%s) dépassée"
#: src/print.c:85 #: src/print.c:85
@@ -356,234 +353,242 @@ msgstr "
msgid " on right:" msgid " on right:"
msgstr " à droite:" msgstr " à droite:"
#: src/reader.c:163 #: src/reader.c:154
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Saut jusqu'au prochain \\n" msgstr " Saut jusqu'au prochain \\n"
#: src/reader.c:165 #: src/reader.c:156
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Saut jusqu'au prochain %c" msgstr " Saut jusqu'au prochain %c"
#: src/reader.c:189 src/reader.c:204 #: src/reader.c:180 src/reader.c:195
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "chaîne de caractères non terminée en fin de fichier" msgstr "chaîne de caractères non terminée en fin de fichier"
#: src/reader.c:192 #: src/reader.c:183
msgid "unterminated string" msgid "unterminated string"
msgstr "chaîne de caractère non terminée" msgstr "chaîne de caractère non terminée"
#: src/reader.c:434 #: src/reader.c:424
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "non reconnu: %s" msgstr "non reconnu: %s"
#: src/reader.c:439 #: src/reader.c:429
msgid "no input grammar" msgid "no input grammar"
msgstr "aucune grammaire en entrée" msgstr "aucune grammaire en entrée"
#: src/reader.c:442 #: src/reader.c:432
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "caractère inconnu: %s" msgstr "caractère inconnu: %s"
#: src/reader.c:493 #: src/reader.c:484
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "La section de définition (%{) ne termine pas avant la fin du fichier" msgstr "La section de définition (%{) ne termine pas avant la fin du fichier"
#: src/reader.c:571 src/reader.c:792 #: src/reader.c:525 src/reader.c:713 src/reader.c:762
#, c-format
msgid "Premature EOF after %s"
msgstr ""
#: src/reader.c:562 src/reader.c:784
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbole %s redéfini" msgstr "symbole %s redéfini"
#: src/reader.c:581 src/reader.c:737 src/reader.c:799 src/reader.c:1703 #: src/reader.c:572 src/reader.c:728 src/reader.c:791 src/reader.c:1697
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "redéclaration du type de %s" msgstr "redéclaration du type de %s"
#: src/reader.c:591 #: src/reader.c:582
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' n'est pas valide dans %s" msgstr "`%s' n'est pas valide dans %s"
#: src/reader.c:639 #: src/reader.c:630
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "item %s non reconnu, un identificateur est attendu" msgstr "item %s non reconnu, un identificateur est attendu"
#: src/reader.c:661 #: src/reader.c:652
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "chaîne de caractères constante attendue plutôt que %s" msgstr "chaîne de caractères constante attendue plutôt que %s"
#: src/reader.c:683 #: src/reader.c:674
#, c-format #, c-format
msgid "multiple %start declarations" msgid "multiple %start declarations"
msgstr "multiples déclarations %start" msgstr "multiples déclarations %start"
#: src/reader.c:685 #: src/reader.c:676
#, c-format #, c-format
msgid "invalid %start declaration" msgid "invalid %start declaration"
msgstr "la déclaration %start n'est pas valide" msgstr "la déclaration %start n'est pas valide"
#: src/reader.c:705 #: src/reader.c:696
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "la déclaration %type n'a pas de <nom_de_type>" msgstr "la déclaration %type n'a pas de <nom_de_type>"
#: src/reader.c:742 #: src/reader.c:733
msgid "invalid %%type declaration due to item: `%s'" #, fuzzy
msgid "invalid %%type declaration due to item: %s"
msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s" msgstr "la déclaration %%type n'est pas valide à cause de l'item: %s"
#: src/reader.c:788 #: src/reader.c:780
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "redéfinition du niveau de priorité de %s" msgstr "redéfinition du niveau de priorité de %s"
#: src/reader.c:811 #: src/reader.c:803
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "" msgstr ""
"le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur" "le texte n'est pas valide (%s) - le nombre devrait suivre l'identificateur"
#: src/reader.c:821 #: src/reader.c:813
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "item inattendu: %s" msgstr "item inattendu: %s"
#: src/reader.c:845 #: src/reader.c:837
#, c-format #, c-format
msgid "multiple %union declarations" msgid "multiple %union declarations"
msgstr "multiples déclarations %union" msgstr "multiples déclarations %union"
#: src/reader.c:903 #: src/reader.c:895
msgid "unterminated comment at end of file" msgid "unterminated comment at end of file"
msgstr "le commentaire ne se termine pas avant la fin du fichier" msgstr "le commentaire ne se termine pas avant la fin du fichier"
#: src/reader.c:929 #: src/reader.c:921
msgid "unmatched close-brace (`}')" msgid "unmatched close-brace (`}')"
msgstr "accolade fermante `}' non appariée" msgstr "accolade fermante `}' non appariée"
#: src/reader.c:973 #: src/reader.c:965
#, c-format #, c-format
msgid "argument of %expect is not an integer" msgid "argument of %expect is not an integer"
msgstr "le paramètre de %expect n'est pas un entier" msgstr "le paramètre de %expect n'est pas un entier"
#: src/reader.c:1005 #: src/reader.c:997
#, c-format #, c-format
msgid "@%s is invalid" msgid "@%s is invalid"
msgstr "@%s n'est pas valide" msgstr "@%s n'est pas valide"
#: src/reader.c:1014 #: src/reader.c:1012 src/reader.c:1024
msgid "invalid $ value" msgid "invalid $ value"
msgstr "la valeur de symbole $ n'est pas valide" msgstr "la valeur de symbole $ n'est pas valide"
#: src/reader.c:1092 #: src/reader.c:1083
msgid "unmatched right brace (`}')" msgid "unmatched right brace (`}')"
msgstr "accolade fermante `}' non appariée" msgstr "accolade fermante `}' non appariée"
#: src/reader.c:1139 src/reader.c:1277 #: src/reader.c:1130 src/reader.c:1270
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ de `%s' n'a pas son type déclaré" msgstr "$$ de `%s' n'a pas son type déclaré"
#: src/reader.c:1154 src/reader.c:1293 #: src/reader.c:1146 src/reader.c:1286
#, c-format #, fuzzy, c-format
msgid "$%s of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s cd `%s' n'a pas son type déclaré" msgstr "$%s cd `%s' n'a pas son type déclaré"
#: src/reader.c:1159 src/reader.c:1298 #: src/reader.c:1151 src/reader.c:1291
#, c-format #, c-format
msgid "$%s is invalid" msgid "$%s is invalid"
msgstr "$%s n'est pas valide" msgstr "$%s n'est pas valide"
#: src/reader.c:1167 #: src/reader.c:1160
msgid "unterminated %%guard clause" #, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "clause %%guard non terminée" msgstr "clause %%guard non terminée"
#: src/reader.c:1307 #: src/reader.c:1300
msgid "unmatched `{'" msgid "unmatched `{'"
msgstr "accolade ouvrante `{' non appariée" msgstr "accolade ouvrante `{' non appariée"
#: src/reader.c:1393 #: src/reader.c:1386
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'" msgstr "règle mal formée: le symbole initial n'est pas suivi de `:'"
#: src/reader.c:1400 #: src/reader.c:1393
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "la grammaire débute par une barre verticale" msgstr "la grammaire débute par une barre verticale"
#: src/reader.c:1431 #: src/reader.c:1424
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "la règle pour %s, qui est un terminal" msgstr "la règle pour %s, qui est un terminal"
#: src/reader.c:1529 #: src/reader.c:1522
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "deux @prec de suite" msgstr "deux @prec de suite"
#: src/reader.c:1537 #: src/reader.c:1531
msgid "%%guard present but %%semantic_parser not specified" #, fuzzy, c-format
msgid "%guard present but %semantic_parser not specified"
msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié" msgstr "%%guard est présent mais %%semantic_parser n'est pas spécifié"
#: src/reader.c:1546 #: src/reader.c:1540
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "deux actions à la fin d'une même règle" msgstr "deux actions à la fin d'une même règle"
#: src/reader.c:1561 #: src/reader.c:1555
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "conflit de type (`%s' `%s') pour l'action par défaut" msgstr "conflit de type (`%s' `%s') pour l'action par défaut"
#: src/reader.c:1567 #: src/reader.c:1561
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "règle vide pour une catégorie typée et aucune action" msgstr "règle vide pour une catégorie typée et aucune action"
#: src/reader.c:1611 #: src/reader.c:1605
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "entrée non valide: %s" msgstr "entrée non valide: %s"
#: src/reader.c:1619 #: src/reader.c:1613
#, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %s" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "trop de symboles (terminaux et catégories); maximum de %s" msgstr "trop de symboles (terminaux et catégories); maximum de %s"
#: src/reader.c:1622 #: src/reader.c:1616
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "la grammaire n'a pas de règles" msgstr "la grammaire n'a pas de règles"
#: src/reader.c:1640 #: src/reader.c:1634
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas " "le symbole %s est utilisé mais ce n'est pas un terminal et il ne possède pas "
"de règle" "de règle"
#: src/reader.c:1679 #: src/reader.c:1673
msgid "ill-formed %type declaration" msgid "ill-formed %type declaration"
msgstr "déclaration %type mal formée" msgstr "déclaration %type mal formée"
#: src/reader.c:1758 #: src/reader.c:1752
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "les priorités pour %s et %s entrent en conflit" msgstr "les priorités pour %s et %s entrent en conflit"
#: src/reader.c:1770 #: src/reader.c:1764
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "les valeurs d'association de %s et %s entrent en conflit" msgstr "les valeurs d'association de %s et %s entrent en conflit"
#: src/reader.c:1821 #: src/reader.c:1815
#, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %s" msgid "tokens %s and %s both assigned number %d"
msgstr "les terminaux %s et %s se sont vus assigner le nombre %s" msgstr "les terminaux %s et %s se sont vus assigner le nombre %s"
#: src/reader.c:1835 #: src/reader.c:1829
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "le symbole de départ %s n'est pas défini" msgstr "le symbole de départ %s n'est pas défini"
#: src/reader.c:1837 #: src/reader.c:1831
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "le symbole de départ %s est un terminal" msgstr "le symbole de départ %s est un terminal"
@@ -691,65 +696,72 @@ msgstr " et "
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d règle(s) non productive(s)" msgstr "%d règle(s) non productive(s)"
#: src/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"
msgstr "%s: l'option %s est ambigüe\n" msgstr "%s: l'option %s est ambigüe\n"
#: src/getopt.c:700 #: lib/getopt.c:700
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%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"
#: src/getopt.c:705 #: lib/getopt.c:705
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: l'option %c%s n'admet pas de paramètre\n" msgstr "%s: l'option %c%s n'admet pas de paramètre\n"
#: src/getopt.c:723 src/getopt.c:896 #: lib/getopt.c:723 lib/getopt.c:896
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: l'option %s requiert un paramètre\n" msgstr "%s: l'option %s requiert un paramètre\n"
#. --option #. --option
#: src/getopt.c:752 #: lib/getopt.c:752
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: l'option --%s est inconnue\n" msgstr "%s: l'option --%s est inconnue\n"
#. +option or -option #. +option or -option
#: src/getopt.c:756 #: lib/getopt.c:756
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: l'option %c%s est inconnue\n" msgstr "%s: l'option %c%s est inconnue\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:782 #: lib/getopt.c:782
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: option illégale -- %c\n" msgstr "%s: option illégale -- %c\n"
#: src/getopt.c:785 #: lib/getopt.c:785
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: option non valide -- %c\n" msgstr "%s: option non valide -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:815 src/getopt.c:945 #: lib/getopt.c:815 lib/getopt.c:945
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: Cette option requiert un paramètre -- %c\n" msgstr "%s: Cette option requiert un paramètre -- %c\n"
#: src/getopt.c:862 #: lib/getopt.c:862
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: l'option %s est ambigüe\n" msgstr "%s: l'option %s est ambigüe\n"
#: src/getopt.c:880 #: lib/getopt.c:880
#, fuzzy, c-format #, fuzzy, c-format
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"
#~ msgid "gotos"
#~ msgstr "gotos"
#, fuzzy
#~ msgid "fatal error: "
#~ msgstr "erreur fatale: %s\n"
#~ msgid "" #~ msgid ""
#~ "\n" #~ "\n"
#~ "\n" #~ "\n"

212
po/nl.po
View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-03-28 14:20+0200\n" "POT-Creation-Date: 2000-03-31 15:40+0200\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"
@@ -13,6 +13,11 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
#: src/LR0.c:377
#, c-format
msgid "too many states (max %d)"
msgstr ""
#: src/allocate.c:59 src/allocate.c:75 #: src/allocate.c:59 src/allocate.c:75
#, c-format #, c-format
msgid "%s: memory exhausted\n" msgid "%s: memory exhausted\n"
@@ -175,74 +180,66 @@ msgstr ""
msgid "Report bugs to <bug-bison@gnu.org>.\n" msgid "Report bugs to <bug-bison@gnu.org>.\n"
msgstr "" msgstr ""
#: src/getargs.c:196 #: src/getargs.c:195
#, c-format #, c-format
msgid "%s: no grammar file given\n" msgid "%s: no grammar file given\n"
msgstr "%s: geen grammatica bestand gegeven\n" msgstr "%s: geen grammatica bestand gegeven\n"
#: src/getargs.c:200 #: src/getargs.c:199
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: extra argumenten genegeerd na '%s'\n" msgstr "%s: extra argumenten genegeerd na '%s'\n"
#: src/lalr.c:294 #: src/lalr.c:293
msgid "gotos" #, c-format
msgstr "ganaar" msgid "too many gotos (max %d)"
msgstr ""
#: src/lex.c:119 #: src/lex.c:115
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "onverwachte `/' gevonden en genegeerd" msgstr "onverwachte `/' gevonden en genegeerd"
#: src/lex.c:148 src/reader.c:258 #: src/lex.c:144 src/reader.c:248
msgid "unterminated comment" msgid "unterminated comment"
msgstr "ongetermineerd commentaar" msgstr "ongetermineerd commentaar"
#: src/lex.c:176 #: src/lex.c:172
msgid "Unexpected end of file" #, fuzzy
msgid "unexpected end of file"
msgstr "Onverwacht bestandseinde" msgstr "Onverwacht bestandseinde"
#: src/lex.c:197 #: src/lex.c:193
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "niet geescapete nieuwe regel in constante" msgstr "niet geescapete nieuwe regel in constante"
#: src/lex.c:229 #: src/lex.c:225
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "octale waarde buiten domein 0...255: `\\%o'" msgstr "octale waarde buiten domein 0...255: `\\%o'"
#: src/lex.c:253 #: src/lex.c:250
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadecimale waarde boven 255: `\\x%x'" msgstr "hexadecimale waarde boven 255: `\\x%x'"
#: src/lex.c:263 #: src/lex.c:261
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "onbekende escape reeks: `\\' gevolgd door `%s'" msgstr "onbekende escape reeks: `\\' gevolgd door `%s'"
#: src/lex.c:396 #: src/lex.c:394
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/lex.c:475 #: src/lex.c:473
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "niet getermineerd type naam aan het einde van bestand" msgstr "niet getermineerd type naam aan het einde van bestand"
#: src/lex.c:478 #: src/lex.c:476
msgid "unterminated type name" msgid "unterminated type name"
msgstr "niet getermineerd type naam" msgstr "niet getermineerd type naam"
#: src/main.c:163 #: src/main.c:137
#, fuzzy
msgid "fatal error: "
msgstr "fatale fout: %s\n"
#: src/main.c:258
#, c-format
msgid "too many %s (max %d)"
msgstr ""
#: src/main.c:268
#, 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"
@@ -251,9 +248,9 @@ msgstr "interne fout, %s\n"
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "Inkomende set nullable" msgstr "Inkomende set nullable"
#: src/output.c:1201 #: src/output.c:1199
#, c-format #, fuzzy, c-format
msgid "maximum table size (%s) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "maximale tabel grootte (%s) overschreden" msgstr "maximale tabel grootte (%s) overschreden"
#: src/print.c:85 #: src/print.c:85
@@ -355,234 +352,242 @@ msgstr " links:"
msgid " on right:" msgid " on right:"
msgstr " rechts:" msgstr " rechts:"
#: src/reader.c:163 #: src/reader.c:154
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " Verder naar volgende \\n" msgstr " Verder naar volgende \\n"
#: src/reader.c:165 #: src/reader.c:156
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " Verder naar volgende %c" msgstr " Verder naar volgende %c"
#: src/reader.c:189 src/reader.c:204 #: src/reader.c:180 src/reader.c:195
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "niet getermineerde string aan einde van bestand" msgstr "niet getermineerde string aan einde van bestand"
#: src/reader.c:192 #: src/reader.c:183
msgid "unterminated string" msgid "unterminated string"
msgstr "niet getermineerde string" msgstr "niet getermineerde string"
#: src/reader.c:434 #: src/reader.c:424
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "onbekend: %s" msgstr "onbekend: %s"
#: src/reader.c:439 #: src/reader.c:429
msgid "no input grammar" msgid "no input grammar"
msgstr "geen invoer grammatica" msgstr "geen invoer grammatica"
#: src/reader.c:442 #: src/reader.c:432
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "onbekend karakter: %s" msgstr "onbekend karakter: %s"
#: src/reader.c:493 #: src/reader.c:484
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "niet getermineerde `%{' definitie" msgstr "niet getermineerde `%{' definitie"
#: src/reader.c:571 src/reader.c:792 #: src/reader.c:525 src/reader.c:713 src/reader.c:762
#, c-format
msgid "Premature EOF after %s"
msgstr ""
#: src/reader.c:562 src/reader.c:784
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "symbool %s opnieuw gedefinieerd" msgstr "symbool %s opnieuw gedefinieerd"
#: src/reader.c:581 src/reader.c:737 src/reader.c:799 src/reader.c:1703 #: src/reader.c:572 src/reader.c:728 src/reader.c:791 src/reader.c:1697
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "type herdeclaratie voor %s" msgstr "type herdeclaratie voor %s"
#: src/reader.c:591 #: src/reader.c:582
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' is onjuist in %s" msgstr "`%s' is onjuist in %s"
#: src/reader.c:639 #: src/reader.c:630
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "onbekend item %s, verwacht een identifier" msgstr "onbekend item %s, verwacht een identifier"
#: src/reader.c:661 #: src/reader.c:652
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "verwacht string constante in plaats van %s" msgstr "verwacht string constante in plaats van %s"
#: src/reader.c:683 #: src/reader.c:674
#, c-format #, c-format
msgid "multiple %start declarations" msgid "multiple %start declarations"
msgstr "meerdere %start declaraties" msgstr "meerdere %start declaraties"
#: src/reader.c:685 #: src/reader.c:676
#, c-format #, c-format
msgid "invalid %start declaration" msgid "invalid %start declaration"
msgstr "onjuiste %start declaratie" msgstr "onjuiste %start declaratie"
#: src/reader.c:705 #: src/reader.c:696
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "%type declaratie heeft geen <typenaam>" msgstr "%type declaratie heeft geen <typenaam>"
#: src/reader.c:742 #: src/reader.c:733
msgid "invalid %%type declaration due to item: `%s'" #, fuzzy
msgid "invalid %%type declaration due to item: %s"
msgstr "onjuist %%type declaratie door item: `%s'" msgstr "onjuist %%type declaratie door item: `%s'"
#: src/reader.c:788 #: src/reader.c:780
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "herdefinieren voorganger van %s" msgstr "herdefinieren voorganger van %s"
#: src/reader.c:811 #: src/reader.c:803
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "onjuiste tekst (%s) - nummer hoort na de identifier" msgstr "onjuiste tekst (%s) - nummer hoort na de identifier"
#: src/reader.c:821 #: src/reader.c:813
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "onbekend item: %s" msgstr "onbekend item: %s"
#: src/reader.c:845 #: src/reader.c:837
#, c-format #, c-format
msgid "multiple %union declarations" msgid "multiple %union declarations"
msgstr "meerdere %union declaraties" msgstr "meerdere %union declaraties"
#: src/reader.c:903 #: src/reader.c:895
msgid "unterminated comment at end of file" msgid "unterminated comment at end of file"
msgstr "niet getermineerd commentaar aan einde van bestand" msgstr "niet getermineerd commentaar aan einde van bestand"
#: src/reader.c:929 #: src/reader.c:921
msgid "unmatched close-brace (`}')" msgid "unmatched close-brace (`}')"
msgstr "niet overeenkomstige afsluit-haakje (`}')" msgstr "niet overeenkomstige afsluit-haakje (`}')"
#: src/reader.c:973 #: src/reader.c:965
#, c-format #, c-format
msgid "argument of %expect is not an integer" msgid "argument of %expect is not an integer"
msgstr "argument van %expect is niet een integer" msgstr "argument van %expect is niet een integer"
#: src/reader.c:1005 #: src/reader.c:997
#, c-format #, c-format
msgid "@%s is invalid" msgid "@%s is invalid"
msgstr "@%s is onjuist" msgstr "@%s is onjuist"
#: src/reader.c:1014 #: src/reader.c:1012 src/reader.c:1024
msgid "invalid $ value" msgid "invalid $ value"
msgstr "onjuiste $ waarde" msgstr "onjuiste $ waarde"
#: src/reader.c:1092 #: src/reader.c:1083
msgid "unmatched right brace (`}')" msgid "unmatched right brace (`}')"
msgstr "niet overeenkomstig rechter haakje (`}')" msgstr "niet overeenkomstig rechter haakje (`}')"
#: src/reader.c:1139 src/reader.c:1277 #: src/reader.c:1130 src/reader.c:1270
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ van `%s' heeft geen gedeclareerd type" msgstr "$$ van `%s' heeft geen gedeclareerd type"
#: src/reader.c:1154 src/reader.c:1293 #: src/reader.c:1146 src/reader.c:1286
#, c-format #, fuzzy, c-format
msgid "$%s of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s van `%s' heeft geen gedeclareerd type" msgstr "$%s van `%s' heeft geen gedeclareerd type"
#: src/reader.c:1159 src/reader.c:1298 #: src/reader.c:1151 src/reader.c:1291
#, c-format #, c-format
msgid "$%s is invalid" msgid "$%s is invalid"
msgstr "$%s is onjuist" msgstr "$%s is onjuist"
#: src/reader.c:1167 #: src/reader.c:1160
msgid "unterminated %%guard clause" #, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "niet getermineerde %%guard voorwaarde" msgstr "niet getermineerde %%guard voorwaarde"
#: src/reader.c:1307 #: src/reader.c:1300
msgid "unmatched `{'" msgid "unmatched `{'"
msgstr "niet overeenkomstige `{'" msgstr "niet overeenkomstige `{'"
#: src/reader.c:1393 #: src/reader.c:1386
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "" msgstr ""
"slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt" "slecht geformuleerde regel: initieel symbool niet gevolgd door dubbele punt"
#: src/reader.c:1400 #: src/reader.c:1393
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "grammatica start met een verticale bar" msgstr "grammatica start met een verticale bar"
#: src/reader.c:1431 #: src/reader.c:1424
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "regel geven voor %s, welke een teken is" msgstr "regel geven voor %s, welke een teken is"
#: src/reader.c:1529 #: src/reader.c:1522
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "twee @prec's in een regel" msgstr "twee @prec's in een regel"
#: src/reader.c:1537 #: src/reader.c:1531
msgid "%%guard present but %%semantic_parser not specified" #, fuzzy, c-format
msgid "%guard present but %semantic_parser not specified"
msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd" msgstr "%%guard aanwezig maar %%semantic_parser niet gespecificeerd"
#: src/reader.c:1546 #: src/reader.c:1540
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "twee akties aan het einde van een regel" msgstr "twee akties aan het einde van een regel"
#: src/reader.c:1561 #: src/reader.c:1555
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "type clash (`%s' `%s') bij standaard aktie" msgstr "type clash (`%s' `%s') bij standaard aktie"
#: src/reader.c:1567 #: src/reader.c:1561
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "lege regel voor getypte niet terminal, en geen aktie" msgstr "lege regel voor getypte niet terminal, en geen aktie"
#: src/reader.c:1611 #: src/reader.c:1605
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ongeldige invoer: %s" msgstr "ongeldige invoer: %s"
#: src/reader.c:1619 #: src/reader.c:1613
#, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %s" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "te veel symbolen (tekens plus nietterminals); maximum %s" msgstr "te veel symbolen (tekens plus nietterminals); maximum %s"
#: src/reader.c:1622 #: src/reader.c:1616
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "geen regels voor invoer grammatica" msgstr "geen regels voor invoer grammatica"
#: src/reader.c:1640 #: src/reader.c:1634
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "" msgstr ""
"symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n" "symbool %s is gebruikt, maar is niet gedefinieerd als een teken en\n"
"heeft geen regels" "heeft geen regels"
#: src/reader.c:1679 #: src/reader.c:1673
msgid "ill-formed %type declaration" msgid "ill-formed %type declaration"
msgstr "slecht geformuleerde %type declaratie" msgstr "slecht geformuleerde %type declaratie"
#: src/reader.c:1758 #: src/reader.c:1752
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "conflictuerende precedentein voor %s en %s" msgstr "conflictuerende precedentein voor %s en %s"
#: src/reader.c:1770 #: src/reader.c:1764
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "conflictuerende associatieve waarden voor %s en %s" msgstr "conflictuerende associatieve waarden voor %s en %s"
#: src/reader.c:1821 #: src/reader.c:1815
#, c-format #, c-format
msgid "tokens %s and %s both assigned number %s" msgid "tokens %s and %s both assigned number %d"
msgstr "" msgstr ""
#: src/reader.c:1835 #: src/reader.c:1829
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "" msgstr ""
#: src/reader.c:1837 #: src/reader.c:1831
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "het start symbool %s is een token" msgstr "het start symbool %s is een token"
@@ -690,65 +695,72 @@ msgstr " en "
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d onbruikbare regels%s" msgstr "%d onbruikbare regels%s"
#: src/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"
msgstr "%s: optie `%s' is niet eenduidig\n" msgstr "%s: optie `%s' is niet eenduidig\n"
#: src/getopt.c:700 #: lib/getopt.c:700
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%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"
#: src/getopt.c:705 #: lib/getopt.c:705
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: optie `%c%s' staat geen argument toe\n" msgstr "%s: optie `%c%s' staat geen argument toe\n"
#: src/getopt.c:723 src/getopt.c:896 #: lib/getopt.c:723 lib/getopt.c:896
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: optie `%s' vereist een argument\n" msgstr "%s: optie `%s' vereist een argument\n"
#. --option #. --option
#: src/getopt.c:752 #: lib/getopt.c:752
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: onbekende optie `--%s'\n" msgstr "%s: onbekende optie `--%s'\n"
#. +option or -option #. +option or -option
#: src/getopt.c:756 #: lib/getopt.c:756
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: onbekende optie `%c%s'\n" msgstr "%s: onbekende optie `%c%s'\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:782 #: lib/getopt.c:782
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: ongeldige optie -- %c\n" msgstr "%s: ongeldige optie -- %c\n"
#: src/getopt.c:785 #: lib/getopt.c:785
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: onjuiste optie -- %c\n" msgstr "%s: onjuiste optie -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:815 src/getopt.c:945 #: lib/getopt.c:815 lib/getopt.c:945
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: optie vereist een argument -- %c\n" msgstr "%s: optie vereist een argument -- %c\n"
#: src/getopt.c:862 #: lib/getopt.c:862
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: optie `%s' is niet eenduidig\n" msgstr "%s: optie `%s' is niet eenduidig\n"
#: src/getopt.c:880 #: lib/getopt.c:880
#, fuzzy, c-format #, fuzzy, c-format
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"
#~ msgid "gotos"
#~ msgstr "ganaar"
#, fuzzy
#~ msgid "fatal error: "
#~ msgstr "fatale fout: %s\n"
#~ msgid "" #~ msgid ""
#~ "\n" #~ "\n"
#~ "\n" #~ "\n"

214
po/ru.po
View File

@@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: bison 1.25\n" "Project-Id-Version: bison 1.25\n"
"POT-Creation-Date: 2000-03-28 14:20+0200\n" "POT-Creation-Date: 2000-03-31 15:40+0200\n"
"PO-Revision-Date: 1999-07-12 12:18\n" "PO-Revision-Date: 1999-07-12 12:18\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"
@@ -13,6 +13,11 @@ msgstr ""
"Content-Type: text/plain; charset=koi8-r\n" "Content-Type: text/plain; charset=koi8-r\n"
"Content-Transfer-Encoding: 8-bit\n" "Content-Transfer-Encoding: 8-bit\n"
#: src/LR0.c:377
#, c-format
msgid "too many states (max %d)"
msgstr ""
#: src/allocate.c:59 src/allocate.c:75 #: src/allocate.c:59 src/allocate.c:75
#, c-format #, c-format
msgid "%s: memory exhausted\n" msgid "%s: memory exhausted\n"
@@ -171,74 +176,66 @@ msgstr ""
msgid "Report bugs to <bug-bison@gnu.org>.\n" msgid "Report bugs to <bug-bison@gnu.org>.\n"
msgstr "" msgstr ""
#: src/getargs.c:196 #: src/getargs.c:195
#, c-format #, c-format
msgid "%s: no grammar file given\n" msgid "%s: no grammar file given\n"
msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n" msgstr "%s: ÎÅ ÚÁÄÁÎ ÆÁÊÌ Ó ÇÒÁÍÍÁÔÉËÏÊ\n"
#: src/getargs.c:200 #: src/getargs.c:199
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: extra arguments ignored after `%s'\n" msgid "%s: extra arguments ignored after `%s'\n"
msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ '%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n" msgstr "%s: ÌÉÛÎÉÅ ÁÒÇÕÍÅÎÔÙ ÐÏÓÌÅ '%s' ÉÇÎÏÒÉÒÏ×ÁÎÙ\n"
#: src/lalr.c:294 #: src/lalr.c:293
msgid "gotos" #, c-format
msgstr "ÂÅÚÕÓÌÏ×ÎÙÈ ÐÅÒÅÈÏÄÏ×" msgid "too many gotos (max %d)"
msgstr ""
#: src/lex.c:119 #: src/lex.c:115
msgid "unexpected `/' found and ignored" msgid "unexpected `/' found and ignored"
msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'" msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
#: src/lex.c:148 src/reader.c:258 #: src/lex.c:144 src/reader.c:248
msgid "unterminated comment" msgid "unterminated comment"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
#: src/lex.c:176 #: src/lex.c:172
msgid "Unexpected end of file" #, fuzzy
msgid "unexpected end of file"
msgstr "îÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ" msgstr "îÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ"
#: src/lex.c:197 #: src/lex.c:193
msgid "unescaped newline in constant" msgid "unescaped newline in constant"
msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ" msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
#: src/lex.c:229 #: src/lex.c:225
#, c-format #, c-format
msgid "octal value outside range 0...255: `\\%o'" msgid "octal value outside range 0...255: `\\%o'"
msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'" msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'"
#: src/lex.c:253 #: src/lex.c:250
#, c-format #, c-format
msgid "hexadecimal value above 255: `\\x%x'" msgid "hexadecimal value above 255: `\\x%x'"
msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'" msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
#: src/lex.c:263 #: src/lex.c:261
#, c-format #, c-format
msgid "unknown escape sequence: `\\' followed by `%s'" msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `%s' ÐÏÓÌÅ `\\'" msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `%s' ÐÏÓÌÅ `\\'"
#: src/lex.c:396 #: src/lex.c:394
msgid "use \"...\" for multi-character literal tokens" msgid "use \"...\" for multi-character literal tokens"
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ" msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
#: src/lex.c:475 #: src/lex.c:473
msgid "unterminated type name at end of file" msgid "unterminated type name at end of file"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ × ËÏÎÃÅ ÆÁÊÌÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ × ËÏÎÃÅ ÆÁÊÌÁ"
#: src/lex.c:478 #: src/lex.c:476
msgid "unterminated type name" msgid "unterminated type name"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
#: src/main.c:163 #: src/main.c:137
#, fuzzy
msgid "fatal error: "
msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: %s\n"
#: src/main.c:258
#, c-format
msgid "too many %s (max %d)"
msgstr ""
#: src/main.c:268
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: internal error: %s\n" msgid "%s: internal error: %s\n"
msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, %s\n" msgstr "×ÎÕÔÒÅÎÎÑÑ ÏÛÉÂËÁ, %s\n"
@@ -247,9 +244,9 @@ msgstr "
msgid "Entering set_nullable" msgid "Entering set_nullable"
msgstr "÷ÈÏÄ × set_nullable" msgstr "÷ÈÏÄ × set_nullable"
#: src/output.c:1201 #: src/output.c:1199
#, c-format #, fuzzy, c-format
msgid "maximum table size (%s) exceeded" msgid "maximum table size (%d) exceeded"
msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%s)" msgstr "ÐÒÅ×ÙÛÅÎ ÍÁËÓÉÍÁÌØÎÙÊ ÒÁÚÍÅÒ ÔÁÂÌÉÃÙ (%s)"
#: src/print.c:85 #: src/print.c:85
@@ -351,232 +348,240 @@ msgstr "
msgid " on right:" msgid " on right:"
msgstr " ÎÁÐÒÁ×Ï:" msgstr " ÎÁÐÒÁ×Ï:"
#: src/reader.c:163 #: src/reader.c:154
msgid " Skipping to next \\n" msgid " Skipping to next \\n"
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n" msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ \\n"
#: src/reader.c:165 #: src/reader.c:156
#, c-format #, c-format
msgid " Skipping to next %c" msgid " Skipping to next %c"
msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c" msgstr " ðÒÏÐÕÓË ÄÏ ÓÌÅÄÕÀÝÅÇÏ %c"
#: src/reader.c:189 src/reader.c:204 #: src/reader.c:180 src/reader.c:195
msgid "unterminated string at end of file" msgid "unterminated string at end of file"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ × ËÏÎÃÅ ÆÁÊÌÁ"
#: src/reader.c:192 #: src/reader.c:183
msgid "unterminated string" msgid "unterminated string"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÁÑ ÓÔÒÏËÁ"
#: src/reader.c:434 #: src/reader.c:424
#, c-format #, c-format
msgid "unrecognized: %s" msgid "unrecognized: %s"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÏ: %s"
#: src/reader.c:439 #: src/reader.c:429
msgid "no input grammar" msgid "no input grammar"
msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ" msgstr "ÎÅÔ ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÉ"
#: src/reader.c:442 #: src/reader.c:432
#, c-format #, c-format
msgid "unknown character: %s" msgid "unknown character: %s"
msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s" msgstr "ÎÅÉÚ×ÅÓÔÎÙÊ ÓÉÍ×ÏÌ: %s"
#: src/reader.c:493 #: src/reader.c:484
msgid "unterminated `%{' definition" msgid "unterminated `%{' definition"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'" msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ `%{'"
#: src/reader.c:571 src/reader.c:792 #: src/reader.c:525 src/reader.c:713 src/reader.c:762
#, c-format
msgid "Premature EOF after %s"
msgstr ""
#: src/reader.c:562 src/reader.c:784
#, c-format #, c-format
msgid "symbol %s redefined" msgid "symbol %s redefined"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÒÅÄÅÌÅÎÉÅ ÓÉÍ×ÏÌÁ %s"
#: src/reader.c:581 src/reader.c:737 src/reader.c:799 src/reader.c:1703 #: src/reader.c:572 src/reader.c:728 src/reader.c:791 src/reader.c:1697
#, c-format #, c-format
msgid "type redeclaration for %s" msgid "type redeclaration for %s"
msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s" msgstr "ÐÏ×ÔÏÒÎÏÅ ÏÐÉÓÁÎÉÅ ÔÉÐÁ ÄÌÑ %s"
#: src/reader.c:591 #: src/reader.c:582
#, c-format #, c-format
msgid "`%s' is invalid in %s" msgid "`%s' is invalid in %s"
msgstr "`%s' ÎÅ×ÅÒÎÏ × %s" msgstr "`%s' ÎÅ×ÅÒÎÏ × %s"
#: src/reader.c:639 #: src/reader.c:630
#, c-format #, c-format
msgid "unrecognized item %s, expected an identifier" msgid "unrecognized item %s, expected an identifier"
msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÜÌÅÍÅÎÔ %s, ÏÖÉÄÁÌÓÑ ÉÄÅÎÔÉÆÉËÁÔÏÒ"
#: src/reader.c:661 #: src/reader.c:652
#, c-format #, c-format
msgid "expected string constant instead of %s" msgid "expected string constant instead of %s"
msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ" msgstr "×ÍÅÓÔÏ %s ÏÖÉÄÁÌÁÓØ ÓÔÒÏËÏ×ÁÑ ÐÏÓÔÏÑÎÎÁÑ"
#: src/reader.c:683 #: src/reader.c:674
#, c-format #, c-format
msgid "multiple %start declarations" msgid "multiple %start declarations"
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start" msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %start"
#: src/reader.c:685 #: src/reader.c:676
#, c-format #, c-format
msgid "invalid %start declaration" msgid "invalid %start declaration"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %start"
#: src/reader.c:705 #: src/reader.c:696
msgid "%type declaration has no <typename>" msgid "%type declaration has no <typename>"
msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>" msgstr "ÏÐÉÓÁÎÉÅ %type ÎÅ ÉÍÅÅÔ <ÉÍÑ_ÔÉÐÁ>"
#: src/reader.c:742 #: src/reader.c:733
msgid "invalid %%type declaration due to item: `%s'" #, fuzzy
msgid "invalid %%type declaration due to item: %s"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: `%s'" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %%type ÉÚ-ÚÁ ÜÌÅÍÅÎÔÁ: `%s'"
#: src/reader.c:788 #: src/reader.c:780
#, c-format #, c-format
msgid "redefining precedence of %s" msgid "redefining precedence of %s"
msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s" msgstr "ÐÅÒÅÏÐÒÅÄÅÌÅÎÉÅ ÐÒÉÏÒÉÔÅÔÁ ÄÌÑ %s"
#: src/reader.c:811 #: src/reader.c:803
#, c-format #, c-format
msgid "invalid text (%s) - number should be after identifier" msgid "invalid text (%s) - number should be after identifier"
msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ" msgstr "ÎÅ×ÅÒÎÙÊ ÔÅËÓÔ (%s) - ÞÉÓÌÏ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÉÄÅÎÔÉÆÉËÁÔÏÒÏÍ"
#: src/reader.c:821 #: src/reader.c:813
#, c-format #, c-format
msgid "unexpected item: %s" msgid "unexpected item: %s"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÜÌÅÍÅÎÔ: %s"
#: src/reader.c:845 #: src/reader.c:837
#, c-format #, c-format
msgid "multiple %union declarations" msgid "multiple %union declarations"
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %union" msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %union"
#: src/reader.c:903 #: src/reader.c:895
msgid "unterminated comment at end of file" msgid "unterminated comment at end of file"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ × ËÏÎÃÅ ÆÁÊÌÁ" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ × ËÏÎÃÅ ÆÁÊÌÁ"
#: src/reader.c:929 #: src/reader.c:921
msgid "unmatched close-brace (`}')" msgid "unmatched close-brace (`}')"
msgstr "ÎÅÐÁÒÎÁÑ ÚÁËÒÙ×ÁÀÝÁÑ ÆÉÇÕÒÎÁÑ ÓËÏÂËÁ (`}')" msgstr "ÎÅÐÁÒÎÁÑ ÚÁËÒÙ×ÁÀÝÁÑ ÆÉÇÕÒÎÁÑ ÓËÏÂËÁ (`}')"
#: src/reader.c:973 #: src/reader.c:965
#, c-format #, c-format
msgid "argument of %expect is not an integer" msgid "argument of %expect is not an integer"
msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ" msgstr "ÁÒÇÕÍÅÎÔ %expect ÎÅ Ñ×ÌÑÅÔÓÑ ÃÅÌÙÍ ÞÉÓÌÏÍ"
#: src/reader.c:1005 #: src/reader.c:997
#, c-format #, c-format
msgid "@%s is invalid" msgid "@%s is invalid"
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s" msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË @%s"
#: src/reader.c:1014 #: src/reader.c:1012 src/reader.c:1024
msgid "invalid $ value" msgid "invalid $ value"
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ" msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
#: src/reader.c:1092 #: src/reader.c:1083
msgid "unmatched right brace (`}')" msgid "unmatched right brace (`}')"
msgstr "ÎÅÐÁÒÎÁÑ ÐÒÁ×ÁÑ ÆÉÇÕÒÎÁÑ ÓËÏÂËÁ (`}')" msgstr "ÎÅÐÁÒÎÁÑ ÐÒÁ×ÁÑ ÆÉÇÕÒÎÁÑ ÓËÏÂËÁ (`}')"
#: src/reader.c:1139 src/reader.c:1277 #: src/reader.c:1130 src/reader.c:1270
#, c-format #, c-format
msgid "$$ of `%s' has no declared type" msgid "$$ of `%s' has no declared type"
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ" msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
#: src/reader.c:1154 src/reader.c:1293 #: src/reader.c:1146 src/reader.c:1286
#, c-format #, fuzzy, c-format
msgid "$%s of `%s' has no declared type" msgid "$%d of `%s' has no declared type"
msgstr "$%s × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ" msgstr "$%s × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
#: src/reader.c:1159 src/reader.c:1298 #: src/reader.c:1151 src/reader.c:1291
#, c-format #, c-format
msgid "$%s is invalid" msgid "$%s is invalid"
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s" msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË $%s"
#: src/reader.c:1167 #: src/reader.c:1160
msgid "unterminated %%guard clause" #, fuzzy, c-format
msgid "unterminated %guard clause"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %%guard" msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ÏÐÅÒÁÔÏÒ %%guard"
#: src/reader.c:1307 #: src/reader.c:1300
msgid "unmatched `{'" msgid "unmatched `{'"
msgstr "ÎÅÐÁÒÎÁÑ `{'" msgstr "ÎÅÐÁÒÎÁÑ `{'"
#: src/reader.c:1393 #: src/reader.c:1386
msgid "ill-formed rule: initial symbol not followed by colon" msgid "ill-formed rule: initial symbol not followed by colon"
msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ" msgstr "ÎÅ×ÅÒÎÏÅ ÐÒÁ×ÉÌÏ: Ä×ÏÅÔÏÞÉÅ ÎÅ ÓÌÅÄÕÅÔ ÚÁ ÎÁÞÁÌØÎÙÍ ÓÉÍ×ÏÌÏÍ"
#: src/reader.c:1400 #: src/reader.c:1393
msgid "grammar starts with vertical bar" msgid "grammar starts with vertical bar"
msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ" msgstr "ÇÒÁÍÍÁÔÉËÁ ÎÁÞÉÎÁÅÔÓÑ Ó ×ÅÒÔÉËÁÌØÎÏÊ ÞÅÒÔÙ"
#: src/reader.c:1431 #: src/reader.c:1424
#, c-format #, c-format
msgid "rule given for %s, which is a token" msgid "rule given for %s, which is a token"
msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" msgstr "ÐÒÁ×ÉÌÏ ÚÁÄÁÎÏ ÄÌÑ %s, ËÏÔÏÒÙÊ Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
#: src/reader.c:1529 #: src/reader.c:1522
msgid "two @prec's in a row" msgid "two @prec's in a row"
msgstr "Ä×Á @prec ÐÏÄÒÑÄ" msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
#: src/reader.c:1537 #: src/reader.c:1531
msgid "%%guard present but %%semantic_parser not specified" #, fuzzy, c-format
msgid "%guard present but %semantic_parser not specified"
msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ" msgstr "%%guard ÐÒÉÓÕÔÓÔ×ÕÅÔ, Á %%semantic_parser ÎÅ ÚÁÄÁÎ"
#: src/reader.c:1546 #: src/reader.c:1540
msgid "two actions at end of one rule" msgid "two actions at end of one rule"
msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ" msgstr "Ä×Á ÄÅÊÓÔ×ÉÑ × ËÏÎÃÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ"
#: src/reader.c:1561 #: src/reader.c:1555
#, c-format #, c-format
msgid "type clash (`%s' `%s') on default action" msgid "type clash (`%s' `%s') on default action"
msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× (`%s' `%s') ÎÁ ÄÅÊÓÔ×ÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ"
#: src/reader.c:1567 #: src/reader.c:1561
msgid "empty rule for typed nonterminal, and no action" msgid "empty rule for typed nonterminal, and no action"
msgstr "" msgstr ""
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ" "ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
#: src/reader.c:1611 #: src/reader.c:1605
#, c-format #, c-format
msgid "invalid input: %s" msgid "invalid input: %s"
msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s" msgstr "ÎÅ×ÅÒÎÙÅ ×ÈÏÄÎÙÅ ÄÁÎÎÙÅ: %s"
#: src/reader.c:1619 #: src/reader.c:1613
#, c-format #, fuzzy, c-format
msgid "too many symbols (tokens plus nonterminals); maximum %s" msgid "too many symbols (tokens plus nonterminals); maximum %d"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %s" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %s"
#: src/reader.c:1622 #: src/reader.c:1616
msgid "no rules in the input grammar" msgid "no rules in the input grammar"
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
#: src/reader.c:1640 #: src/reader.c:1634
#, c-format #, c-format
msgid "symbol %s is used, but is not defined as a token and has no rules" msgid "symbol %s is used, but is not defined as a token and has no rules"
msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ" msgstr "ÓÉÍ×ÏÌ %s ÉÓÐÏÌØÚÕÅÔÓÑ, ÎÏ ÎÅ ÏÐÒÅÄÅÌÅÎ ËÁË ÌÅËÓÅÍÁ É ÎÅ ÉÍÅÅÔ ÐÒÁ×ÉÌ"
#: src/reader.c:1679 #: src/reader.c:1673
msgid "ill-formed %type declaration" msgid "ill-formed %type declaration"
msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %type" msgstr "ÎÅ×ÅÒÎÏÅ ÏÐÉÓÁÎÉÅ %type"
#: src/reader.c:1758 #: src/reader.c:1752
#, c-format #, c-format
msgid "conflicting precedences for %s and %s" msgid "conflicting precedences for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s" msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÐÒÉÏÒÉÔÅÔÙ ÄÌÑ %s É %s"
#: src/reader.c:1770 #: src/reader.c:1764
#, c-format #, c-format
msgid "conflicting assoc values for %s and %s" msgid "conflicting assoc values for %s and %s"
msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s" msgstr "ÐÒÏÔÉ×ÏÒÅÞÉ×ÙÅ ÚÎÁÞÅÎÉÑ ÁÓÓÏÃÉÁÔÉ×ÎÏÓÔÉ ÄÌÑ %s É %s"
#: src/reader.c:1821 #: src/reader.c:1815
#, c-format #, fuzzy, c-format
msgid "tokens %s and %s both assigned number %s" msgid "tokens %s and %s both assigned number %d"
msgstr "ÏÂÏÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %s" msgstr "ÏÂÏÉÍ ÌÅËÓÅÍÁÍ %s É %s ÐÒÉÓ×ÏÅÎ ÎÏÍÅÒ %s"
#: src/reader.c:1835 #: src/reader.c:1829
#, c-format #, c-format
msgid "the start symbol %s is undefined" msgid "the start symbol %s is undefined"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅÏÐÒÅÄÅÌÅÎ"
#: src/reader.c:1837 #: src/reader.c:1831
#, c-format #, c-format
msgid "the start symbol %s is a token" msgid "the start symbol %s is a token"
msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ" msgstr "ÎÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s Ñ×ÌÑÅÔÓÑ ÌÅËÓÅÍÏÊ"
@@ -684,65 +689,72 @@ msgstr "
msgid "%d useless rule%s" msgid "%d useless rule%s"
msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s" msgstr "%d ÂÅÓÐÏÌÅÚÎÙÈ ÐÒÁ×ÉÌ%s"
#: src/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"
msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n" msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n"
#: src/getopt.c:700 #: lib/getopt.c:700
#, c-format #, c-format
msgid "%s: option `--%s' doesn't allow an argument\n" msgid "%s: option `--%s' doesn't allow an argument\n"
msgstr "%s: ËÌÀÞ `--%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n" msgstr "%s: ËÌÀÞ `--%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
#: src/getopt.c:705 #: lib/getopt.c:705
#, c-format #, c-format
msgid "%s: option `%c%s' doesn't allow an argument\n" msgid "%s: option `%c%s' doesn't allow an argument\n"
msgstr "%s: ËÌÀÞ `%c%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n" msgstr "%s: ËÌÀÞ `%c%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
#: src/getopt.c:723 src/getopt.c:896 #: lib/getopt.c:723 lib/getopt.c:896
#, c-format #, c-format
msgid "%s: option `%s' requires an argument\n" msgid "%s: option `%s' requires an argument\n"
msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n" msgstr "%s: ËÌÀÞ `%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ\n"
#. --option #. --option
#: src/getopt.c:752 #: lib/getopt.c:752
#, c-format #, c-format
msgid "%s: unrecognized option `--%s'\n" msgid "%s: unrecognized option `--%s'\n"
msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `--%s'\n" msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `--%s'\n"
#. +option or -option #. +option or -option
#: src/getopt.c:756 #: lib/getopt.c:756
#, c-format #, c-format
msgid "%s: unrecognized option `%c%s'\n" msgid "%s: unrecognized option `%c%s'\n"
msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `%c%s'\n" msgstr "%s: ÎÅÉÚ×ÅÓÔÎÙÊ ËÌÀÞ `%c%s'\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:782 #: lib/getopt.c:782
#, c-format #, c-format
msgid "%s: illegal option -- %c\n" msgid "%s: illegal option -- %c\n"
msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n" msgstr "%s: ÎÅÄÏÐÕÓÔÉÍÙÊ ËÌÀÞ -- %c\n"
#: src/getopt.c:785 #: lib/getopt.c:785
#, c-format #, c-format
msgid "%s: invalid option -- %c\n" msgid "%s: invalid option -- %c\n"
msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ -- %c\n" msgstr "%s: ÎÅ×ÅÒÎÙÊ ËÌÀÞ -- %c\n"
#. 1003.2 specifies the format of this message. #. 1003.2 specifies the format of this message.
#: src/getopt.c:815 src/getopt.c:945 #: lib/getopt.c:815 lib/getopt.c:945
#, c-format #, c-format
msgid "%s: option requires an argument -- %c\n" msgid "%s: option requires an argument -- %c\n"
msgstr "%s: ËÌÀÞ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ -- %c\n" msgstr "%s: ËÌÀÞ ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ Ó ÁÒÇÕÍÅÎÔÏÍ -- %c\n"
#: src/getopt.c:862 #: lib/getopt.c:862
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' is ambiguous\n" msgid "%s: option `-W %s' is ambiguous\n"
msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n" msgstr "%s: ÎÅÏÄÎÏÚÎÁÞÎÙÊ ËÌÀÞ `%s'\n"
#: src/getopt.c:880 #: lib/getopt.c:880
#, fuzzy, c-format #, fuzzy, c-format
msgid "%s: option `-W %s' doesn't allow an argument\n" msgid "%s: option `-W %s' doesn't allow an argument\n"
msgstr "%s: ËÌÀÞ `--%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n" msgstr "%s: ËÌÀÞ `--%s' ÄÏÌÖÅÎ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÂÅÚ ÁÒÇÕÍÅÎÔÁ\n"
#~ msgid "gotos"
#~ msgstr "ÂÅÚÕÓÌÏ×ÎÙÈ ÐÅÒÅÈÏÄÏ×"
#, fuzzy
#~ msgid "fatal error: "
#~ msgstr "ÆÁÔÁÌØÎÁÑ ÏÛÉÂËÁ: %s\n"
#, fuzzy #, fuzzy
#~ msgid "" #~ msgid ""
#~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n" #~ "Usage: %s [-dhklntvyV] [-b file-prefix] [-o outfile] [-p name-prefix]\n"

View File

@@ -28,6 +28,7 @@ Boston, MA 02111-1307, USA. */
#include "alloc.h" #include "alloc.h"
#include "gram.h" #include "gram.h"
#include "state.h" #include "state.h"
#include "complain.h"
extern char *nullable; extern char *nullable;
@@ -58,7 +59,6 @@ void insert_start_shift PARAMS((void));
extern void initialize_closure PARAMS((int)); extern void initialize_closure PARAMS((int));
extern void closure PARAMS((short *, int)); extern void closure PARAMS((short *, int));
extern void finalize_closure PARAMS((void)); extern void finalize_closure PARAMS((void));
extern void toomany PARAMS((char *));
static core *this_state; static core *this_state;
static core *last_state; static core *last_state;
@@ -374,7 +374,7 @@ new_state (int symbol)
#endif #endif
if (nstates >= MAXSHORT) if (nstates >= MAXSHORT)
toomany("states"); fatal (_("too many states (max %d)"), MAXSHORT);
isp1 = kernel_base[symbol]; isp1 = kernel_base[symbol];
iend = kernel_end[symbol]; iend = kernel_end[symbol];

View File

@@ -1,14 +1,6 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*- ## Process this file with automake to produce Makefile.in -*-Makefile-*-
AUTOMAKE_OPTIONS = 1.4 ../lib/ansi2knr AUTOMAKE_OPTIONS = 1.4 ../lib/ansi2knr
bin_PROGRAMS = bison
bison_SOURCES = LR0.c allocate.c closure.c conflicts.c derives.c \
files.c getargs.c gram.c lalr.c lex.c main.c nullable.c output.c \
print.c reader.c reduce.c symtab.c warshall.c
EXTRA_bison_SOURCES = vmsgetargs.c
DEFS = @DEFS@ \ DEFS = @DEFS@ \
-DXPFILE=\"${datadir}/bison.simple\" \ -DXPFILE=\"${datadir}/bison.simple\" \
-DXPFILE1=\"${datadir}/bison.hairy\" \ -DXPFILE1=\"${datadir}/bison.hairy\" \
@@ -16,7 +8,18 @@ DEFS = @DEFS@ \
INCLUDES = -I../intl -I$(top_srcdir)/intl -I.. INCLUDES = -I../intl -I$(top_srcdir)/intl -I..
LDADD = @INTLLIBS@ ../lib/libbison.a LDADD = @INTLLIBS@ ../lib/libbison.a
noinst_HEADERS = alloc.h files.h gram.h lex.h machine.h state.h \ bin_PROGRAMS = bison
bison_SOURCES = LR0.c allocate.c closure.c complain.c conflicts.c \
derives.c \
files.c getargs.c gram.c lalr.c lex.c main.c nullable.c \
output.c \
print.c reader.c reduce.c symtab.c warshall.c
EXTRA_bison_SOURCES = vmsgetargs.c
noinst_HEADERS = alloc.h complain.h files.h gram.h lex.h machine.h \
state.h \
symtab.h system.h types.h symtab.h system.h types.h
data_DATA = bison.simple bison.hairy data_DATA = bison.simple bison.hairy

269
src/complain.c Normal file
View File

@@ -0,0 +1,269 @@
/* Declaration for error-reporting function for Bison.
Copyright (C) 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
/* Based on error.c and error.h,
written by David MacKenzie <djm@gnu.ai.mit.edu>. */
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <stdio.h>
#if HAVE_VPRINTF || HAVE_DOPRNT || _LIBC
# if __STDC__
# include <stdarg.h>
# define VA_START(args, lastarg) va_start(args, lastarg)
# else
# include <varargs.h>
# define VA_START(args, lastarg) va_start(args)
# endif
#else
# define va_alist a1, a2, a3, a4, a5, a6, a7, a8
# define va_dcl char *a1, *a2, *a3, *a4, *a5, *a6, *a7, *a8;
#endif
#if STDC_HEADERS || _LIBC
# include <stdlib.h>
# include <string.h>
#else
void exit ();
#endif
#include "complain.h"
#ifndef _
# define _(String) String
#endif
#ifdef _LIBC
/* In the GNU C library, there is a predefined variable for this. */
# define program_name program_invocation_name
#else /* not _LIBC */
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
#endif
/* This variable is incremented each time `warn' is called. */
unsigned int warn_message_count;
/* This variable is incremented each time `complain' is called. */
unsigned int complain_message_count;
/* Sometimes we want to have at most one error per line. This
variable controls whether this mode is selected or not. */
int error_one_per_line;
/*--------------------------------.
| Report a warning, and proceed. |
`--------------------------------*/
void
#if defined VA_START && __STDC__
warn (const char *message, ...)
#else
warn (message, va_alist)
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
if (error_one_per_line)
{
static const char *old_infile;
static unsigned int old_lineno;
if (old_lineno == lineno &&
(infile == old_infile || !strcmp (old_infile, infile)))
/* Simply return and print nothing. */
return;
old_infile = infile;
old_lineno = lineno;
}
fflush (stdout);
if (infile != NULL)
fprintf (stderr, "%s:%d: ", infile, lineno);
else
fprintf (stderr, "%s:", program_name);
fputs (_("warning: "), stderr);
#ifdef VA_START
VA_START (args, message);
vfprintf (stderr, message, args);
va_end (args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++warn_message_count;
putc ('\n', stderr);
fflush (stderr);
}
/*-----------------------------------------------------------.
| An error has occurred, but we can proceed, and die later. |
`-----------------------------------------------------------*/
void
#if defined VA_START && __STDC__
complain (const char *message, ...)
#else
complain (message, va_alist)
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
if (error_one_per_line)
{
static const char *old_infile;
static unsigned int old_lineno;
if (old_lineno == lineno &&
(infile == old_infile || !strcmp (old_infile, infile)))
/* Simply return and print nothing. */
return;
old_infile = infile;
old_lineno = lineno;
}
fflush (stdout);
if (infile != NULL)
fprintf (stderr, "%s:%d: ", infile, lineno);
else
fprintf (stderr, "%s:", program_name);
#ifdef VA_START
VA_START (args, message);
vfprintf (stderr, message, args);
va_end (args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
++complain_message_count;
putc ('\n', stderr);
fflush (stderr);
}
/*-------------------------------------------------.
| A severe error has occurred, we cannot proceed. |
`-------------------------------------------------*/
void
#if defined VA_START && __STDC__
fatal (const char *message, ...)
#else
fatal (message, va_alist)
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
fflush (stdout);
if (infile != NULL)
fprintf (stderr, "%s:%d: ", infile, lineno);
else
fprintf (stderr, "%s:", program_name);
fputs (_("fatal error: "), stderr);
#ifdef VA_START
VA_START (args, message);
vfprintf (stderr, message, args);
va_end (args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
putc ('\n', stderr);
fflush (stderr);
exit (1);
}
/*------------------------------------------------------------------.
| A severe error has occurred, we cannot proceed. Exit with STATUS, |
| and report the error message of the errno ERRNUM. |
`------------------------------------------------------------------*/
void
#if defined VA_START && __STDC__
error (int status, int errnum,
const char *message, ...)
#else
error (status, errnum, message, va_alist)
int status;
int errnum;
char *message;
va_dcl
#endif
{
#ifdef VA_START
va_list args;
#endif
fflush (stdout);
if (infile != NULL)
fprintf (stderr, "%s:%d: ", infile, lineno);
else
fprintf (stderr, "%s:", program_name);
fputs (_("fatal error: "), stderr);
#ifdef VA_START
VA_START (args, message);
vfprintf (stderr, message, args);
va_end (args);
#else
fprintf (stderr, message, a1, a2, a3, a4, a5, a6, a7, a8);
#endif
if (errnum)
{
#if defined HAVE_STRERROR_R || _LIBC
char errbuf[1024];
# if HAVE_WORKING_STRERROR_R || _LIBC
fprintf (stderr, ": %s", __strerror_r (errnum, errbuf, sizeof errbuf));
# else
/* Don't use __strerror_r's return value because on some systems
(at least DEC UNIX 4.0[A-D]) strerror_r returns `int'. */
__strerror_r (errnum, errbuf, sizeof errbuf);
fprintf (stderr, ": %s", errbuf);
# endif
#else
fprintf (stderr, ": %s", strerror (errnum));
#endif
}
putc ('\n', stderr);
fflush (stderr);
if (status)
exit (status);
}

75
src/complain.h Normal file
View File

@@ -0,0 +1,75 @@
/* Declaration for error-reporting function for Bison.
Copyright (C) 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
#ifndef COMPLAIN_H_
#define COMPLAIN_H_ 1
#ifdef __cplusplus
extern "C" {
#endif
#if defined (__STDC__) && __STDC__
/* Informative messages, but we proceed. */
extern void warn (const char *format, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
/* Something bad happen, but let's continue and die later. */
extern void complain (const char *format, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
/* Something bad happen and we die now. */
extern void fatal (const char *format, ...)
__attribute__ ((__format__ (__printf__, 1, 2)));
/* Print a message with `fprintf (stderr, FORMAT, ...)';
if ERRNUM is nonzero, follow it with ": " and strerror (ERRNUM).
If STATUS is nonzero, terminate the program with `exit (STATUS)'. */
extern void error (int status, int errnum,
const char *format, ...)
__attribute__ ((__format__ (__printf__, 3, 4)));
#else
void warn ();
void complain ();
void error ();
#endif
/* Position in the current input file. */
extern char *infile;
extern int lineno;
/* This variable is incremented each time `warn' is called. */
extern unsigned int warn_message_count;
/* This variable is incremented each time `complain' is called. */
extern unsigned int complain_message_count;
/* Sometimes we want to have at most one error per line. This
variable controls whether this mode is selected or not. */
extern int error_one_per_line;
#ifdef __cplusplus
}
#endif
#endif /* !COMPLAIN_H_ */

View File

@@ -50,6 +50,7 @@ Boston, MA 02111-1307, USA. */
#include "files.h" #include "files.h"
#include "alloc.h" #include "alloc.h"
#include "gram.h" #include "gram.h"
#include "complain.h"
FILE *finput = NULL; FILE *finput = NULL;
FILE *foutput = NULL; FILE *foutput = NULL;
@@ -78,14 +79,12 @@ extern int noparserflag;
extern char *mktemp(); /* So the compiler won't complain */ extern char *mktemp(); /* So the compiler won't complain */
extern char *getenv(); extern char *getenv();
extern void perror();
char *stringappend PARAMS((char *, int, char *)); char *stringappend PARAMS((char *, int, char *));
void openfiles PARAMS((void)); void openfiles PARAMS((void));
void open_extra_files PARAMS((void)); void open_extra_files PARAMS((void));
FILE *tryopen PARAMS((char *, char *)); /* This might be a good idea */ FILE *tryopen PARAMS((char *, char *)); /* This might be a good idea */
int tryclose PARAMS((FILE *)); int tryclose PARAMS((FILE *));
void done PARAMS((int));
extern char *program_name; extern char *program_name;
extern int verboseflag; extern int verboseflag;
@@ -231,7 +230,7 @@ openfiles (void)
finput = tryopen(infile, "r"); finput = tryopen(infile, "r");
if (! noparserflag) if (! noparserflag)
{ {
filename = getenv("BISON_SIMPLE"); filename = getenv("BISON_SIMPLE");
#ifdef MSDOS #ifdef MSDOS
@@ -266,7 +265,7 @@ openfiles (void)
/* use permanent name for actions file */ /* use permanent name for actions file */
actfile = stringappend(name_base, short_base_length, ".act"); actfile = stringappend(name_base, short_base_length, ".act");
faction = tryopen(actfile, "w"); faction = tryopen(actfile, "w");
} }
#ifdef MSDOS #ifdef MSDOS
if (! noparserflag) if (! noparserflag)
@@ -338,7 +337,7 @@ open_extra_files (void)
tryclose(fparser); tryclose(fparser);
if (! noparserflag) if (! noparserflag)
{ {
filename = (char *) getenv ("BISON_HAIRY"); filename = (char *) getenv ("BISON_HAIRY");
#ifdef MSDOS #ifdef MSDOS
@@ -368,20 +367,17 @@ open_extra_files (void)
} }
/* JF to make file opening easier. This func tries to open file /* JF to make file opening easier. This func tries to open file
NAME with mode MODE, and prints an error message if it fails. */ NAME with mode MODE, and prints an error message if it fails. */
FILE * FILE *
tryopen (char *name, char *mode) tryopen (char *name, char *mode)
{ {
FILE *ptr; FILE *ptr;
ptr = fopen(name, mode); ptr = fopen (name, mode);
if (ptr == NULL) if (!ptr)
{ error (2, errno, _("cannot open file `%s'"), name);
fprintf(stderr, "%s: ", program_name);
perror(name);
done(2);
}
return ptr; return ptr;
} }
@@ -395,16 +391,13 @@ tryclose (FILE *ptr)
result = fclose (ptr); result = fclose (ptr);
if (result == EOF) if (result == EOF)
{ error (2, errno, _("cannot close file"));
fprintf (stderr, "%s: ", program_name);
perror ("fclose");
done (2);
}
return result; return result;
} }
void void
done (int k) done (void)
{ {
tryclose(faction); tryclose(faction);
tryclose(fattrs); tryclose(fattrs);
@@ -413,8 +406,8 @@ done (int k)
tryclose(fparser); tryclose(fparser);
tryclose(foutput); tryclose(foutput);
/* JF write out the output file */ /* JF write out the output file */
if (k == 0 && ftable) if (!complain_message_count && ftable)
{ {
FILE *ftmp; FILE *ftmp;
register int c; register int c;
@@ -445,8 +438,10 @@ done (int k)
delete(tmpattrsfile); delete(tmpattrsfile);
if (ftable) if (ftable)
delete(tmptabfile); delete(tmptabfile);
if (k==0) sys$exit(SS$_NORMAL); /* Don't call exit again, we're in atexit ().
sys$exit(SS$_ABORT); if (!complain_message_count)
sys$exit(SS$_NORMAL);
sys$exit(SS$_ABORT); */
#else #else
#if (defined (MSDOS) || (defined(_WIN32) && !defined(__CYGWIN32__))) #if (defined (MSDOS) || (defined(_WIN32) && !defined(__CYGWIN32__)))
if (actfile && ! noparserflag) unlink(actfile); if (actfile && ! noparserflag) unlink(actfile);
@@ -454,6 +449,7 @@ done (int k)
if (tmptabfile) unlink(tmptabfile); if (tmptabfile) unlink(tmptabfile);
if (tmpdefsfile) unlink(tmpdefsfile); if (tmpdefsfile) unlink(tmpdefsfile);
#endif /* MSDOS || (_WIN32 && !__CYGWIN32__) */ #endif /* MSDOS || (_WIN32 && !__CYGWIN32__) */
exit(k); /* Don't call exit again, we're in atexit ().
exit (complain_message_count ? 1 : 0); */
#endif /* not VMS, or __VMS_POSIX */ #endif /* not VMS, or __VMS_POSIX */
} }

View File

@@ -1,22 +1,22 @@
/* File names and variables for bison, /* File names and variables for bison,
Copyright (C) 1984, 1989 Free Software Foundation, Inc. Copyright (C) 1984, 1989, 2000 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
Bison is free software; you can redistribute it and/or modify Bison is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
Bison is distributed in the hope that it will be useful, Bison is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to along with Bison; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
/* These two should be pathnames for opening the sample parser files. /* These two should be pathnames for opening the sample parser files.
@@ -45,9 +45,12 @@ extern char *spec_name_prefix; /* for -a, from getargs.c */
extern char *spec_file_prefix; extern char *spec_file_prefix;
extern char *infile; extern char *infile;
extern int lineno;
extern char *outfile; extern char *outfile;
extern char *defsfile; extern char *defsfile;
extern char *tabfile; extern char *tabfile;
extern char *attrsfile; extern char *attrsfile;
extern char *guardfile; extern char *guardfile;
extern char *actfile; extern char *actfile;
void done PARAMS((void));

View File

@@ -66,8 +66,8 @@ usage (FILE *stream)
{ {
/* Some efforts were made to ease the translators' task, please /* Some efforts were made to ease the translators' task, please
continue. */ continue. */
fprintf (stream, _("\ fputs (_("\
GNU bison generates parsers for LALR(1) grammars.\n")); GNU bison generates parsers for LALR(1) grammars.\n"), stream);
putc ('\n', stream); putc ('\n', stream);
fprintf (stream, _("\ fprintf (stream, _("\
@@ -80,14 +80,14 @@ for the equivalent short option also. Similarly for optional arguments.\n"),
stream); stream);
putc ('\n', stream); putc ('\n', stream);
fprintf (stream, _("\ fputs (_("\
Operation modes:\n\ Operation modes:\n\
-h, --help display this help and exit\n\ -h, --help display this help and exit\n\
-V, --version output version information and exit\n\ -V, --version output version information and exit\n\
-y, --yacc emulate POSIX yacc\n")); -y, --yacc emulate POSIX yacc\n"), stream);
putc ('\n', stream); putc ('\n', stream);
fprintf (stream, _("\ fputs (_("\
Parser:\n\ Parser:\n\
-t, --debug instrument the parser for debugging\n\ -t, --debug instrument the parser for debugging\n\
-p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n\ -p, --name-prefix=PREFIX prepend PREFIX to the external symbols\n\
@@ -95,20 +95,19 @@ Parser:\n\
-n, --no-parser generate the tables only\n\ -n, --no-parser generate the tables only\n\
-r, --raw number the tokens from 3\n\ -r, --raw number the tokens from 3\n\
-k, --token-table include a table of token names\n\ -k, --token-table include a table of token names\n\
")); "), stream);
putc ('\n', stream); putc ('\n', stream);
fprintf (stream, _("\ fputs (_("\
Output:\n\ Output:\n\
-d, --defines also produce a header file\n\ -d, --defines also produce a header file\n\
-v, --verbose also produce an explanation of the automaton\n\ -v, --verbose also produce an explanation of the automaton\n\
-b, --file-prefix=PREFIX specify a PREFIX for output files\n\ -b, --file-prefix=PREFIX specify a PREFIX for output files\n\
-o, --output-file=FILE leave output to FILE\n")); -o, --output-file=FILE leave output to FILE\n"), stream);
putc ('\n', stream); putc ('\n', stream);
fprintf (stream, _("\ fputs (_("\
Report bugs to <bug-bison@gnu.org>.\n"), Report bugs to <bug-bison@gnu.org>.\n"), stream);
program_name);
} }
void void

View File

@@ -24,7 +24,7 @@ Boston, MA 02111-1307, USA. */
lalr(), the entry point, builds these data structures: lalr(), the entry point, builds these data structures:
goto_map, from_state and to_state goto_map, from_state and to_state
record each shift transition which accepts a variable (a nonterminal). record each shift transition which accepts a variable (a nonterminal).
ngotos is the number of such transitions. ngotos is the number of such transitions.
from_state[t] is the state number which a transition leads from from_state[t] is the state number which a transition leads from
@@ -39,7 +39,7 @@ The elements of LAruleno that apply to state s are those from
lookaheads[s] through lookaheads[s+1]-1. lookaheads[s] through lookaheads[s+1]-1.
Each element of LAruleno is a rule number. Each element of LAruleno is a rule number.
If lr is the length of LAruleno, then a number from 0 to lr-1 If lr is the length of LAruleno, then a number from 0 to lr-1
can specify both a rule and a state where the rule might be applied. can specify both a rule and a state where the rule might be applied.
LA is a lr by ntokens matrix of bits. LA is a lr by ntokens matrix of bits.
@@ -55,7 +55,7 @@ If LA[l, i] and LA[l, j] are both 1 for i != j, it is a conflict.
#include "state.h" #include "state.h"
#include "alloc.h" #include "alloc.h"
#include "gram.h" #include "gram.h"
#include "complain.h"
extern short **derives; extern short **derives;
extern char *nullable; extern char *nullable;
@@ -92,7 +92,6 @@ void compute_lookaheads PARAMS((void));
void digraph PARAMS((short **)); void digraph PARAMS((short **));
void traverse PARAMS((register int)); void traverse PARAMS((register int));
extern void toomany PARAMS((char *));
extern void berror PARAMS((char *)); extern void berror PARAMS((char *));
static int infinity; static int infinity;
@@ -291,7 +290,7 @@ set_goto_map (void)
if (ISTOKEN(symbol)) break; if (ISTOKEN(symbol)) break;
if (ngotos == MAXSHORT) if (ngotos == MAXSHORT)
toomany(_("gotos")); fatal (_("too many gotos (max %d)"), MAXSHORT);
ngotos++; ngotos++;
goto_map[symbol]++; goto_map[symbol]++;
@@ -413,7 +412,7 @@ initialize_F (void)
if (nullable[symbol]) if (nullable[symbol])
edge[nedges++] = map_goto(stateno, symbol); edge[nedges++] = map_goto(stateno, symbol);
} }
if (nedges) if (nedges)
{ {
reads[i] = rp = NEW2(nedges + 1, short); reads[i] = rp = NEW2(nedges + 1, short);

View File

@@ -1,22 +1,22 @@
/* Token-reader for Bison's input parser, /* Token-reader for Bison's input parser,
Copyright (C) 1984, 1986, 1989, 1992 Free Software Foundation, Inc. Copyright (C) 1984, 1986, 1989, 1992, 2000 Free Software Foundation, Inc.
This file is part of Bison, the GNU Compiler Compiler. This file is part of Bison, the GNU Compiler Compiler.
Bison is free software; you can redistribute it and/or modify Bison is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 2, or (at your option)
any later version. any later version.
Bison is distributed in the hope that it will be useful, Bison is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with Bison; see the file COPYING. If not, write to along with Bison; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330, the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */ Boston, MA 02111-1307, USA. */
/* /*
@@ -33,6 +33,7 @@ Boston, MA 02111-1307, USA. */
#include "symtab.h" #include "symtab.h"
#include "lex.h" #include "lex.h"
#include "alloc.h" #include "alloc.h"
#include "complain.h"
/* flags set by % directives */ /* flags set by % directives */
extern int definesflag; /* for -d */ extern int definesflag; /* for -d */
@@ -47,7 +48,6 @@ extern char *spec_name_prefix; /* for -p */
extern char *spec_file_prefix; /* for -b */ extern char *spec_file_prefix; /* for -b */
/*spec_outfile is declared in files.h, for -o */ /*spec_outfile is declared in files.h, for -o */
extern int lineno;
extern int translations; extern int translations;
void init_lex PARAMS((void)); void init_lex PARAMS((void));
@@ -61,10 +61,6 @@ int parse_percent_token PARAMS((void));
/* functions from main.c */ /* functions from main.c */
extern char *printable_version PARAMS((int)); extern char *printable_version PARAMS((int));
extern void fatal PARAMS((char *));
extern void warn PARAMS((char *));
extern void warni PARAMS((char *, int));
extern void warns PARAMS((char *, char *));
/* Buffer for storing the current token. */ /* Buffer for storing the current token. */
char *token_buffer; char *token_buffer;
@@ -116,7 +112,7 @@ skip_white_space (void)
c = getc(finput); c = getc(finput);
if (c != '*' && c != '/') if (c != '*' && c != '/')
{ {
warn(_("unexpected `/' found and ignored")); complain (_("unexpected `/' found and ignored"));
break; break;
} }
cplus_comment = (c == '/'); cplus_comment = (c == '/');
@@ -145,7 +141,7 @@ skip_white_space (void)
c = getc(finput); c = getc(finput);
} }
else if (c == EOF) else if (c == EOF)
fatal(_("unterminated comment")); fatal (_("unterminated comment"));
else else
c = getc(finput); c = getc(finput);
} }
@@ -173,7 +169,7 @@ safegetc (FILE *f)
{ {
register int c = getc(f); register int c = getc(f);
if (c == EOF) if (c == EOF)
fatal(_("Unexpected end of file")); fatal (_("unexpected end of file"));
return c; return c;
} }
@@ -194,7 +190,7 @@ literalchar (char **pp, int *pcode, char term)
c = safegetc(finput); c = safegetc(finput);
if (c == '\n') if (c == '\n')
{ {
warn(_("unescaped newline in constant")); complain (_("unescaped newline in constant"));
ungetc(c, finput); ungetc(c, finput);
code = '?'; code = '?';
wasquote = 1; wasquote = 1;
@@ -226,7 +222,8 @@ literalchar (char **pp, int *pcode, char term)
code = (code * 8) + (c - '0'); code = (code * 8) + (c - '0');
if (code >= 256 || code < 0) if (code >= 256 || code < 0)
{ {
warni(_("octal value outside range 0...255: `\\%o'"), code); complain (_("octal value outside range 0...255: `\\%o'"),
code);
code &= 0xFF; code &= 0xFF;
break; break;
} }
@@ -250,7 +247,8 @@ literalchar (char **pp, int *pcode, char term)
break; break;
if (code >= 256 || code<0) if (code >= 256 || code<0)
{ {
warni(_("hexadecimal value above 255: `\\x%x'"), code); complain (_("hexadecimal value above 255: `\\x%x'"),
code);
code &= 0xFF; code &= 0xFF;
break; break;
} }
@@ -260,8 +258,8 @@ literalchar (char **pp, int *pcode, char term)
} }
else else
{ {
warns (_("unknown escape sequence: `\\' followed by `%s'"), complain (_("unknown escape sequence: `\\' followed by `%s'"),
printable_version(c)); printable_version(c));
code = '?'; code = '?';
} }
} /* has \ */ } /* has \ */
@@ -393,7 +391,7 @@ lex (void)
c = getc(finput); c = getc(finput);
if (c != '\'') if (c != '\'')
{ {
warn(_("use \"...\" for multi-character literal tokens")); complain (_("use \"...\" for multi-character literal tokens"));
while (1) while (1)
{ {
dp = discard; dp = discard;
@@ -472,10 +470,10 @@ lex (void)
while (c != '>') while (c != '>')
{ {
if (c == EOF) if (c == EOF)
fatal(_("unterminated type name at end of file")); fatal (_("unterminated type name at end of file"));
if (c == '\n') if (c == '\n')
{ {
warn(_("unterminated type name")); complain (_("unterminated type name"));
ungetc(c, finput); ungetc(c, finput);
break; break;
} }

View File

@@ -22,10 +22,10 @@
#include <stdio.h> #include <stdio.h>
#include "system.h" #include "system.h"
#include "machine.h" /* for MAXSHORT */ #include "machine.h" /* for MAXSHORT */
#include "files.h"
#include "complain.h"
extern int lineno;
extern int verboseflag; extern int verboseflag;
extern char *infile;
/* Nonzero means failure has been detected; don't write a parser file. */ /* Nonzero means failure has been detected; don't write a parser file. */
int failure; int failure;
@@ -34,14 +34,6 @@ int failure;
char *program_name; char *program_name;
char *printable_version PARAMS((int)); char *printable_version PARAMS((int));
char *int_to_string PARAMS((int));
void fatal PARAMS((char *));
void fatals PARAMS((char *, char *));
void warn PARAMS((char *));
void warni PARAMS((char *, int));
void warns PARAMS((char *, char *));
void warnss PARAMS((char *, char *, char *));
void warnsss PARAMS((char *, char *, char *, char *));
void toomany PARAMS((char *)); void toomany PARAMS((char *));
void berror PARAMS((char *)); void berror PARAMS((char *));
@@ -57,7 +49,6 @@ extern void initialize_conflicts PARAMS((void));
extern void verbose PARAMS((void)); extern void verbose PARAMS((void));
extern void terse PARAMS((void)); extern void terse PARAMS((void));
extern void output PARAMS((void)); extern void output PARAMS((void));
extern void done PARAMS((int));
/* VMS complained about using `int'. */ /* VMS complained about using `int'. */
@@ -70,17 +61,20 @@ main (int argc, char *argv[])
bindtextdomain (PACKAGE, LOCALEDIR); bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE); textdomain (PACKAGE);
failure = 0;
lineno = 0; lineno = 0;
getargs(argc, argv); getargs(argc, argv);
/* Be ready to clean up if we exit.*/
atexit (done);
openfiles(); openfiles();
/* read the input. Copy some parts of it to fguard, faction, ftable and fattrs. /* read the input. Copy some parts of it to fguard, faction, ftable and fattrs.
In file reader.c. In file reader.c.
The other parts are recorded in the grammar; see gram.h. */ The other parts are recorded in the grammar; see gram.h. */
reader(); reader ();
if (failure) if (complain_message_count)
done(failure); exit (1);
/* find useless nonterminals and productions and reduce the grammar. In /* find useless nonterminals and productions and reduce the grammar. In
file reduce.c */ file reduce.c */
@@ -110,8 +104,9 @@ main (int argc, char *argv[])
/* output the tables and the parser to ftable. In file output. */ /* output the tables and the parser to ftable. In file output. */
output(); output();
done(failure); done ();
return failure;
exit (complain_message_count ? 1 : 0);
} }
/* functions to report errors which prevent a parser from being generated */ /* functions to report errors which prevent a parser from being generated */
@@ -134,137 +129,11 @@ printable_version (int c)
return buf; return buf;
} }
/* Generate a string from the integer I.
Return a ptr to internal memory containing the string. */
char *
int_to_string (int i)
{
static char buf[20];
sprintf(buf, "%d", i);
return buf;
}
/* Display filename and lino if available. */
static void
banner (void)
{
if (infile == 0)
fprintf(stderr, "%s: ", program_name);
else
fprintf(stderr, "%s:%d: ", infile, lineno);
}
static void
fatal_banner (void)
{
banner ();
fputs (_("fatal error: "), stderr);
}
/* Print the message S for a fatal error. */
void
fatal (char *s)
{
fatal_banner ();
fputs (s, stderr);
fputc ('\n', stderr);
done (1);
}
/* Print a message for a fatal error. Use FMT to construct the message
and incorporate string X1. */
void
fatals (char *fmt, char *x1)
{
fatal_banner ();
fprintf (stderr, fmt, x1);
fputc ('\n', stderr);
done (1);
}
static void
warn_banner (void)
{
banner ();
failure = 1;
}
/* Print a warning message S. */
void
warn (char *s)
{
warn_banner ();
fputs (s, stderr);
fputc ('\n', stderr);
}
/* Print a warning message containing the string for the integer X1.
The message is given by the format FMT. */
void
warni (char *fmt, int x1)
{
warn_banner ();
fprintf (stderr, fmt, x1);
fputc ('\n', stderr);
}
/* Print a warning message containing the string X1.
The message is given by the format FMT. */
void
warns (char *fmt, char *x1)
{
warn_banner ();
fprintf (stderr, fmt, x1);
fputc ('\n', stderr);
}
/* Print a warning message containing the two strings X1 and X2.
The message is given by the format FMT. */
void
warnss (char *fmt, char *x1, char *x2)
{
warn_banner ();
fprintf (stderr, fmt, x1, x2);
fputc ('\n', stderr);
}
/* Print a warning message containing the 3 strings X1, X2, X3.
The message is given by the format FMT. */
void
warnsss (char *fmt, char *x1, char *x2, char *x3)
{
warn_banner ();
fprintf (stderr, fmt, x1, x2, x3);
fputc ('\n', stderr);
}
/* Print a message for the fatal occurence of more than MAXSHORT
instances of whatever is denoted by the string S. */
void
toomany (char *s)
{
fatal_banner ();
fprintf (stderr, _("too many %s (max %d)"), s, MAXSHORT);
fputc ('\n', stderr);
done (1);
}
/* Abort for an internal error denoted by string S. */ /* Abort for an internal error denoted by string S. */
void void
berror (char *s) berror (char *s)
{ {
fprintf(stderr, _("%s: internal error: %s\n"), program_name, s); fprintf (stderr, _("%s: internal error: %s\n"), program_name, s);
abort(); abort();
} }

View File

@@ -110,6 +110,7 @@ YYNTBASE = ntokens.
#include "files.h" #include "files.h"
#include "gram.h" #include "gram.h"
#include "state.h" #include "state.h"
#include "complain.h"
extern int debugflag; extern int debugflag;
@@ -133,7 +134,6 @@ extern char *consistent;
extern short *goto_map; extern short *goto_map;
extern short *from_state; extern short *from_state;
extern short *to_state; extern short *to_state;
extern int lineno;
void output_headers PARAMS((void)); void output_headers PARAMS((void));
void output_trailers PARAMS((void)); void output_trailers PARAMS((void));
@@ -164,8 +164,6 @@ int matching_state PARAMS((int));
int pack_vector PARAMS((int)); int pack_vector PARAMS((int));
extern void berror PARAMS((char *)); extern void berror PARAMS((char *));
extern void fatals PARAMS((char *, char *));
extern char *int_to_string PARAMS((int));
extern void reader_output_yylsp PARAMS((FILE *)); extern void reader_output_yylsp PARAMS((FILE *));
static int nvectors; static int nvectors;
@@ -1198,7 +1196,7 @@ pack_vector (int vector)
{ {
loc = j + from[k]; loc = j + from[k];
if (loc > MAXTABLE) if (loc > MAXTABLE)
fatals(_("maximum table size (%s) exceeded"), int_to_string(MAXTABLE)); fatal (_("maximum table size (%d) exceeded"), MAXTABLE);
if (table[loc] != 0) if (table[loc] != 0)
ok = 0; ok = 0;

View File

@@ -35,6 +35,7 @@
#include "lex.h" #include "lex.h"
#include "gram.h" #include "gram.h"
#include "machine.h" #include "machine.h"
#include "complain.h"
#define LTYPESTR "\ #define LTYPESTR "\
\n\ \n\
@@ -61,7 +62,6 @@ typedef\n\
/* Number of slots allocated (but not necessarily used yet) in `rline' */ /* Number of slots allocated (but not necessarily used yet) in `rline' */
int rline_allocated; int rline_allocated;
extern char *program_name;
extern int definesflag; extern int definesflag;
extern int nolinesflag; extern int nolinesflag;
extern int noparserflag; extern int noparserflag;
@@ -79,17 +79,8 @@ extern void output_headers PARAMS((void));
extern void output_trailers PARAMS((void)); extern void output_trailers PARAMS((void));
extern void free_symtab PARAMS((void)); extern void free_symtab PARAMS((void));
extern void open_extra_files PARAMS((void)); extern void open_extra_files PARAMS((void));
extern char *int_to_string PARAMS((int));
extern char *printable_version PARAMS((int)); extern char *printable_version PARAMS((int));
extern void fatal PARAMS((char *));
extern void fatals PARAMS((char *, char *));
extern void warn PARAMS((char *));
extern void warni PARAMS((char *, int));
extern void warns PARAMS((char *, char *));
extern void warnss PARAMS((char *, char *, char *));
extern void warnsss PARAMS((char *, char *, char *, char *));
extern void unlex PARAMS((int)); extern void unlex PARAMS((int));
extern void done PARAMS((int));
extern int skip_white_space PARAMS((void)); extern int skip_white_space PARAMS((void));
extern int parse_percent_token PARAMS((void)); extern int parse_percent_token PARAMS((void));
@@ -160,9 +151,9 @@ skip_to_char (int target)
{ {
int c; int c;
if (target == '\n') if (target == '\n')
warn(_(" Skipping to next \\n")); complain (_(" Skipping to next \\n"));
else else
warni(_(" Skipping to next %c"), target); complain (_(" Skipping to next %c"), target);
do do
c = skip_white_space(); c = skip_white_space();
@@ -189,7 +180,7 @@ copy_string (FILE *finput, FILE *foutput, int match)
fatal (_("unterminated string at end of file")); fatal (_("unterminated string at end of file"));
if (c == '\n') if (c == '\n')
{ {
warn (_("unterminated string")); complain (_("unterminated string"));
ungetc (c, finput); ungetc (c, finput);
c = match; /* invent terminator */ c = match; /* invent terminator */
continue; continue;
@@ -221,7 +212,6 @@ static inline void
copy_comment (FILE *finput, FILE *foutput, int c) copy_comment (FILE *finput, FILE *foutput, int c)
{ {
int cplus_comment; int cplus_comment;
register int match;
register int ended; register int ended;
cplus_comment = (c == '/'); cplus_comment = (c == '/');
@@ -431,15 +421,15 @@ read_declarations (void)
break; break;
default: default:
warns(_("unrecognized: %s"), token_buffer); complain (_("unrecognized: %s"), token_buffer);
skip_to_char('%'); skip_to_char('%');
} }
} }
else if (c == EOF) else if (c == EOF)
fatal(_("no input grammar")); fatal (_("no input grammar"));
else else
{ {
warns (_("unknown character: %s"), printable_version(c)); complain (_("unknown character: %s"), printable_version(c));
skip_to_char('%'); skip_to_char('%');
} }
} }
@@ -490,7 +480,8 @@ copy_definition (void)
break; break;
case EOF: case EOF:
fatal(_("unterminated `%{' definition")); fatal ("%s",
_("unterminated `%{' definition"));
default: default:
putc(c, fattrs); putc(c, fattrs);
@@ -531,7 +522,7 @@ parse_token_decl (int what_is, int what_is_not)
if (tmp_char == '%') if (tmp_char == '%')
return; return;
if (tmp_char == EOF) if (tmp_char == EOF)
fatals ("Premature EOF after %s", token_buffer); fatal (_("Premature EOF after %s"), token_buffer);
token = lex(); token = lex();
if (token == COMMA) if (token == COMMA)
@@ -568,7 +559,7 @@ parse_token_decl (int what_is, int what_is_not)
symbol = symval; symbol = symval;
if (symbol->class == what_is_not) if (symbol->class == what_is_not)
warns(_("symbol %s redefined"), symbol->tag); complain (_("symbol %s redefined"), symbol->tag);
symbol->class = what_is; symbol->class = what_is;
if (what_is == SNTERM && oldclass != SNTERM) if (what_is == SNTERM && oldclass != SNTERM)
symbol->value = nvars++; symbol->value = nvars++;
@@ -578,7 +569,7 @@ parse_token_decl (int what_is, int what_is_not)
if (symbol->type_name == NULL) if (symbol->type_name == NULL)
symbol->type_name = typename; symbol->type_name = typename;
else if (strcmp(typename, symbol->type_name) != 0) else if (strcmp(typename, symbol->type_name) != 0)
warns(_("type redeclaration for %s"), symbol->tag); complain (_("type redeclaration for %s"), symbol->tag);
} }
} }
else if (symbol && token == NUMBER) else if (symbol && token == NUMBER)
@@ -588,8 +579,8 @@ parse_token_decl (int what_is, int what_is_not)
} }
else else
{ {
warnss(_("`%s' is invalid in %s"), complain (_("`%s' is invalid in %s"),
token_buffer, token_buffer,
(what_is == STOKEN) ? "%token" : "%nterm"); (what_is == STOKEN) ? "%token" : "%nterm");
skip_to_char('%'); skip_to_char('%');
} }
@@ -636,8 +627,8 @@ parse_thong_decl (void)
if (token != IDENTIFIER) if (token != IDENTIFIER)
{ {
warns(_("unrecognized item %s, expected an identifier"), complain (_("unrecognized item %s, expected an identifier"),
token_buffer); token_buffer);
skip_to_char('%'); skip_to_char('%');
return; return;
} }
@@ -658,8 +649,8 @@ parse_thong_decl (void)
if (token != IDENTIFIER || *symval->tag != '\"') if (token != IDENTIFIER || *symval->tag != '\"')
{ {
warns(_("expected string constant instead of %s"), complain (_("expected string constant instead of %s"),
token_buffer); token_buffer);
skip_to_char('%'); skip_to_char('%');
return; return;
} }
@@ -674,15 +665,15 @@ parse_thong_decl (void)
} }
/* parse what comes after %start */ /* Parse what comes after %start */
void void
parse_start_decl (void) parse_start_decl (void)
{ {
if (start_flag) if (start_flag)
warn(_("multiple %start declarations")); complain ("%s", _("multiple %start declarations"));
if (lex() != IDENTIFIER) if (lex() != IDENTIFIER)
warn(_("invalid %start declaration")); complain ("%s", _("invalid %start declaration"));
else else
{ {
start_flag = 1; start_flag = 1;
@@ -702,7 +693,7 @@ parse_type_decl (void)
if (lex() != TYPENAME) if (lex() != TYPENAME)
{ {
warn(_("%type declaration has no <typename>")); complain ("%s", _("%type declaration has no <typename>"));
skip_to_char('%'); skip_to_char('%');
return; return;
} }
@@ -719,7 +710,7 @@ parse_type_decl (void)
if (tmp_char == '%') if (tmp_char == '%')
return; return;
if (tmp_char == EOF) if (tmp_char == EOF)
fatals ("Premature EOF after %s", token_buffer); fatal (_("Premature EOF after %s"), token_buffer);
t = lex(); t = lex();
@@ -734,12 +725,13 @@ parse_type_decl (void)
if (symval->type_name == NULL) if (symval->type_name == NULL)
symval->type_name = name; symval->type_name = name;
else if (strcmp(name, symval->type_name) != 0) else if (strcmp(name, symval->type_name) != 0)
warns(_("type redeclaration for %s"), symval->tag); complain (_("type redeclaration for %s"), symval->tag);
break; break;
default: default:
warns(_("invalid %%type declaration due to item: `%s'"), token_buffer); complain (_("invalid %%type declaration due to item: %s"),
token_buffer);
skip_to_char('%'); skip_to_char('%');
} }
} }
@@ -767,7 +759,7 @@ parse_assoc_decl (int assoc)
if (tmp_char == '%') if (tmp_char == '%')
return; return;
if (tmp_char == EOF) if (tmp_char == EOF)
fatals ("Premature EOF after %s", token_buffer); fatal (_("Premature EOF after %s"), token_buffer);
t = lex(); t = lex();
@@ -785,18 +777,18 @@ parse_assoc_decl (int assoc)
case IDENTIFIER: case IDENTIFIER:
if (symval->prec != 0) if (symval->prec != 0)
warns(_("redefining precedence of %s"), symval->tag); complain (_("redefining precedence of %s"), symval->tag);
symval->prec = lastprec; symval->prec = lastprec;
symval->assoc = assoc; symval->assoc = assoc;
if (symval->class == SNTERM) if (symval->class == SNTERM)
warns(_("symbol %s redefined"), symval->tag); complain (_("symbol %s redefined"), symval->tag);
symval->class = STOKEN; symval->class = STOKEN;
if (name) if (name)
{ /* record the type, if one is specified */ { /* record the type, if one is specified */
if (symval->type_name == NULL) if (symval->type_name == NULL)
symval->type_name = name; symval->type_name = name;
else if (strcmp(name, symval->type_name) != 0) else if (strcmp(name, symval->type_name) != 0)
warns(_("type redeclaration for %s"), symval->tag); complain (_("type redeclaration for %s"), symval->tag);
} }
break; break;
@@ -808,7 +800,7 @@ parse_assoc_decl (int assoc)
} }
else else
{ {
warns(_("invalid text (%s) - number should be after identifier"), complain (_("invalid text (%s) - number should be after identifier"),
token_buffer); token_buffer);
skip_to_char('%'); skip_to_char('%');
} }
@@ -818,7 +810,7 @@ parse_assoc_decl (int assoc)
return; return;
default: default:
warns(_("unexpected item: %s"), token_buffer); complain (_("unexpected item: %s"), token_buffer);
skip_to_char('%'); skip_to_char('%');
} }
@@ -842,7 +834,7 @@ parse_union_decl (void)
int cplus_comment; int cplus_comment;
if (typed) if (typed)
warn(_("multiple %union declarations")); complain ("%s", _("multiple %union declarations"));
typed = 1; typed = 1;
@@ -900,7 +892,7 @@ parse_union_decl (void)
} }
} }
if (c == EOF) if (c == EOF)
fatal(_("unterminated comment at end of file")); fatal (_("unterminated comment at end of file"));
if (!cplus_comment && c == '*') if (!cplus_comment && c == '*')
{ {
@@ -926,7 +918,7 @@ parse_union_decl (void)
case '}': case '}':
if (count == 0) if (count == 0)
warn (_("unmatched close-brace (`}')")); complain (_("unmatched close-brace (`}')"));
count--; count--;
if (count <= 0) if (count <= 0)
{ {
@@ -970,7 +962,7 @@ parse_expect_decl (void)
ungetc (c, finput); ungetc (c, finput);
if (count <= 0 || count > 10) if (count <= 0 || count > 10)
warn(_("argument of %expect is not an integer")); complain ("%s", _("argument of %expect is not an integer"));
expected_conflicts = atoi (buffer); expected_conflicts = atoi (buffer);
} }
@@ -1002,23 +994,22 @@ copy_at (FILE *finput, FILE *foutput, int stack_offset)
yylsp_needed = 1; yylsp_needed = 1;
} }
else else
warns (_("@%s is invalid"), printable_version (c)); complain (_("@%s is invalid"), printable_version (c));
} }
/* Get the data type (alternative in the union) of the value for symbol n in rule rule. */ /* Get the data type (alternative in the union) of the value for
symbol n in rule rule. */
char * char *
get_type_name (int n, symbol_list *rule) get_type_name (int n, symbol_list *rule)
{ {
static char *msg = N_("invalid $ value");
register int i; register int i;
register symbol_list *rp; register symbol_list *rp;
if (n < 0) if (n < 0)
{ {
warn(_(msg)); complain (_("invalid $ value"));
return NULL; return NULL;
} }
@@ -1030,7 +1021,7 @@ get_type_name (int n, symbol_list *rule)
rp = rp->next; rp = rp->next;
if (rp == NULL || rp->sym == NULL) if (rp == NULL || rp->sym == NULL)
{ {
warn(_(msg)); complain (_("invalid $ value"));
return NULL; return NULL;
} }
i++; i++;
@@ -1089,7 +1080,7 @@ copy_guard (symbol_list *rule, int stack_offset)
count--; count--;
else else
{ {
warn(_("unmatched right brace (`}')")); complain (_("unmatched right brace (`}')"));
c = getc(finput); /* skip it */ c = getc(finput); /* skip it */
} }
break; break;
@@ -1136,7 +1127,8 @@ copy_guard (symbol_list *rule, int stack_offset)
if (type_name) if (type_name)
fprintf(fguard, ".%s", type_name); fprintf(fguard, ".%s", type_name);
if(!type_name && typed) if(!type_name && typed)
warns(_("$$ of `%s' has no declared type"), rule->sym->tag); complain (_("$$ of `%s' has no declared type"),
rule->sym->tag);
} }
else if (isdigit(c) || c == '-') else if (isdigit(c) || c == '-')
{ {
@@ -1151,12 +1143,12 @@ copy_guard (symbol_list *rule, int stack_offset)
if (type_name) if (type_name)
fprintf(fguard, ".%s", type_name); fprintf(fguard, ".%s", type_name);
if (!type_name && typed) if (!type_name && typed)
warnss (_("$%s of `%s' has no declared type"), complain (_("$%d of `%s' has no declared type"),
int_to_string(n), rule->sym->tag); n, rule->sym->tag);
continue; continue;
} }
else else
warns(_("$%s is invalid"), printable_version(c)); complain (_("$%s is invalid"), printable_version (c));
break; break;
case '@': case '@':
@@ -1164,7 +1156,8 @@ copy_guard (symbol_list *rule, int stack_offset)
break; break;
case EOF: case EOF:
fatal (_("unterminated %%guard clause")); fatal ("%s",
_("unterminated %guard clause"));
default: default:
putc (c, fguard); putc (c, fguard);
@@ -1274,8 +1267,8 @@ copy_action (symbol_list *rule, int stack_offset)
if (type_name) if (type_name)
fprintf(faction, ".%s", type_name); fprintf(faction, ".%s", type_name);
if(!type_name && typed) if(!type_name && typed)
warns(_("$$ of `%s' has no declared type"), complain (_("$$ of `%s' has no declared type"),
rule->sym->tag); rule->sym->tag);
} }
else if (isdigit(c) || c == '-') else if (isdigit(c) || c == '-')
{ {
@@ -1290,12 +1283,12 @@ copy_action (symbol_list *rule, int stack_offset)
if (type_name) if (type_name)
fprintf(faction, ".%s", type_name); fprintf(faction, ".%s", type_name);
if(!type_name && typed) if(!type_name && typed)
warnss(_("$%s of `%s' has no declared type"), complain (_("$%d of `%s' has no declared type"),
int_to_string(n), rule->sym->tag); n, rule->sym->tag);
continue; continue;
} }
else else
warns(_("$%s is invalid"), printable_version(c)); complain (_("$%s is invalid"), printable_version (c));
break; break;
@@ -1304,7 +1297,7 @@ copy_action (symbol_list *rule, int stack_offset)
break; break;
case EOF: case EOF:
fatal(_("unmatched `{'")); fatal (_("unmatched `{'"));
default: default:
putc(c, faction); putc(c, faction);
@@ -1390,14 +1383,14 @@ readgram (void)
t = lex(); t = lex();
if (t != COLON) if (t != COLON)
{ {
warn(_("ill-formed rule: initial symbol not followed by colon")); complain (_("ill-formed rule: initial symbol not followed by colon"));
unlex(t); unlex(t);
} }
} }
if (nrules == 0 && t == BAR) if (nrules == 0 && t == BAR)
{ {
warn(_("grammar starts with vertical bar")); complain (_("grammar starts with vertical bar"));
lhs = symval; /* BOGUS: use a random symval */ lhs = symval; /* BOGUS: use a random symval */
} }
/* start a new rule and record its lhs. */ /* start a new rule and record its lhs. */
@@ -1428,7 +1421,7 @@ readgram (void)
nvars++; nvars++;
} }
else if (lhs->class == STOKEN) else if (lhs->class == STOKEN)
warns(_("rule given for %s, which is a token"), lhs->tag); complain (_("rule given for %s, which is a token"), lhs->tag);
/* read the rhs of the rule. */ /* read the rhs of the rule. */
@@ -1526,7 +1519,7 @@ readgram (void)
if (t == PREC) if (t == PREC)
{ {
warn(_("two @prec's in a row")); complain (_("two @prec's in a row"));
t = lex(); t = lex();
crule->ruleprec = symval; crule->ruleprec = symval;
t = lex(); t = lex();
@@ -1534,7 +1527,8 @@ readgram (void)
if (t == GUARD) if (t == GUARD)
{ {
if (! semantic_parser) if (! semantic_parser)
warn(_("%%guard present but %%semantic_parser not specified")); complain ("%s",
_("%guard present but %semantic_parser not specified"));
copy_guard(crule, rulelength); copy_guard(crule, rulelength);
t = lex(); t = lex();
@@ -1543,13 +1537,13 @@ readgram (void)
{ {
/* This case never occurs -wjh */ /* This case never occurs -wjh */
if (actionflag) if (actionflag)
warn(_("two actions at end of one rule")); complain (_("two actions at end of one rule"));
copy_action(crule, rulelength); copy_action(crule, rulelength);
actionflag = 1; actionflag = 1;
xactions++; /* -wjh */ xactions++; /* -wjh */
t = lex(); t = lex();
} }
/* If $$ is being set in default way, warn if any type /* If $$ is being set in default way, report if any type
mismatch. */ mismatch. */
else if (!xactions else if (!xactions
&& first_rhs && first_rhs
@@ -1558,13 +1552,13 @@ readgram (void)
if (lhs->type_name == 0 if (lhs->type_name == 0
|| first_rhs->type_name == 0 || first_rhs->type_name == 0
|| strcmp(lhs->type_name,first_rhs->type_name)) || strcmp(lhs->type_name,first_rhs->type_name))
warnss(_("type clash (`%s' `%s') on default action"), complain (_("type clash (`%s' `%s') on default action"),
lhs->type_name ? lhs->type_name : "", lhs->type_name ? lhs->type_name : "",
first_rhs->type_name ? first_rhs->type_name : ""); first_rhs->type_name ? first_rhs->type_name : "");
} }
/* Warn if there is no default for $$ but we need one. */ /* Warn if there is no default for $$ but we need one. */
else if (!xactions && !first_rhs && lhs->type_name != 0) else if (!xactions && !first_rhs && lhs->type_name != 0)
warn(_("empty rule for typed nonterminal, and no action")); complain (_("empty rule for typed nonterminal, and no action"));
if (t == SEMICOLON) if (t == SEMICOLON)
t = lex(); t = lex();
} }
@@ -1608,7 +1602,7 @@ readgram (void)
else else
{ {
warns(_("invalid input: %s"), token_buffer); complain (_("invalid input: %s"), token_buffer);
t = lex(); t = lex();
} }
} }
@@ -1616,10 +1610,10 @@ readgram (void)
/* grammar has been read. Do some checking */ /* grammar has been read. Do some checking */
if (nsyms > MAXSHORT) if (nsyms > MAXSHORT)
fatals(_("too many symbols (tokens plus nonterminals); maximum %s"), fatal (_("too many symbols (tokens plus nonterminals); maximum %d"),
int_to_string(MAXSHORT)); MAXSHORT);
if (nrules == 0) if (nrules == 0)
fatal(_("no rules in the input grammar")); fatal (_("no rules in the input grammar"));
if (typed == 0 /* JF put out same default YYSTYPE as YACC does */ if (typed == 0 /* JF put out same default YYSTYPE as YACC does */
&& !value_components_used) && !value_components_used)
@@ -1637,8 +1631,8 @@ readgram (void)
for (bp = firstsymbol; bp; bp = bp->next) for (bp = firstsymbol; bp; bp = bp->next)
if (bp->class == SUNKNOWN) if (bp->class == SUNKNOWN)
{ {
warns(_("symbol %s is used, but is not defined as a token and has no rules"), complain (_("symbol %s is used, but is not defined as a token and has no rules"),
bp->tag); bp->tag);
bp->class = SNTERM; bp->class = SNTERM;
bp->value = nvars++; bp->value = nvars++;
} }
@@ -1676,7 +1670,7 @@ get_type (void)
if (t != TYPENAME) if (t != TYPENAME)
{ {
warn(_("ill-formed %type declaration")); complain (_("ill-formed %type declaration"));
return t; return t;
} }
@@ -1700,7 +1694,7 @@ get_type (void)
if (symval->type_name == NULL) if (symval->type_name == NULL)
symval->type_name = name; symval->type_name = name;
else if (strcmp(name, symval->type_name) != 0) else if (strcmp(name, symval->type_name) != 0)
warns(_("type redeclaration for %s"), symval->tag); complain (_("type redeclaration for %s"), symval->tag);
break; break;
@@ -1755,8 +1749,8 @@ packsymbols (void)
{ {
if (bp->prec != 0 && bp->alias->prec != 0 if (bp->prec != 0 && bp->alias->prec != 0
&& bp->user_token_number == SALIAS) && bp->user_token_number == SALIAS)
warnss(_("conflicting precedences for %s and %s"), complain (_("conflicting precedences for %s and %s"),
bp->tag, bp->alias->tag); bp->tag, bp->alias->tag);
if (bp->prec != 0) if (bp->prec != 0)
bp->alias->prec = bp->prec; bp->alias->prec = bp->prec;
else else
@@ -1765,15 +1759,15 @@ packsymbols (void)
if (bp->assoc != bp->alias->assoc) if (bp->assoc != bp->alias->assoc)
{ {
if (bp->assoc != 0 && bp->alias->assoc != 0 if (bp->assoc != 0 && bp->alias->assoc != 0
&& bp->user_token_number == SALIAS) && bp->user_token_number == SALIAS)
warnss(_("conflicting assoc values for %s and %s"), complain (_("conflicting assoc values for %s and %s"),
bp->tag, bp->alias->tag); bp->tag, bp->alias->tag);
if (bp->assoc != 0) if (bp->assoc != 0)
bp->alias->assoc = bp->assoc; bp->alias->assoc = bp->assoc;
else else
bp->assoc = bp->alias->assoc; bp->assoc = bp->alias->assoc;
} }
if (bp->user_token_number == SALIAS) if (bp->user_token_number == SALIAS)
continue; /* do not do processing below for SALIASs */ continue; /* do not do processing below for SALIASs */
@@ -1818,10 +1812,10 @@ packsymbols (void)
if (bp->user_token_number == SALIAS) if (bp->user_token_number == SALIAS)
continue; continue;
if (token_translations[bp->user_token_number] != 2) if (token_translations[bp->user_token_number] != 2)
warnsss(_("tokens %s and %s both assigned number %s"), complain (_("tokens %s and %s both assigned number %d"),
tags[token_translations[bp->user_token_number]], tags[token_translations[bp->user_token_number]],
bp->tag, bp->tag,
int_to_string(bp->user_token_number)); bp->user_token_number);
token_translations[bp->user_token_number] = bp->value; token_translations[bp->user_token_number] = bp->value;
} }
} }
@@ -1832,9 +1826,9 @@ packsymbols (void)
output_token_defines(ftable); output_token_defines(ftable);
if (startval->class == SUNKNOWN) if (startval->class == SUNKNOWN)
fatals(_("the start symbol %s is undefined"), startval->tag); fatal (_("the start symbol %s is undefined"), startval->tag);
else if (startval->class == STOKEN) else if (startval->class == STOKEN)
fatals(_("the start symbol %s is a token"), startval->tag); fatal (_("the start symbol %s is a token"), startval->tag);
start_symbol = startval->value; start_symbol = startval->value;
@@ -1898,12 +1892,12 @@ output_token_defines (FILE *file)
while ((c = *cp++) && c != '.'); while ((c = *cp++) && c != '.');
if (c != '\0') continue; if (c != '\0') continue;
fprintf(file, "#define\t%s\t%d\n", symbol, fprintf (file, "#define\t%s\t%d\n", symbol,
((translations && ! rawtoknumflag) ((translations && ! rawtoknumflag)
? bp->user_token_number ? bp->user_token_number
: bp->value)); : bp->value));
if (semantic_parser) if (semantic_parser)
fprintf(file, "#define\tT%s\t%d\n", symbol, bp->value); fprintf (file, "#define\tT%s\t%d\n", symbol, bp->value);
} }
putc('\n', file); putc('\n', file);

View File

@@ -35,6 +35,7 @@ Boston, MA 02111-1307, USA. */
#include "gram.h" #include "gram.h"
#include "machine.h" #include "machine.h"
#include "alloc.h" #include "alloc.h"
#include "complain.h"
extern char **tags; /* reader.c */ extern char **tags; /* reader.c */
@@ -74,7 +75,6 @@ static void print_results PARAMS((void));
static void print_notices PARAMS((void)); static void print_notices PARAMS((void));
void dump_grammar PARAMS((void)); void dump_grammar PARAMS((void));
extern void fatals PARAMS((char *, char *));
bool bool
@@ -138,7 +138,7 @@ reduce_grammar (void)
print_notices(); print_notices();
if (!BITISSET(N, start_symbol - ntokens)) if (!BITISSET(N, start_symbol - ntokens))
fatals(_("Start symbol %s does not derive any sentence"), fatal (_("Start symbol %s does not derive any sentence"),
tags[start_symbol]); tags[start_symbol]);
reduce_grammar_tables(); reduce_grammar_tables();

View File

@@ -1,3 +1,20 @@
/* system-dependent definitions for Bison.
Copyright (C) 2000 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef BISON_SYSTEM_H #ifndef BISON_SYSTEM_H
#define BISON_SYSTEM_H #define BISON_SYSTEM_H
@@ -6,45 +23,73 @@
#endif #endif
#ifdef MSDOS #ifdef MSDOS
#include <io.h> # include <io.h>
#endif #endif
#ifdef _MSC_VER #ifdef _MSC_VER
#include <stdlib.h> # include <stdlib.h>
#include <process.h> # include <process.h>
#define getpid _getpid # define getpid _getpid
#endif #endif
#if defined(HAVE_STDLIB_H) || defined(MSDOS) #if defined(HAVE_STDLIB_H) || defined(MSDOS)
#include <stdlib.h> # include <stdlib.h>
#endif #endif
#if defined(HAVE_UNISTD_H) #if defined(HAVE_UNISTD_H)
#include <unistd.h> # include <unistd.h>
#endif #endif
#if (defined(VMS) || defined(MSDOS)) && !defined(HAVE_STRING_H) #if (defined(VMS) || defined(MSDOS)) && !defined(HAVE_STRING_H)
#define HAVE_STRING_H 1 # define HAVE_STRING_H 1
#endif #endif
#if defined(STDC_HEADERS) || defined(HAVE_STRING_H) #if defined(STDC_HEADERS) || defined(HAVE_STRING_H)
#include <string.h> # include <string.h>
/* An ANSI string.h and pre-ANSI memory.h might conflict. */ /* An ANSI string.h and pre-ANSI memory.h might conflict. */
#if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H) # if !defined(STDC_HEADERS) && defined(HAVE_MEMORY_H)
#include <memory.h> # include <memory.h>
#endif /* not STDC_HEADERS and HAVE_MEMORY_H */ # endif /* not STDC_HEADERS and HAVE_MEMORY_H */
#ifndef bcopy # ifndef bcopy
#define bcopy(src, dst, num) memcpy((dst), (src), (num)) # define bcopy(src, dst, num) memcpy((dst), (src), (num))
#endif # endif
#else /* not STDC_HEADERS and not HAVE_STRING_H */ #else /* not STDC_HEADERS and not HAVE_STRING_H */
#include <strings.h> # include <strings.h>
/* memory.h and strings.h conflict on some systems. */ /* memory.h and strings.h conflict on some systems. */
#endif /* not STDC_HEADERS and not HAVE_STRING_H */ #endif /* not STDC_HEADERS and not HAVE_STRING_H */
#if defined(STDC_HEADERS) || defined(HAVE_CTYPE_H) #if defined(STDC_HEADERS) || defined(HAVE_CTYPE_H)
#include <ctype.h> # include <ctype.h>
#endif #endif
#include <errno.h>
#ifndef errno
extern int errno;
#endif
/*-----------------.
| GCC extensions. |
`-----------------*/
#ifndef __attribute__
/* This feature is available in gcc versions 2.5 and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 5) || __STRICT_ANSI__
# define __attribute__(Spec) /* empty */
# endif
/* The __-protected variants of `format' and `printf' attributes
are accepted by gcc versions 2.6.4 (effectively 2.7) and later. */
# if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 7)
# define __format__ format
# define __printf__ printf
# endif
#endif
/*------.
| NLS. |
`------*/
#ifdef HAVE_LOCALE_H #ifdef HAVE_LOCALE_H
# include <locale.h> # include <locale.h>
#endif #endif
@@ -64,8 +109,13 @@
#endif #endif
#define N_(Text) Text #define N_(Text) Text
/*-------------------------------.
| Fix broken compilation flags. |
`-------------------------------*/
#ifndef LOCALEDIR #ifndef LOCALEDIR
#define LOCALEDIR "/usr/local/share/locale" # define LOCALEDIR "/usr/local/share/locale"
#endif #endif
#endif /* BISON_SYSTEM_H */ #endif /* BISON_SYSTEM_H */