mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* src/parse-gram.y (YYLLOC_DEFAULT, current_lhs_location): New.
(input): Don't try to initialize yylloc here, do it in the scanner. * src/scan-gram.l (YY_USER_INIT): Initialize yylloc. * src/gram.h (rule_t): Change line and action_line into location and action_location, of location_t type. Adjust all dependencies. * src/location.h, src/location.c (empty_location): New. * src/reader.h, src/reader.c (grammar_start_symbol_set) (grammar_symbol_append, grammar_rule_begin, grammar_rule_end) (grammar_current_rule_symbol_append) (grammar_current_rule_action_append): Expect a location as argument. * src/reader.c (grammar_midrule_action): Adjust to attach an action's location as dummy symbol location. * src/symtab.h, src/symtab.c (startsymbol_location): New. * tests/regression.at (Web2c Report, Rule Line Numbers): Adjust the line numbers.
This commit is contained in:
21
ChangeLog
21
ChangeLog
@@ -1,3 +1,24 @@
|
|||||||
|
2002-06-15 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/parse-gram.y (YYLLOC_DEFAULT, current_lhs_location): New.
|
||||||
|
(input): Don't try to initialize yylloc here, do it in the
|
||||||
|
scanner.
|
||||||
|
* src/scan-gram.l (YY_USER_INIT): Initialize yylloc.
|
||||||
|
* src/gram.h (rule_t): Change line and action_line into location
|
||||||
|
and action_location, of location_t type.
|
||||||
|
Adjust all dependencies.
|
||||||
|
* src/location.h, src/location.c (empty_location): New.
|
||||||
|
* src/reader.h, src/reader.c (grammar_start_symbol_set)
|
||||||
|
(grammar_symbol_append, grammar_rule_begin, grammar_rule_end)
|
||||||
|
(grammar_current_rule_symbol_append)
|
||||||
|
(grammar_current_rule_action_append): Expect a location as argument.
|
||||||
|
* src/reader.c (grammar_midrule_action): Adjust to attach an
|
||||||
|
action's location as dummy symbol location.
|
||||||
|
* src/symtab.h, src/symtab.c (startsymbol_location): New.
|
||||||
|
* tests/regression.at (Web2c Report, Rule Line Numbers): Adjust
|
||||||
|
the line numbers.
|
||||||
|
|
||||||
|
|
||||||
2002-06-14 Akim Demaille <akim@epita.fr>
|
2002-06-14 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
Grammar declarations may be found in the grammar section.
|
Grammar declarations may be found in the grammar section.
|
||||||
|
|||||||
26
po/de.po
26
po/de.po
@@ -6,7 +6,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.35\n"
|
"Project-Id-Version: bison 1.35\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-04-26 11:58:57+0200\n"
|
"PO-Revision-Date: 2002-04-26 11:58:57+0200\n"
|
||||||
"Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
|
"Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
|
||||||
"Language-Team: German <de@li.org>\n"
|
"Language-Team: German <de@li.org>\n"
|
||||||
@@ -96,12 +96,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "erwartete %d Schiebe/Reduziere-Konflikt\n"
|
msgstr[0] "erwartete %d Schiebe/Reduziere-Konflikt\n"
|
||||||
msgstr[1] "erwartete %d Schiebe/Reduziere-Konflikte\n"
|
msgstr[1] "erwartete %d Schiebe/Reduziere-Konflikte\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "kann Datei »%s« nicht öffnen"
|
msgstr "kann Datei »%s« nicht öffnen"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "kann Datei nicht schließen"
|
msgstr "kann Datei nicht schließen"
|
||||||
|
|
||||||
@@ -343,29 +343,29 @@ msgstr "unzulässiger $-Wert"
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "mehr als eine %s-Deklaration"
|
msgstr "mehr als eine %s-Deklaration"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, 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:271
|
#: src/reader.c:270
|
||||||
#, 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:278
|
#: src/reader.c:277
|
||||||
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 mit Typ und keine Aktion"
|
msgstr "leere Regel für Nicht-Terminal mit Typ und keine Aktion"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
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:488
|
#: src/reader.c:483
|
||||||
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:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "zu viele Symbole (Token plus Nicht-Terminale); Maximum %d"
|
msgstr "zu viele Symbole (Token plus Nicht-Terminale); Maximum %d"
|
||||||
@@ -412,22 +412,22 @@ msgstr[1] "%d nutzlose Regeln"
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
msgstr "es lassen sich keine Sätze vom Startsymbol %s ableiten"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ von »%s« hat keinen deklarierten Typ"
|
msgstr "$$ von »%s« hat keinen deklarierten Typ"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "unzulässiger @-Wert"
|
msgstr "unzulässiger @-Wert"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d von »%s« hat keinen deklarierten Typ"
|
msgstr "$%d von »%s« hat keinen deklarierten Typ"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s ist unzulässig"
|
msgstr "%s ist unzulässig"
|
||||||
|
|||||||
26
po/es.po
26
po/es.po
@@ -29,7 +29,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.35\n"
|
"Project-Id-Version: GNU bison 1.35\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-04-03 10:19+0200\n"
|
"PO-Revision-Date: 2002-04-03 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"
|
||||||
@@ -156,12 +156,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "esperado: %d conflicto desplazamiento/reducción\n"
|
msgstr[0] "esperado: %d conflicto desplazamiento/reducción\n"
|
||||||
msgstr[1] "esperados: %d conflictos desplazamiento/reducción\n"
|
msgstr[1] "esperados: %d conflictos desplazamiento/reducción\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "no se puede abrir el fichero `%s'"
|
msgstr "no se puede abrir el fichero `%s'"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "no se puede cerrar el fichero"
|
msgstr "no se puede cerrar el fichero"
|
||||||
|
|
||||||
@@ -405,29 +405,29 @@ msgstr "valor $ no v
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "múltiples declaraciones de %s"
|
msgstr "múltiples declaraciones de %s"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, 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:271
|
#: src/reader.c:270
|
||||||
#, 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:278
|
#: src/reader.c:277
|
||||||
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:343
|
#: src/reader.c:342
|
||||||
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"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
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"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "demasiados símbolos (terminales y no terminales); máximo %d"
|
msgstr "demasiados símbolos (terminales y no terminales); máximo %d"
|
||||||
@@ -474,22 +474,22 @@ msgstr[1] "%d reglas sin uso"
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
msgstr "El símbolo de inicio (axioma) %s no deriva ninguna sentencia"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, 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"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "valor @ no válido"
|
msgstr "valor @ no válido"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d de `%s' no tiene tipo declarado"
|
msgstr "$%d de `%s' no tiene tipo declarado"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s no es válido"
|
msgstr "%s no es válido"
|
||||||
|
|||||||
26
po/et.po
26
po/et.po
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.33b\n"
|
"Project-Id-Version: bison 1.33b\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-03-05 16:27+0200\n"
|
"PO-Revision-Date: 2002-03-05 16:27+0200\n"
|
||||||
"Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
|
"Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
|
||||||
"Language-Team: Estonian <et@li.org>\n"
|
"Language-Team: Estonian <et@li.org>\n"
|
||||||
@@ -95,12 +95,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
msgstr[0] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
||||||
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
msgstr[1] "eeldasime %d nihutamine/redutseerimine konflikti\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "faili `%s' ei saa avada"
|
msgstr "faili `%s' ei saa avada"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "faili ei õnnestu sulgeda"
|
msgstr "faili ei õnnestu sulgeda"
|
||||||
|
|
||||||
@@ -335,29 +335,29 @@ msgstr "vigane $ v
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "korduvad %s deklaratsioonid"
|
msgstr "korduvad %s deklaratsioonid"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "%s jaoks on antud reegel, aga see on märk"
|
msgstr "%s jaoks on antud reegel, aga see on märk"
|
||||||
|
|
||||||
#: src/reader.c:271
|
#: src/reader.c:270
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
msgstr "vaikimisi tegevuse tüübikonflikt (`%s' `%s')"
|
||||||
|
|
||||||
#: src/reader.c:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
msgstr "tüübiga mitteterminalil on tühi reegel ja puudub tegevus"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "kaks @prec ühel real"
|
msgstr "kaks @prec ühel real"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "sisendgrammatikas pole reegleid"
|
msgstr "sisendgrammatikas pole reegleid"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
msgstr "liiga palju sümboleid (märgid ja mitteterminalid); maksimaalne on %d"
|
||||||
@@ -404,22 +404,22 @@ msgstr[1] "%d kasutamata reeglit"
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
msgstr "Stardisümbolist %s ei tuletata ühtegi lauset"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "`%s' $$ ei oma deklareeritud tüüpi"
|
msgstr "`%s' $$ ei oma deklareeritud tüüpi"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "vigane @ väärtus"
|
msgstr "vigane @ väärtus"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d `%s' ei oma deklareeritud tüüpi"
|
msgstr "$%d `%s' ei oma deklareeritud tüüpi"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s on vigane"
|
msgstr "%s on vigane"
|
||||||
|
|||||||
26
po/fr.po
26
po/fr.po
@@ -6,7 +6,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.34a\n"
|
"Project-Id-Version: GNU bison 1.34a\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-03-21 15:00-0500\n"
|
"PO-Revision-Date: 2002-03-21 15:00-0500\n"
|
||||||
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
|
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
|
||||||
"Language-Team: French <traduc@traduc.org>\n"
|
"Language-Team: French <traduc@traduc.org>\n"
|
||||||
@@ -99,12 +99,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "attendait %d conflit par décalage/réduction\n"
|
msgstr[0] "attendait %d conflit par décalage/réduction\n"
|
||||||
msgstr[1] "attendait %d conflits par décalage/réduction\n"
|
msgstr[1] "attendait %d conflits par décalage/réduction\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "ne peut ouvrir le fichier « %s »"
|
msgstr "ne peut ouvrir le fichier « %s »"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "ne peut fermer le fichier"
|
msgstr "ne peut fermer le fichier"
|
||||||
|
|
||||||
@@ -344,29 +344,29 @@ msgstr "la valeur de symbole $ n'est pas valide"
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "multiples déclarations %s"
|
msgstr "multiples déclarations %s"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, 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:271
|
#: src/reader.c:270
|
||||||
#, 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:278
|
#: src/reader.c:277
|
||||||
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:343
|
#: src/reader.c:342
|
||||||
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:488
|
#: src/reader.c:483
|
||||||
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:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
msgstr "trop de symboles (jeton plus non terminaux); maximum %d"
|
||||||
@@ -413,22 +413,22 @@ msgstr[1] "%d r
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
|
msgstr "Aucune phrase ne peut être dérivée du symbole de départ %s"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, 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é"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "valeur @ invalide"
|
msgstr "valeur @ invalide"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d de « %s » n'a pas de type déclaré"
|
msgstr "$%d de « %s » n'a pas de type déclaré"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s n'est pas valide"
|
msgstr "%s n'est pas valide"
|
||||||
|
|||||||
26
po/hr.po
26
po/hr.po
@@ -7,7 +7,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.34a\n"
|
"Project-Id-Version: bison 1.34a\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-04-10 22:20+01\n"
|
"PO-Revision-Date: 2002-04-10 22:20+01\n"
|
||||||
"Last-Translator: Denis Lackovic <delacko@fly.srk.fer.hr>\n"
|
"Last-Translator: Denis Lackovic <delacko@fly.srk.fer.hr>\n"
|
||||||
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
|
||||||
@@ -97,12 +97,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "oèekujem %d pomakni/reduciraj konflikt\n"
|
msgstr[0] "oèekujem %d pomakni/reduciraj konflikt\n"
|
||||||
msgstr[1] "oèekujem %d pomakni/reduciraj konflikata\n"
|
msgstr[1] "oèekujem %d pomakni/reduciraj konflikata\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "ne mogu otvoriti datoteku `%s'"
|
msgstr "ne mogu otvoriti datoteku `%s'"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "ne mogu zatvoriti datoteku"
|
msgstr "ne mogu zatvoriti datoteku"
|
||||||
|
|
||||||
@@ -338,29 +338,29 @@ msgstr "nedozvoljena $ vrijednost"
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "vi¹estruke %s deklaracije"
|
msgstr "vi¹estruke %s deklaracije"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "pravilo dato za %s, a to je znak"
|
msgstr "pravilo dato za %s, a to je znak"
|
||||||
|
|
||||||
#: src/reader.c:271
|
#: src/reader.c:270
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "sudar tipova (`%s' `%s') na deaultnoj akciji"
|
msgstr "sudar tipova (`%s' `%s') na deaultnoj akciji"
|
||||||
|
|
||||||
#: src/reader.c:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "prazno pravilo za nezavr¹ni znak, i nema akcije"
|
msgstr "prazno pravilo za nezavr¹ni znak, i nema akcije"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "dva @prec's u retku"
|
msgstr "dva @prec's u retku"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "nema pravila u ulaznoj gramatici"
|
msgstr "nema pravila u ulaznoj gramatici"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "previ¹e simbola (znakovi plus nezavr¹ni znakovi); maksimalno %d"
|
msgstr "previ¹e simbola (znakovi plus nezavr¹ni znakovi); maksimalno %d"
|
||||||
@@ -407,22 +407,22 @@ msgstr[1] "%d beskorisnih pravila"
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Poèetni simbol %s ne daje niti jednu reèenicu"
|
msgstr "Poèetni simbol %s ne daje niti jednu reèenicu"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ od `%s' nema deklarirani tip"
|
msgstr "$$ od `%s' nema deklarirani tip"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "nedozvoljena @ vrijednost"
|
msgstr "nedozvoljena @ vrijednost"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d od `%s' nema deklarirani tip"
|
msgstr "$%d od `%s' nema deklarirani tip"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s je nedozvoljeno"
|
msgstr "%s je nedozvoljeno"
|
||||||
|
|||||||
26
po/it.po
26
po/it.po
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.31\n"
|
"Project-Id-Version: bison 1.31\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-01-18 12:40 CET\n"
|
"PO-Revision-Date: 2002-01-18 12:40 CET\n"
|
||||||
"Last-Translator: Paolo Bonzini <bonzini@gnu.org>\n"
|
"Last-Translator: Paolo Bonzini <bonzini@gnu.org>\n"
|
||||||
"Language-Team: Italian <it@li.org>\n"
|
"Language-Team: Italian <it@li.org>\n"
|
||||||
@@ -98,12 +98,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "atteso %d conflitto shift/riduzione\n"
|
msgstr[0] "atteso %d conflitto shift/riduzione\n"
|
||||||
msgstr[1] "attesi %d conflitti shift/riduzione\n"
|
msgstr[1] "attesi %d conflitti shift/riduzione\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "impossibile aprire il file `%s'"
|
msgstr "impossibile aprire il file `%s'"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "impossibile chiudere il file `%s'"
|
msgstr "impossibile chiudere il file `%s'"
|
||||||
|
|
||||||
@@ -338,29 +338,29 @@ msgstr "valore $ non valido"
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "dichiarazioni multiple per %s"
|
msgstr "dichiarazioni multiple per %s"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "fornita una regola per il token %s"
|
msgstr "fornita una regola per il token %s"
|
||||||
|
|
||||||
#: src/reader.c:271
|
#: src/reader.c:270
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "conflitto di tipo (`%s' e `%s') nell'azione di default"
|
msgstr "conflitto di tipo (`%s' e `%s') nell'azione di default"
|
||||||
|
|
||||||
#: src/reader.c:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "regola vuota e nessuna azione per un nonterminale con tipo"
|
msgstr "regola vuota e nessuna azione per un nonterminale con tipo"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "due @prec di seguito"
|
msgstr "due @prec di seguito"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "nessuna regola nella grammatica di input"
|
msgstr "nessuna regola nella grammatica di input"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "troppi simboli (token e nonterminali); il massimo è %d"
|
msgstr "troppi simboli (token e nonterminali); il massimo è %d"
|
||||||
@@ -407,22 +407,22 @@ msgstr[1] "%d regole inutili"
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "dal simbolo iniziale %s non deriva alcuna frase"
|
msgstr "dal simbolo iniziale %s non deriva alcuna frase"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "Manca una dichiarazione di tipo per $$ di `%s'"
|
msgstr "Manca una dichiarazione di tipo per $$ di `%s'"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "valore non valido: %s%d"
|
msgstr "valore non valido: %s%d"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "Manca una dichiarazione di tipo per $%d di `%s'"
|
msgstr "Manca una dichiarazione di tipo per $%d di `%s'"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s non è valido"
|
msgstr "%s non è valido"
|
||||||
|
|||||||
26
po/ja.po
26
po/ja.po
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: GNU bison 1.30f\n"
|
"Project-Id-Version: GNU bison 1.30f\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2001-12-10 15:59+0900\n"
|
"PO-Revision-Date: 2001-12-10 15:59+0900\n"
|
||||||
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
|
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
|
||||||
"Language-Team: Japanese <ja@li.org>\n"
|
"Language-Team: Japanese <ja@li.org>\n"
|
||||||
@@ -92,12 +92,12 @@ msgid "expected %d shift/reduce conflict\n"
|
|||||||
msgid_plural "expected %d shift/reduce conflicts\n"
|
msgid_plural "expected %d shift/reduce conflicts\n"
|
||||||
msgstr[0] "本来 %d 個のシフト/還元衝突であるはずです\n"
|
msgstr[0] "本来 %d 個のシフト/還元衝突であるはずです\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "ファイル `%s' を開けません"
|
msgstr "ファイル `%s' を開けません"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "ファイルを閉じることができません"
|
msgstr "ファイルを閉じることができません"
|
||||||
|
|
||||||
@@ -334,29 +334,29 @@ msgstr "
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "%s が複数個宣言されました"
|
msgstr "%s が複数個宣言されました"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, 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:271
|
#: src/reader.c:270
|
||||||
#, 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:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
msgstr "空の型付き非終端アイテム用規則であり、動作が起りません"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "@prec のもの二つが同列になっています"
|
msgstr "@prec のもの二つが同列になっています"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "入力した文法に規則が定義されていません"
|
msgstr "入力した文法に規則が定義されていません"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
|
msgstr "シンボルが多すぎます (トークン + 非終端アイテム) -- 最大 %d"
|
||||||
@@ -400,22 +400,22 @@ msgstr[0] "%d
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "開始シンボル %s はどの文にも由来しません"
|
msgstr "開始シンボル %s はどの文にも由来しません"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "`%s' の $$ に宣言のない型があります"
|
msgstr "`%s' の $$ に宣言のない型があります"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "不適切な $ の値"
|
msgstr "不適切な $ の値"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d 個の `%s' が宣言された型を持っていません"
|
msgstr "$%d 個の `%s' が宣言された型を持っていません"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s は不適切です"
|
msgstr "%s は不適切です"
|
||||||
|
|||||||
26
po/nl.po
26
po/nl.po
@@ -6,7 +6,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.34a\n"
|
"Project-Id-Version: bison 1.34a\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-03-20 12:54+0100\n"
|
"PO-Revision-Date: 2002-03-20 12:54+0100\n"
|
||||||
"Last-Translator: Tim Van Holder <tim.van.holder@pandora.be>\n"
|
"Last-Translator: Tim Van Holder <tim.van.holder@pandora.be>\n"
|
||||||
"Language-Team: Dutch <vertaling@nl.linux.org>\n"
|
"Language-Team: Dutch <vertaling@nl.linux.org>\n"
|
||||||
@@ -99,12 +99,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "%d shift/reductie conflict werd verwacht\n"
|
msgstr[0] "%d shift/reductie conflict werd verwacht\n"
|
||||||
msgstr[1] "%d shift/reductie conflicten werden verwacht\n"
|
msgstr[1] "%d shift/reductie conflicten werden verwacht\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "kan bestand `%s' niet openen"
|
msgstr "kan bestand `%s' niet openen"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "kan bestand niet sluiten"
|
msgstr "kan bestand niet sluiten"
|
||||||
|
|
||||||
@@ -350,29 +350,29 @@ msgstr "ongeldige $-waarde"
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "meerdere %s declaraties"
|
msgstr "meerdere %s declaraties"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "regel opgegeven voor token (%s)"
|
msgstr "regel opgegeven voor token (%s)"
|
||||||
|
|
||||||
#: src/reader.c:271
|
#: src/reader.c:270
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "type-conflict (`%s' `%s') bij standaardaktie"
|
msgstr "type-conflict (`%s' `%s') bij standaardaktie"
|
||||||
|
|
||||||
#: src/reader.c:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "lege regel voor niet-eindsymbool met type, en geen actie"
|
msgstr "lege regel voor niet-eindsymbool met type, en geen actie"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "twee @prec's na elkaar"
|
msgstr "twee @prec's na elkaar"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "invoergrammatica bevat geen regels"
|
msgstr "invoergrammatica bevat geen regels"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "teveel symbolen (tokens plus niet-eindsymbolen); het maximum is %d"
|
msgstr "teveel symbolen (tokens plus niet-eindsymbolen); het maximum is %d"
|
||||||
@@ -420,22 +420,22 @@ msgstr[1] "%d nutteloze regels"
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Startsymbool %s wordt vanuit geen enkele zin bereikt"
|
msgstr "Startsymbool %s wordt vanuit geen enkele zin bereikt"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, 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"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "ongeldige @-waarde"
|
msgstr "ongeldige @-waarde"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d van `%s' heeft geen gedeclareerd type"
|
msgstr "$%d van `%s' heeft geen gedeclareerd type"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s is ongeldig"
|
msgstr "%s is ongeldig"
|
||||||
|
|||||||
26
po/ru.po
26
po/ru.po
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.32\n"
|
"Project-Id-Version: bison 1.32\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-01-25 12:19+0300\n"
|
"PO-Revision-Date: 2002-01-25 12:19+0300\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"
|
||||||
@@ -102,12 +102,12 @@ msgstr[0] "
|
|||||||
msgstr[1] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
msgstr[1] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÁ ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||||
msgstr[2] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
msgstr[2] "ÏÖÉÄÁÌÏÓØ %d ËÏÎÆÌÉËÔÏ× ÓÄ×ÉÇÁ/×Ù×ÏÄÁ\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
|
||||||
|
|
||||||
@@ -347,30 +347,30 @@ msgstr "
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
msgstr "ÍÎÏÖÅÓÔ×ÅÎÎÏÅ ÏÐÉÓÁÎÉÅ %s"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, 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:271
|
#: src/reader.c:270
|
||||||
#, 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:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
"ÐÕÓÔÏÅ ÐÒÁ×ÉÌÏ ÄÌÑ ÔÉÐÉÚÉÒÏ×ÁÎÎÏÇÏ ÎÅÔÅÒÍÉÎÁÌØÎÏÇÏ ÓÉÍ×ÏÌÁ, É ÎÅÔ ÄÅÊÓÔ×ÉÑ"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
msgstr "Ä×Á @prec ÐÏÄÒÑÄ"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÐÒÁ×ÉÌÁ ×Ï ×ÈÏÄÎÏÊ ÇÒÁÍÍÁÔÉËÅ"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÓÉÍ×ÏÌÏ× (ÌÅËÓÅÍÙ ÐÌÀÓ ÎÅÔÅÒÍÉÎÁÌÙ); ÍÁËÓÉÍÁÌØÎÏ %d"
|
||||||
@@ -420,22 +420,22 @@ msgstr[2] "%d
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
msgstr "îÁÞÁÌØÎÙÊ ÓÉÍ×ÏÌ %s ÎÅ ×Ù×ÏÄÉÔ ÎÉ ÏÄÎÏÇÏ ÐÒÅÄÌÏÖÅÎÉÑ"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
msgstr "$$ × `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
|
msgstr "ÎÅ×ÅÒÎÏÅ $ ÚÎÁÞÅÎÉÅ"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
msgstr "$%d ÉÚ `%s' ÎÅ ÉÍÅÅÔ ÏÐÉÓÁÎÎÏÇÏ ÔÉÐÁ"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË %s"
|
||||||
|
|||||||
26
po/sv.po
26
po/sv.po
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.33b\n"
|
"Project-Id-Version: bison 1.33b\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-03-05 10:18+0100\n"
|
"PO-Revision-Date: 2002-03-05 10:18+0100\n"
|
||||||
"Last-Translator: Göran Uddeborg <goeran@uddeborg.pp.se>\n"
|
"Last-Translator: Göran Uddeborg <goeran@uddeborg.pp.se>\n"
|
||||||
"Language-Team: Swedish <sv@li.org>\n"
|
"Language-Team: Swedish <sv@li.org>\n"
|
||||||
@@ -98,12 +98,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "förväntade %d skifta/reducerakonflikt\n"
|
msgstr[0] "förväntade %d skifta/reducerakonflikt\n"
|
||||||
msgstr[1] "förväntade %d skifta/reducerakonflikter\n"
|
msgstr[1] "förväntade %d skifta/reducerakonflikter\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "kan inte öppna filen \"%s\""
|
msgstr "kan inte öppna filen \"%s\""
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "kan inte stänga fil"
|
msgstr "kan inte stänga fil"
|
||||||
|
|
||||||
@@ -342,29 +342,29 @@ msgstr "felaktigt $-v
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "flera %s-deklarationer"
|
msgstr "flera %s-deklarationer"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "regel given för %s, som är ett element"
|
msgstr "regel given för %s, som är ett element"
|
||||||
|
|
||||||
#: src/reader.c:271
|
#: src/reader.c:270
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
|
msgstr "typkonflikt (\"%s\" \"%s\") för standardåtgärd"
|
||||||
|
|
||||||
#: src/reader.c:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
|
msgstr "tom regel för typad icketerminal, och ingen åtgärd"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "två @prec i rad"
|
msgstr "två @prec i rad"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "inga regler i ingrammatiken"
|
msgstr "inga regler i ingrammatiken"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "för många symboler (element plus icketerminaler); max %d"
|
msgstr "för många symboler (element plus icketerminaler); max %d"
|
||||||
@@ -411,22 +411,22 @@ msgstr[1] "%d oanv
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Startsymbolen %s genererar inga meningar"
|
msgstr "Startsymbolen %s genererar inga meningar"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "$$ för \"%s\" har ingen deklarerad typ"
|
msgstr "$$ för \"%s\" har ingen deklarerad typ"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "felaktigt @-värde"
|
msgstr "felaktigt @-värde"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "$%d för \"%s\" har ingen deklarerad typ"
|
msgstr "$%d för \"%s\" har ingen deklarerad typ"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s är felaktigt"
|
msgstr "%s är felaktigt"
|
||||||
|
|||||||
26
po/tr.po
26
po/tr.po
@@ -5,7 +5,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: bison 1.34\n"
|
"Project-Id-Version: bison 1.34\n"
|
||||||
"POT-Creation-Date: 2002-06-11 21:15+0200\n"
|
"POT-Creation-Date: 2002-06-15 20:06+0200\n"
|
||||||
"PO-Revision-Date: 2002-03-14 11:03GMT +02:00\n"
|
"PO-Revision-Date: 2002-03-14 11:03GMT +02:00\n"
|
||||||
"Last-Translator: Altuð Bayram <altugbayram_2000@yahoo.com>\n"
|
"Last-Translator: Altuð Bayram <altugbayram_2000@yahoo.com>\n"
|
||||||
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
|
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
|
||||||
@@ -102,12 +102,12 @@ msgid_plural "expected %d shift/reduce conflicts\n"
|
|||||||
msgstr[0] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
msgstr[0] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||||
msgstr[1] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
msgstr[1] "beklenen %d öteleme/indirgeme çeliþkisi\n"
|
||||||
|
|
||||||
#: src/files.c:159
|
#: src/files.c:157
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "cannot open file `%s'"
|
msgid "cannot open file `%s'"
|
||||||
msgstr "`%s' dosyasý açýlamadý"
|
msgstr "`%s' dosyasý açýlamadý"
|
||||||
|
|
||||||
#: src/files.c:178
|
#: src/files.c:176
|
||||||
msgid "cannot close file"
|
msgid "cannot close file"
|
||||||
msgstr "dosya kapatýlamýyor"
|
msgstr "dosya kapatýlamýyor"
|
||||||
|
|
||||||
@@ -347,30 +347,30 @@ msgstr "ge
|
|||||||
msgid "multiple %s declarations"
|
msgid "multiple %s declarations"
|
||||||
msgstr "çoklu %s bildirimleri"
|
msgstr "çoklu %s bildirimleri"
|
||||||
|
|
||||||
#: src/reader.c:247
|
#: src/reader.c:246
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "rule given for %s, which is a token"
|
msgid "rule given for %s, which is a token"
|
||||||
msgstr "bir andaç olan %s için verilen kural"
|
msgstr "bir andaç olan %s için verilen kural"
|
||||||
|
|
||||||
#: src/reader.c:271
|
#: src/reader.c:270
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "type clash (`%s' `%s') on default action"
|
msgid "type clash (`%s' `%s') on default action"
|
||||||
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
msgstr "öntanýmlý eylem üzerinde (`%s' `%s') tip çatýþmasý"
|
||||||
|
|
||||||
#: src/reader.c:278
|
#: src/reader.c:277
|
||||||
msgid "empty rule for typed nonterminal, and no action"
|
msgid "empty rule for typed nonterminal, and no action"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
"Tipli deðiþken simge için boþ kural tanýmlanmýþ, ve eylem belirtilmemiþ"
|
||||||
|
|
||||||
#: src/reader.c:343
|
#: src/reader.c:342
|
||||||
msgid "two @prec's in a row"
|
msgid "two @prec's in a row"
|
||||||
msgstr "bir satýrda iki @prec"
|
msgstr "bir satýrda iki @prec"
|
||||||
|
|
||||||
#: src/reader.c:488
|
#: src/reader.c:483
|
||||||
msgid "no rules in the input grammar"
|
msgid "no rules in the input grammar"
|
||||||
msgstr "girdi grameri içinde kurallar yok"
|
msgstr "girdi grameri içinde kurallar yok"
|
||||||
|
|
||||||
#: src/reader.c:520
|
#: src/reader.c:515
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
msgid "too many symbols (tokens plus nonterminals); maximum %d"
|
||||||
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
msgstr "çok fazla simge var (andaçlar ve deðiþken simgeler); en fazla %d"
|
||||||
@@ -417,22 +417,22 @@ msgstr[1] "%d yarars
|
|||||||
msgid "Start symbol %s does not derive any sentence"
|
msgid "Start symbol %s does not derive any sentence"
|
||||||
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
msgstr "Baþlangýç simgesi %s herhangi bir cümleden türemez"
|
||||||
|
|
||||||
#: scan-gram.l:508
|
#: scan-gram.l:549
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$$ of `%s' has no declared type"
|
msgid "$$ of `%s' has no declared type"
|
||||||
msgstr "`%s''in $$'ý bildirilmiþ tip deðil"
|
msgstr "`%s''in $$'ý bildirilmiþ tip deðil"
|
||||||
|
|
||||||
#: scan-gram.l:520 scan-gram.l:571
|
#: scan-gram.l:561 scan-gram.l:612
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "invalid value: %s%d"
|
msgid "invalid value: %s%d"
|
||||||
msgstr "geçersiz @ deðeri"
|
msgstr "geçersiz @ deðeri"
|
||||||
|
|
||||||
#: scan-gram.l:526
|
#: scan-gram.l:567
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "$%d of `%s' has no declared type"
|
msgid "$%d of `%s' has no declared type"
|
||||||
msgstr "`%2$s''in %1$d'i bildirilmiþ tip deðil"
|
msgstr "`%2$s''in %1$d'i bildirilmiþ tip deðil"
|
||||||
|
|
||||||
#: scan-gram.l:539 scan-gram.l:580
|
#: scan-gram.l:580 scan-gram.l:621
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is invalid"
|
msgid "%s is invalid"
|
||||||
msgstr "%s geçersizdir"
|
msgstr "%s geçersizdir"
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ bison_SOURCES = \
|
|||||||
getargs.c getargs.h \
|
getargs.c getargs.h \
|
||||||
gram.c gram.h \
|
gram.c gram.h \
|
||||||
lalr.h lalr.c \
|
lalr.h lalr.c \
|
||||||
location.h \
|
location.c location.h \
|
||||||
main.c \
|
main.c \
|
||||||
muscle_tab.c muscle_tab.h \
|
muscle_tab.c muscle_tab.h \
|
||||||
nullable.c nullable.h \
|
nullable.c nullable.h \
|
||||||
|
|||||||
17
src/gram.h
17
src/gram.h
@@ -97,17 +97,18 @@
|
|||||||
|
|
||||||
Associativities are recorded similarly in SYMBOLS[I]->assoc. */
|
Associativities are recorded similarly in SYMBOLS[I]->assoc. */
|
||||||
|
|
||||||
#include "symtab.h"
|
# include "location.h"
|
||||||
|
# include "symtab.h"
|
||||||
|
|
||||||
#define ISTOKEN(s) ((s) < ntokens)
|
# define ISTOKEN(s) ((s) < ntokens)
|
||||||
#define ISVAR(s) ((s) >= ntokens)
|
# define ISVAR(s) ((s) >= ntokens)
|
||||||
|
|
||||||
extern int nrules;
|
extern int nrules;
|
||||||
extern int nsyms;
|
extern int nsyms;
|
||||||
extern int ntokens;
|
extern int ntokens;
|
||||||
extern int nvars;
|
extern int nvars;
|
||||||
|
|
||||||
#define ITEM_NUMBER_MAX INT_MAX
|
# define ITEM_NUMBER_MAX INT_MAX
|
||||||
typedef int item_number_t;
|
typedef int item_number_t;
|
||||||
extern item_number_t *ritem;
|
extern item_number_t *ritem;
|
||||||
extern unsigned int nritems;
|
extern unsigned int nritems;
|
||||||
@@ -118,8 +119,8 @@ extern unsigned int nritems;
|
|||||||
|
|
||||||
Therefore, an symbol_number_t must be a valid item_number_t, and we
|
Therefore, an symbol_number_t must be a valid item_number_t, and we
|
||||||
sometimes have to perform the converse transformation. */
|
sometimes have to perform the converse transformation. */
|
||||||
#define symbol_number_as_item_number(Tok) ((item_number_t) (Tok))
|
# define symbol_number_as_item_number(Tok) ((item_number_t) (Tok))
|
||||||
#define item_number_as_symbol_number(Ite) ((symbol_number_t) (Ite))
|
# define item_number_as_symbol_number(Ite) ((symbol_number_t) (Ite))
|
||||||
|
|
||||||
extern symbol_number_t start_symbol;
|
extern symbol_number_t start_symbol;
|
||||||
|
|
||||||
@@ -143,11 +144,11 @@ typedef struct rule_s
|
|||||||
/* This symbol was attached to the rule via %prec. */
|
/* This symbol was attached to the rule via %prec. */
|
||||||
symbol_t *precsym;
|
symbol_t *precsym;
|
||||||
|
|
||||||
int line;
|
location_t location;
|
||||||
bool useful;
|
bool useful;
|
||||||
|
|
||||||
const char *action;
|
const char *action;
|
||||||
int action_line;
|
location_t action_location;
|
||||||
} rule_t;
|
} rule_t;
|
||||||
|
|
||||||
extern struct rule_s *rules;
|
extern struct rule_s *rules;
|
||||||
|
|||||||
24
src/location.c
Normal file
24
src/location.c
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
/* Locations for Bison
|
||||||
|
Copyright (C) 2002 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of Bison, the GNU Compiler Compiler.
|
||||||
|
|
||||||
|
Bison 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.
|
||||||
|
|
||||||
|
Bison 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 Bison; see the file COPYING. If not, write to
|
||||||
|
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA. */
|
||||||
|
|
||||||
|
|
||||||
|
#include "location.h"
|
||||||
|
|
||||||
|
location_t empty_location = { 0, 0, 0, 0 };
|
||||||
@@ -62,4 +62,6 @@ typedef struct location_s
|
|||||||
else \
|
else \
|
||||||
fprintf (Out, "%d.%d", (Loc).first_line, (Loc).first_column)
|
fprintf (Out, "%d.%d", (Loc).first_line, (Loc).first_column)
|
||||||
|
|
||||||
|
|
||||||
|
extern location_t empty_location;
|
||||||
#endif /* !LOCATION_H_ */
|
#endif /* !LOCATION_H_ */
|
||||||
|
|||||||
@@ -307,7 +307,7 @@ prepare_rules (void)
|
|||||||
/* Separator in RHS. */
|
/* Separator in RHS. */
|
||||||
rhs[i++] = -1;
|
rhs[i++] = -1;
|
||||||
/* Line where rule was defined. */
|
/* Line where rule was defined. */
|
||||||
rline[r] = rules[r].line;
|
rline[r] = rules[r].location.first_line;
|
||||||
}
|
}
|
||||||
assert (i == nritems);
|
assert (i == nritems);
|
||||||
|
|
||||||
@@ -544,7 +544,7 @@ actions_output (FILE *out)
|
|||||||
|
|
||||||
if (!no_lines_flag)
|
if (!no_lines_flag)
|
||||||
fprintf (out, muscle_find ("linef"),
|
fprintf (out, muscle_find ("linef"),
|
||||||
rules[rule].action_line,
|
rules[rule].action_location.first_line,
|
||||||
quotearg_style (c_quoting_style,
|
quotearg_style (c_quoting_style,
|
||||||
muscle_find ("filename")));
|
muscle_find ("filename")));
|
||||||
fprintf (out, " %s\n break;\n\n",
|
fprintf (out, " %s\n break;\n\n",
|
||||||
|
|||||||
511
src/parse-gram.c
511
src/parse-gram.c
@@ -74,6 +74,20 @@
|
|||||||
|
|
||||||
/* Produce verbose parse errors. */
|
/* Produce verbose parse errors. */
|
||||||
#define YYERROR_VERBOSE 1
|
#define YYERROR_VERBOSE 1
|
||||||
|
#define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||||
|
do { \
|
||||||
|
if (N) \
|
||||||
|
{ \
|
||||||
|
Current.first_column = Rhs[1].first_column; \
|
||||||
|
Current.first_line = Rhs[1].first_line; \
|
||||||
|
Current.last_column = Rhs[N].last_column; \
|
||||||
|
Current.last_line = Rhs[N].last_line; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
Current = Rhs[0]; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/* Pass the control structure to YYPARSE and YYLEX. */
|
/* Pass the control structure to YYPARSE and YYLEX. */
|
||||||
#define YYPARSE_PARAM gram_control
|
#define YYPARSE_PARAM gram_control
|
||||||
@@ -98,6 +112,7 @@ static void yyprint (FILE *file, const location_t *loc,
|
|||||||
symbol_class current_class = unknown_sym;
|
symbol_class current_class = unknown_sym;
|
||||||
char *current_type = 0;
|
char *current_type = 0;
|
||||||
symbol_t *current_lhs;
|
symbol_t *current_lhs;
|
||||||
|
location_t current_lhs_location;
|
||||||
associativity current_assoc;
|
associativity current_assoc;
|
||||||
int current_prec = 0;
|
int current_prec = 0;
|
||||||
|
|
||||||
@@ -207,15 +222,15 @@ int current_prec = 0;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef YYSTYPE
|
#ifndef YYSTYPE
|
||||||
#line 74 "parse-gram.y"
|
#line 89 "parse-gram.y"
|
||||||
typedef union {
|
typedef union {
|
||||||
symbol_t *symbol;
|
symbol_t *symbol;
|
||||||
int integer;
|
int integer;
|
||||||
char *string;
|
char *string;
|
||||||
associativity assoc;
|
associativity assoc;
|
||||||
} yystype;
|
} yystype;
|
||||||
/* Line 199 of /home/akim/src/bison/data/bison.simple. */
|
/* Line 199 of /usr/local/share/bison/bison.simple. */
|
||||||
#line 219 "parse-gram.c"
|
#line 234 "parse-gram.c"
|
||||||
# define YYSTYPE yystype
|
# define YYSTYPE yystype
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
#endif
|
#endif
|
||||||
@@ -235,8 +250,8 @@ typedef struct yyltype
|
|||||||
/* Copy the second part of user declarations. */
|
/* Copy the second part of user declarations. */
|
||||||
|
|
||||||
|
|
||||||
/* Line 219 of /home/akim/src/bison/data/bison.simple. */
|
/* Line 219 of /usr/local/share/bison/bison.simple. */
|
||||||
#line 240 "parse-gram.c"
|
#line 255 "parse-gram.c"
|
||||||
|
|
||||||
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
||||||
|
|
||||||
@@ -338,16 +353,16 @@ union yyalloc
|
|||||||
/* YYFINAL -- State number of the termination state. */
|
/* YYFINAL -- State number of the termination state. */
|
||||||
#define YYFINAL 3
|
#define YYFINAL 3
|
||||||
#define YYFLAG -32768
|
#define YYFLAG -32768
|
||||||
#define YYLAST 91
|
#define YYLAST 90
|
||||||
|
|
||||||
/* YYNTOKENS -- Number of terminals. */
|
/* YYNTOKENS -- Number of terminals. */
|
||||||
#define YYNTOKENS 40
|
#define YYNTOKENS 40
|
||||||
/* YYNNTS -- Number of nonterminals. */
|
/* YYNNTS -- Number of nonterminals. */
|
||||||
#define YYNNTS 30
|
#define YYNNTS 29
|
||||||
/* YYNRULES -- Number of rules. */
|
/* YYNRULES -- Number of rules. */
|
||||||
#define YYNRULES 72
|
#define YYNRULES 71
|
||||||
/* YYNRULES -- Number of states. */
|
/* YYNRULES -- Number of states. */
|
||||||
#define YYNSTATES 98
|
#define YYNSTATES 97
|
||||||
|
|
||||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||||
#define YYUNDEFTOK 2
|
#define YYUNDEFTOK 2
|
||||||
@@ -396,51 +411,50 @@ static const unsigned char yytranslate[] =
|
|||||||
YYRHS. */
|
YYRHS. */
|
||||||
static const unsigned char yyprhs[] =
|
static const unsigned char yyprhs[] =
|
||||||
{
|
{
|
||||||
0, 0, 3, 4, 10, 11, 15, 17, 19, 21,
|
0, 0, 3, 8, 9, 13, 15, 17, 19, 23,
|
||||||
25, 27, 29, 32, 36, 38, 42, 44, 48, 50,
|
25, 27, 30, 34, 36, 40, 42, 46, 48, 51,
|
||||||
53, 55, 57, 59, 61, 63, 66, 69, 70, 74,
|
53, 55, 57, 59, 61, 64, 67, 68, 72, 73,
|
||||||
75, 79, 80, 85, 86, 91, 93, 95, 97, 98,
|
77, 78, 83, 84, 89, 91, 93, 95, 96, 98,
|
||||||
100, 102, 105, 107, 110, 112, 114, 117, 120, 124,
|
100, 103, 105, 108, 110, 112, 115, 118, 122, 124,
|
||||||
126, 129, 131, 134, 136, 139, 140, 146, 148, 152,
|
127, 129, 132, 134, 137, 138, 144, 146, 150, 151,
|
||||||
153, 156, 159, 163, 165, 167, 169, 171, 173, 175,
|
154, 157, 161, 163, 165, 167, 169, 171, 173, 174,
|
||||||
176, 179, 180
|
177, 178
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
|
||||||
static const signed char yyrhs[] =
|
static const signed char yyrhs[] =
|
||||||
{
|
{
|
||||||
41, 0, -1, -1, 42, 43, 33, 58, 68, -1,
|
41, 0, -1, 42, 33, 57, 67, -1, -1, 42,
|
||||||
-1, 43, 44, 69, -1, 45, -1, 34, -1, 22,
|
43, 68, -1, 44, -1, 34, -1, 22, -1, 18,
|
||||||
-1, 18, 67, 67, -1, 20, -1, 14, -1, 10,
|
66, 66, -1, 20, -1, 14, -1, 10, 5, -1,
|
||||||
5, -1, 16, 28, 67, -1, 23, -1, 17, 28,
|
16, 28, 66, -1, 23, -1, 17, 28, 66, -1,
|
||||||
67, -1, 24, -1, 15, 28, 67, -1, 19, -1,
|
24, -1, 15, 28, 66, -1, 19, -1, 25, 66,
|
||||||
25, 67, -1, 26, -1, 13, -1, 21, -1, 50,
|
-1, 26, -1, 13, -1, 21, -1, 49, -1, 45,
|
||||||
-1, 46, -1, 11, 64, -1, 9, 36, -1, -1,
|
-1, 11, 63, -1, 9, 36, -1, -1, 7, 46,
|
||||||
7, 47, 57, -1, -1, 6, 48, 57, -1, -1,
|
56, -1, -1, 6, 47, 56, -1, -1, 8, 27,
|
||||||
8, 27, 49, 54, -1, -1, 52, 53, 51, 55,
|
48, 53, -1, -1, 51, 52, 50, 54, -1, 37,
|
||||||
-1, 37, -1, 38, -1, 39, -1, -1, 27, -1,
|
-1, 38, -1, 39, -1, -1, 27, -1, 32, -1,
|
||||||
32, -1, 54, 32, -1, 64, -1, 55, 64, -1,
|
53, 32, -1, 63, -1, 54, 63, -1, 27, -1,
|
||||||
27, -1, 32, -1, 32, 5, -1, 32, 66, -1,
|
32, -1, 32, 5, -1, 32, 65, -1, 32, 5,
|
||||||
32, 5, 66, -1, 56, -1, 57, 56, -1, 59,
|
65, -1, 55, -1, 56, 55, -1, 58, -1, 57,
|
||||||
-1, 58, 59, -1, 60, -1, 45, 29, -1, -1,
|
58, -1, 59, -1, 44, 29, -1, -1, 32, 30,
|
||||||
32, 30, 61, 62, 29, -1, 63, -1, 62, 31,
|
60, 61, 29, -1, 62, -1, 61, 31, 62, -1,
|
||||||
63, -1, -1, 63, 64, -1, 63, 65, -1, 63,
|
-1, 62, 63, -1, 62, 64, -1, 62, 12, 63,
|
||||||
12, 64, -1, 32, -1, 66, -1, 4, -1, 36,
|
-1, 32, -1, 65, -1, 4, -1, 36, -1, 3,
|
||||||
-1, 3, -1, 3, -1, -1, 33, 35, -1, -1,
|
-1, 3, -1, -1, 33, 35, -1, -1, 29, -1
|
||||||
29, -1
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
|
||||||
static const unsigned short yyrline[] =
|
static const unsigned short yyrline[] =
|
||||||
{
|
{
|
||||||
0, 131, 131, 131, 144, 146, 149, 151, 152, 153,
|
0, 146, 146, 159, 161, 164, 166, 167, 168, 169,
|
||||||
154, 155, 156, 157, 158, 159, 160, 161, 162, 163,
|
170, 171, 172, 173, 174, 175, 176, 177, 178, 179,
|
||||||
164, 165, 166, 169, 171, 172, 176, 184, 184, 190,
|
180, 181, 184, 186, 187, 191, 199, 199, 205, 205,
|
||||||
190, 195, 195, 201, 201, 211, 213, 214, 217, 219,
|
210, 210, 216, 216, 226, 228, 229, 232, 234, 238,
|
||||||
223, 225, 229, 235, 243, 248, 253, 259, 265, 275,
|
240, 244, 250, 258, 263, 268, 274, 280, 290, 293,
|
||||||
278, 287, 289, 295, 297, 300, 300, 305, 307, 310,
|
302, 304, 310, 312, 315, 315, 320, 322, 325, 328,
|
||||||
313, 315, 317, 321, 323, 324, 327, 333, 342, 350,
|
330, 332, 336, 338, 339, 342, 348, 357, 365, 370,
|
||||||
355, 361, 363
|
376, 378
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -457,11 +471,11 @@ static const char *const yytname[] =
|
|||||||
"\"%locations\"", "\"%no-lines\"", "\"%skeleton\"", "\"%token-table\"",
|
"\"%locations\"", "\"%no-lines\"", "\"%skeleton\"", "\"%token-table\"",
|
||||||
"TYPE", "\"=\"", "\";\"", "\":\"", "\"|\"", "\"identifier\"", "\"%%\"",
|
"TYPE", "\"=\"", "\";\"", "\":\"", "\"|\"", "\"identifier\"", "\"%%\"",
|
||||||
"PROLOGUE", "EPILOGUE", "BRACED_CODE", "\"%left\"", "\"%right\"",
|
"PROLOGUE", "EPILOGUE", "BRACED_CODE", "\"%left\"", "\"%right\"",
|
||||||
"\"%nonassoc\"", "$axiom", "input", "@1", "declarations", "declaration",
|
"\"%nonassoc\"", "$axiom", "input", "declarations", "declaration",
|
||||||
"grammar_declaration", "symbol_declaration", "@2", "@3", "@4",
|
"grammar_declaration", "symbol_declaration", "@1", "@2", "@3",
|
||||||
"precedence_declaration", "@5", "precedence_declarator", "type.opt",
|
"precedence_declaration", "@4", "precedence_declarator", "type.opt",
|
||||||
"nterms_to_type.1", "terms_to_prec.1", "symbol_def", "symbol_defs.1",
|
"nterms_to_type.1", "terms_to_prec.1", "symbol_def", "symbol_defs.1",
|
||||||
"grammar", "rules_or_grammar_declaration", "rules", "@6", "rhses.1",
|
"grammar", "rules_or_grammar_declaration", "rules", "@5", "rhses.1",
|
||||||
"rhs", "symbol", "action", "string_as_id", "string_content",
|
"rhs", "symbol", "action", "string_as_id", "string_content",
|
||||||
"epilogue.opt", "semi_colon.opt", 0
|
"epilogue.opt", "semi_colon.opt", 0
|
||||||
};
|
};
|
||||||
@@ -481,27 +495,27 @@ static const short yytoknum[] =
|
|||||||
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
|
||||||
static const unsigned char yyr1[] =
|
static const unsigned char yyr1[] =
|
||||||
{
|
{
|
||||||
0, 40, 42, 41, 43, 43, 44, 44, 44, 44,
|
0, 40, 41, 42, 42, 43, 43, 43, 43, 43,
|
||||||
44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
|
43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
|
||||||
44, 44, 44, 45, 45, 45, 45, 47, 46, 48,
|
43, 43, 44, 44, 44, 44, 46, 45, 47, 45,
|
||||||
46, 49, 46, 51, 50, 52, 52, 52, 53, 53,
|
48, 45, 50, 49, 51, 51, 51, 52, 52, 53,
|
||||||
54, 54, 55, 55, 56, 56, 56, 56, 56, 57,
|
53, 54, 54, 55, 55, 55, 55, 55, 56, 56,
|
||||||
57, 58, 58, 59, 59, 61, 60, 62, 62, 63,
|
57, 57, 58, 58, 60, 59, 61, 61, 62, 62,
|
||||||
63, 63, 63, 64, 64, 64, 65, 66, 67, 68,
|
62, 62, 63, 63, 63, 64, 65, 66, 67, 67,
|
||||||
68, 69, 69
|
68, 68
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
|
||||||
static const unsigned char yyr2[] =
|
static const unsigned char yyr2[] =
|
||||||
{
|
{
|
||||||
0, 2, 0, 5, 0, 3, 1, 1, 1, 3,
|
0, 2, 4, 0, 3, 1, 1, 1, 3, 1,
|
||||||
1, 1, 2, 3, 1, 3, 1, 3, 1, 2,
|
1, 2, 3, 1, 3, 1, 3, 1, 2, 1,
|
||||||
1, 1, 1, 1, 1, 2, 2, 0, 3, 0,
|
1, 1, 1, 1, 2, 2, 0, 3, 0, 3,
|
||||||
3, 0, 4, 0, 4, 1, 1, 1, 0, 1,
|
0, 4, 0, 4, 1, 1, 1, 0, 1, 1,
|
||||||
1, 2, 1, 2, 1, 1, 2, 2, 3, 1,
|
2, 1, 2, 1, 1, 2, 2, 3, 1, 2,
|
||||||
2, 1, 2, 1, 2, 0, 5, 1, 3, 0,
|
1, 2, 1, 2, 0, 5, 1, 3, 0, 2,
|
||||||
2, 2, 3, 1, 1, 1, 1, 1, 1, 0,
|
2, 3, 1, 1, 1, 1, 1, 1, 0, 2,
|
||||||
2, 0, 1
|
0, 1
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
|
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
|
||||||
@@ -509,48 +523,48 @@ static const unsigned char yyr2[] =
|
|||||||
means the default is an error. */
|
means the default is an error. */
|
||||||
static const short yydefact[] =
|
static const short yydefact[] =
|
||||||
{
|
{
|
||||||
2, 0, 4, 0, 0, 29, 27, 0, 0, 0,
|
3, 0, 0, 0, 28, 26, 0, 0, 0, 0,
|
||||||
0, 21, 11, 0, 0, 0, 0, 18, 10, 22,
|
20, 10, 0, 0, 0, 0, 17, 9, 21, 7,
|
||||||
8, 14, 16, 0, 20, 0, 7, 35, 36, 37,
|
13, 15, 0, 19, 0, 6, 34, 35, 36, 70,
|
||||||
71, 6, 24, 23, 38, 0, 0, 31, 26, 12,
|
5, 23, 22, 37, 0, 0, 30, 25, 11, 66,
|
||||||
67, 65, 63, 25, 64, 0, 0, 0, 68, 0,
|
64, 62, 24, 63, 0, 0, 0, 67, 0, 18,
|
||||||
19, 0, 0, 69, 51, 53, 72, 5, 39, 33,
|
0, 0, 68, 50, 52, 71, 4, 38, 32, 43,
|
||||||
44, 45, 49, 30, 28, 0, 17, 13, 15, 9,
|
44, 48, 29, 27, 0, 16, 12, 14, 8, 54,
|
||||||
55, 54, 0, 52, 3, 0, 46, 47, 50, 40,
|
53, 0, 51, 2, 0, 45, 46, 49, 39, 31,
|
||||||
32, 59, 70, 34, 42, 48, 41, 0, 57, 43,
|
58, 69, 33, 41, 47, 40, 0, 56, 42, 55,
|
||||||
56, 59, 0, 66, 60, 61, 58, 62
|
58, 0, 65, 59, 60, 57, 61
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPGOTO[NTERM-NUM]. */
|
/* YYPGOTO[NTERM-NUM]. */
|
||||||
static const short yydefgoto[] =
|
static const short yydefgoto[] =
|
||||||
{
|
{
|
||||||
-1, 1, 2, 4, 30, 52, 32, 36, 35, 65,
|
-1, 1, 2, 29, 51, 31, 35, 34, 64, 32,
|
||||||
33, 75, 34, 59, 80, 83, 62, 63, 53, 54,
|
74, 33, 58, 79, 82, 61, 62, 52, 53, 54,
|
||||||
55, 81, 87, 88, 94, 95, 44, 49, 74, 57
|
80, 86, 87, 93, 94, 43, 48, 73, 56
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||||
STATE-NUM. */
|
STATE-NUM. */
|
||||||
static const short yypact[] =
|
static const short yypact[] =
|
||||||
{
|
{
|
||||||
-32768, 7,-32768,-32768, -5,-32768,-32768, -1, 11, 51,
|
-32768, 7, -5,-32768,-32768,-32768, -1, 11, 46, 38,
|
||||||
38,-32768,-32768, 36, 43, 44, 66,-32768,-32768,-32768,
|
-32768,-32768, 36, 43, 44, 66,-32768,-32768,-32768,-32768,
|
||||||
-32768,-32768,-32768, 66,-32768, 29,-32768,-32768,-32768,-32768,
|
-32768,-32768, 66,-32768, 29,-32768,-32768,-32768,-32768, 48,
|
||||||
45,-32768,-32768,-32768, 48, 18, 18,-32768,-32768,-32768,
|
-32768,-32768,-32768, 52, 18, 18,-32768,-32768,-32768,-32768,
|
||||||
-32768,-32768,-32768,-32768,-32768, 66, 66, 66,-32768, 66,
|
-32768,-32768,-32768,-32768, 66, 66, 66,-32768, 66,-32768,
|
||||||
-32768, 46, 49, 16,-32768,-32768,-32768,-32768,-32768,-32768,
|
50, 54, 16,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
|
||||||
-32768, 41,-32768, 18, 18, 52,-32768,-32768,-32768,-32768,
|
41,-32768, 18, 18, 49,-32768,-32768,-32768,-32768,-32768,
|
||||||
-32768,-32768, 42,-32768,-32768, 38, 82,-32768,-32768,-32768,
|
-32768, 51,-32768,-32768, 38, 81,-32768,-32768,-32768, 53,
|
||||||
54,-32768,-32768, 38,-32768,-32768,-32768, 31, 27,-32768,
|
-32768,-32768, 38,-32768,-32768,-32768, 31, 27,-32768,-32768,
|
||||||
-32768,-32768, 38,-32768,-32768,-32768, 27,-32768
|
-32768, 38,-32768,-32768,-32768, 27,-32768
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYPGOTO[NTERM-NUM]. */
|
/* YYPGOTO[NTERM-NUM]. */
|
||||||
static const short yypgoto[] =
|
static const short yypgoto[] =
|
||||||
{
|
{
|
||||||
-32768,-32768,-32768,-32768,-32768, 83,-32768,-32768,-32768,-32768,
|
-32768,-32768,-32768,-32768, 85,-32768,-32768,-32768,-32768,-32768,
|
||||||
-32768,-32768,-32768,-32768,-32768,-32768, -12, 53,-32768, 35,
|
-32768,-32768,-32768,-32768,-32768, -6, 55,-32768, 37,-32768,
|
||||||
-32768,-32768,-32768, 0, -10,-32768, -18, 34,-32768,-32768
|
-32768,-32768, -2, -9,-32768, -17, 30,-32768,-32768
|
||||||
};
|
};
|
||||||
|
|
||||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||||
@@ -558,30 +572,30 @@ static const short yypgoto[] =
|
|||||||
number is the opposite. If zero, do what YYDEFACT says. */
|
number is the opposite. If zero, do what YYDEFACT says. */
|
||||||
static const short yytable[] =
|
static const short yytable[] =
|
||||||
{
|
{
|
||||||
43, 5, 6, 7, 8, 9, 10, 3, 11, 12,
|
42, 4, 5, 6, 7, 8, 9, 3, 10, 11,
|
||||||
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
|
||||||
23, 24, 5, 6, 7, 8, 37, 10, 25, 26,
|
22, 23, 4, 5, 6, 7, 36, 9, 24, 25,
|
||||||
40, 41, 27, 28, 29, 5, 6, 7, 8, 92,
|
39, 40, 26, 27, 28, 4, 5, 6, 7, 91,
|
||||||
10, 40, 41, 77, 40, 60, 76, 38, 51, 72,
|
9, 39, 40, 76, 39, 59, 75, 37, 50, 71,
|
||||||
61, 78, 78, 27, 28, 29, 39, 50, 85, 42,
|
60, 38, 49, 26, 27, 28, 77, 77, 84, 41,
|
||||||
90, 51, 91, 93, 45, 84, 27, 28, 29, 48,
|
89, 50, 90, 92, 44, 83, 26, 27, 28, 47,
|
||||||
42, 46, 47, 89, 56, 58, 70, 82, 71, 66,
|
41, 45, 46, 88, 65, 66, 67, 55, 68, 57,
|
||||||
67, 68, 97, 69, 79, 40, 86, 31, 73, 64,
|
69, 78, 96, 70, 39, 85, 81, 30, 95, 72,
|
||||||
0, 96
|
63
|
||||||
};
|
};
|
||||||
|
|
||||||
static const short yycheck[] =
|
static const short yycheck[] =
|
||||||
{
|
{
|
||||||
10, 6, 7, 8, 9, 10, 11, 0, 13, 14,
|
9, 6, 7, 8, 9, 10, 11, 0, 13, 14,
|
||||||
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
|
||||||
25, 26, 6, 7, 8, 9, 27, 11, 33, 34,
|
25, 26, 6, 7, 8, 9, 27, 11, 33, 34,
|
||||||
3, 4, 37, 38, 39, 6, 7, 8, 9, 12,
|
3, 4, 37, 38, 39, 6, 7, 8, 9, 12,
|
||||||
11, 3, 4, 61, 3, 27, 5, 36, 32, 33,
|
11, 3, 4, 60, 3, 27, 5, 36, 32, 33,
|
||||||
32, 63, 64, 37, 38, 39, 5, 23, 76, 32,
|
32, 5, 22, 37, 38, 39, 62, 63, 75, 32,
|
||||||
29, 32, 31, 36, 28, 75, 37, 38, 39, 3,
|
29, 32, 31, 36, 28, 74, 37, 38, 39, 3,
|
||||||
32, 28, 28, 83, 29, 27, 30, 35, 29, 45,
|
32, 28, 28, 82, 44, 45, 46, 29, 48, 27,
|
||||||
46, 47, 92, 49, 32, 3, 32, 4, 53, 36,
|
30, 32, 91, 29, 3, 32, 35, 2, 90, 52,
|
||||||
-1, 91
|
35
|
||||||
};
|
};
|
||||||
|
|
||||||
#if YYDEBUG
|
#if YYDEBUG
|
||||||
@@ -589,16 +603,16 @@ static const short yycheck[] =
|
|||||||
symbol of state STATE-NUM. */
|
symbol of state STATE-NUM. */
|
||||||
static const unsigned char yystos[] =
|
static const unsigned char yystos[] =
|
||||||
{
|
{
|
||||||
0, 41, 42, 0, 43, 6, 7, 8, 9, 10,
|
0, 41, 42, 0, 6, 7, 8, 9, 10, 11,
|
||||||
11, 13, 14, 15, 16, 17, 18, 19, 20, 21,
|
13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
|
||||||
22, 23, 24, 25, 26, 33, 34, 37, 38, 39,
|
23, 24, 25, 26, 33, 34, 37, 38, 39, 43,
|
||||||
44, 45, 46, 50, 52, 48, 47, 27, 36, 5,
|
44, 45, 49, 51, 47, 46, 27, 36, 5, 3,
|
||||||
3, 4, 32, 64, 66, 28, 28, 28, 3, 67,
|
4, 32, 63, 65, 28, 28, 28, 3, 66, 66,
|
||||||
67, 32, 45, 58, 59, 60, 29, 69, 27, 53,
|
32, 44, 57, 58, 59, 29, 68, 27, 52, 27,
|
||||||
27, 32, 56, 57, 57, 49, 67, 67, 67, 67,
|
32, 55, 56, 56, 48, 66, 66, 66, 66, 30,
|
||||||
30, 29, 33, 59, 68, 51, 5, 66, 56, 32,
|
29, 33, 58, 67, 50, 5, 65, 55, 32, 53,
|
||||||
54, 61, 35, 55, 64, 66, 32, 62, 63, 64,
|
60, 35, 54, 63, 65, 32, 61, 62, 63, 29,
|
||||||
29, 31, 12, 36, 64, 65, 63, 64
|
31, 12, 36, 63, 64, 62, 63
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1168,107 +1182,102 @@ yyreduce:
|
|||||||
switch (yyn)
|
switch (yyn)
|
||||||
{
|
{
|
||||||
case 2:
|
case 2:
|
||||||
#line 131 "parse-gram.y"
|
#line 148 "parse-gram.y"
|
||||||
{ LOCATION_RESET (yylloc); }
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
#line 133 "parse-gram.y"
|
|
||||||
{
|
{
|
||||||
yycontrol->errcode = 0;
|
yycontrol->errcode = 0;
|
||||||
epilogue_set (yyvsp[0].string, yylsp[0]);
|
epilogue_set (yyvsp[0].string, yylsp[0]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 7:
|
case 6:
|
||||||
#line 151 "parse-gram.y"
|
#line 166 "parse-gram.y"
|
||||||
{ prologue_augment (yyvsp[0].string, yylsp[0]); }
|
{ prologue_augment (yyvsp[0].string, yylsp[0]); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 8:
|
case 7:
|
||||||
#line 152 "parse-gram.y"
|
#line 167 "parse-gram.y"
|
||||||
{ debug_flag = 1; }
|
{ debug_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 9:
|
case 8:
|
||||||
#line 153 "parse-gram.y"
|
#line 168 "parse-gram.y"
|
||||||
{ muscle_insert (yyvsp[-1].string, yyvsp[0].string); }
|
{ muscle_insert (yyvsp[-1].string, yyvsp[0].string); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 10:
|
case 9:
|
||||||
#line 154 "parse-gram.y"
|
#line 169 "parse-gram.y"
|
||||||
{ defines_flag = 1; }
|
{ defines_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 11:
|
case 10:
|
||||||
#line 155 "parse-gram.y"
|
#line 170 "parse-gram.y"
|
||||||
{ error_verbose = 1; }
|
{ error_verbose = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 12:
|
case 11:
|
||||||
#line 156 "parse-gram.y"
|
#line 171 "parse-gram.y"
|
||||||
{ expected_conflicts = yyvsp[0].integer; }
|
{ expected_conflicts = yyvsp[0].integer; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 13:
|
case 12:
|
||||||
#line 157 "parse-gram.y"
|
#line 172 "parse-gram.y"
|
||||||
{ spec_file_prefix = yyvsp[0].string; }
|
{ spec_file_prefix = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 14:
|
case 13:
|
||||||
#line 158 "parse-gram.y"
|
#line 173 "parse-gram.y"
|
||||||
{ locations_flag = 1; }
|
{ locations_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 15:
|
case 14:
|
||||||
#line 159 "parse-gram.y"
|
#line 174 "parse-gram.y"
|
||||||
{ spec_name_prefix = yyvsp[0].string; }
|
{ spec_name_prefix = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 16:
|
case 15:
|
||||||
#line 160 "parse-gram.y"
|
#line 175 "parse-gram.y"
|
||||||
{ no_lines_flag = 1; }
|
{ no_lines_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 17:
|
case 16:
|
||||||
#line 161 "parse-gram.y"
|
#line 176 "parse-gram.y"
|
||||||
{ spec_outfile = yyvsp[0].string; }
|
{ spec_outfile = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 18:
|
case 17:
|
||||||
#line 162 "parse-gram.y"
|
#line 177 "parse-gram.y"
|
||||||
{ pure_parser = 1; }
|
{ pure_parser = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 19:
|
case 18:
|
||||||
#line 163 "parse-gram.y"
|
#line 178 "parse-gram.y"
|
||||||
{ skeleton = yyvsp[0].string; }
|
{ skeleton = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 20:
|
case 19:
|
||||||
#line 164 "parse-gram.y"
|
#line 179 "parse-gram.y"
|
||||||
{ token_table_flag = 1; }
|
{ token_table_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 21:
|
case 20:
|
||||||
#line 165 "parse-gram.y"
|
#line 180 "parse-gram.y"
|
||||||
{ report_flag = 1; }
|
{ report_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 22:
|
case 21:
|
||||||
#line 166 "parse-gram.y"
|
#line 181 "parse-gram.y"
|
||||||
{ yacc_flag = 1; }
|
{ yacc_flag = 1; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 25:
|
case 24:
|
||||||
#line 173 "parse-gram.y"
|
#line 188 "parse-gram.y"
|
||||||
{
|
{
|
||||||
grammar_start_symbol_set (yyvsp[0].symbol);
|
grammar_start_symbol_set (yyvsp[0].symbol, yylsp[0]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 26:
|
case 25:
|
||||||
#line 177 "parse-gram.y"
|
#line 192 "parse-gram.y"
|
||||||
{
|
{
|
||||||
typed = 1;
|
typed = 1;
|
||||||
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);
|
MUSCLE_INSERT_INT ("stype_line", yylsp[0].first_line);
|
||||||
@@ -1276,91 +1285,99 @@ yyreduce:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 27:
|
case 26:
|
||||||
#line 185 "parse-gram.y"
|
#line 200 "parse-gram.y"
|
||||||
{ current_class = nterm_sym; }
|
{ current_class = nterm_sym; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 28:
|
case 27:
|
||||||
#line 186 "parse-gram.y"
|
#line 201 "parse-gram.y"
|
||||||
{
|
{
|
||||||
current_class = unknown_sym;
|
current_class = unknown_sym;
|
||||||
current_type = NULL;
|
current_type = NULL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 29:
|
case 28:
|
||||||
#line 190 "parse-gram.y"
|
#line 205 "parse-gram.y"
|
||||||
{ current_class = token_sym; }
|
{ current_class = token_sym; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 30:
|
case 29:
|
||||||
#line 191 "parse-gram.y"
|
#line 206 "parse-gram.y"
|
||||||
{
|
{
|
||||||
current_class = unknown_sym;
|
current_class = unknown_sym;
|
||||||
current_type = NULL;
|
current_type = NULL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 31:
|
case 30:
|
||||||
#line 195 "parse-gram.y"
|
#line 210 "parse-gram.y"
|
||||||
{current_type = yyvsp[0].string; }
|
{current_type = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 32:
|
case 31:
|
||||||
#line 196 "parse-gram.y"
|
#line 211 "parse-gram.y"
|
||||||
{
|
{
|
||||||
current_type = NULL;
|
current_type = NULL;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 33:
|
case 32:
|
||||||
#line 203 "parse-gram.y"
|
#line 218 "parse-gram.y"
|
||||||
{ current_assoc = yyvsp[-1].assoc; ++current_prec; }
|
{ current_assoc = yyvsp[-1].assoc; ++current_prec; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 34:
|
case 33:
|
||||||
#line 205 "parse-gram.y"
|
#line 220 "parse-gram.y"
|
||||||
{ current_assoc = non_assoc; current_type = NULL; }
|
{ current_assoc = non_assoc; current_type = NULL; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 35:
|
case 34:
|
||||||
#line 212 "parse-gram.y"
|
#line 227 "parse-gram.y"
|
||||||
{ yyval.assoc = left_assoc; }
|
{ yyval.assoc = left_assoc; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 36:
|
case 35:
|
||||||
#line 213 "parse-gram.y"
|
#line 228 "parse-gram.y"
|
||||||
{ yyval.assoc = right_assoc; }
|
{ yyval.assoc = right_assoc; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 37:
|
case 36:
|
||||||
#line 214 "parse-gram.y"
|
#line 229 "parse-gram.y"
|
||||||
{ yyval.assoc = non_assoc; }
|
{ yyval.assoc = non_assoc; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 38:
|
case 37:
|
||||||
#line 218 "parse-gram.y"
|
#line 233 "parse-gram.y"
|
||||||
{ current_type = NULL;}
|
{ current_type = NULL;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 39:
|
case 38:
|
||||||
#line 219 "parse-gram.y"
|
#line 234 "parse-gram.y"
|
||||||
{ current_type = yyvsp[0].string; }
|
{ current_type = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 39:
|
||||||
|
#line 239 "parse-gram.y"
|
||||||
|
{ symbol_type_set (yyvsp[0].symbol, current_type); }
|
||||||
|
break;
|
||||||
|
|
||||||
case 40:
|
case 40:
|
||||||
#line 224 "parse-gram.y"
|
#line 240 "parse-gram.y"
|
||||||
{ symbol_type_set (yyvsp[0].symbol, current_type); }
|
{ symbol_type_set (yyvsp[0].symbol, current_type); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 41:
|
case 41:
|
||||||
#line 225 "parse-gram.y"
|
#line 246 "parse-gram.y"
|
||||||
{ symbol_type_set (yyvsp[0].symbol, current_type); }
|
{
|
||||||
|
symbol_type_set (yyvsp[0].symbol, current_type);
|
||||||
|
symbol_precedence_set (yyvsp[0].symbol, current_prec, current_assoc);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 42:
|
case 42:
|
||||||
#line 231 "parse-gram.y"
|
#line 251 "parse-gram.y"
|
||||||
{
|
{
|
||||||
symbol_type_set (yyvsp[0].symbol, current_type);
|
symbol_type_set (yyvsp[0].symbol, current_type);
|
||||||
symbol_precedence_set (yyvsp[0].symbol, current_prec, current_assoc);
|
symbol_precedence_set (yyvsp[0].symbol, current_prec, current_assoc);
|
||||||
@@ -1368,30 +1385,22 @@ yyreduce:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 43:
|
case 43:
|
||||||
#line 236 "parse-gram.y"
|
#line 260 "parse-gram.y"
|
||||||
{
|
|
||||||
symbol_type_set (yyvsp[0].symbol, current_type);
|
|
||||||
symbol_precedence_set (yyvsp[0].symbol, current_prec, current_assoc);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 44:
|
|
||||||
#line 245 "parse-gram.y"
|
|
||||||
{
|
{
|
||||||
current_type = yyvsp[0].string;
|
current_type = yyvsp[0].string;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 45:
|
case 44:
|
||||||
#line 249 "parse-gram.y"
|
#line 264 "parse-gram.y"
|
||||||
{
|
{
|
||||||
symbol_class_set (yyvsp[0].symbol, current_class);
|
symbol_class_set (yyvsp[0].symbol, current_class);
|
||||||
symbol_type_set (yyvsp[0].symbol, current_type);
|
symbol_type_set (yyvsp[0].symbol, current_type);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 46:
|
case 45:
|
||||||
#line 254 "parse-gram.y"
|
#line 269 "parse-gram.y"
|
||||||
{
|
{
|
||||||
symbol_class_set (yyvsp[-1].symbol, current_class);
|
symbol_class_set (yyvsp[-1].symbol, current_class);
|
||||||
symbol_type_set (yyvsp[-1].symbol, current_type);
|
symbol_type_set (yyvsp[-1].symbol, current_type);
|
||||||
@@ -1399,8 +1408,8 @@ yyreduce:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 47:
|
case 46:
|
||||||
#line 260 "parse-gram.y"
|
#line 275 "parse-gram.y"
|
||||||
{
|
{
|
||||||
symbol_class_set (yyvsp[-1].symbol, current_class);
|
symbol_class_set (yyvsp[-1].symbol, current_class);
|
||||||
symbol_type_set (yyvsp[-1].symbol, current_type);
|
symbol_type_set (yyvsp[-1].symbol, current_type);
|
||||||
@@ -1408,8 +1417,8 @@ yyreduce:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 48:
|
case 47:
|
||||||
#line 266 "parse-gram.y"
|
#line 281 "parse-gram.y"
|
||||||
{
|
{
|
||||||
symbol_class_set (yyvsp[-2].symbol, current_class);
|
symbol_class_set (yyvsp[-2].symbol, current_class);
|
||||||
symbol_type_set (yyvsp[-2].symbol, current_type);
|
symbol_type_set (yyvsp[-2].symbol, current_type);
|
||||||
@@ -1418,101 +1427,101 @@ yyreduce:
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 49:
|
case 48:
|
||||||
#line 277 "parse-gram.y"
|
#line 292 "parse-gram.y"
|
||||||
{;}
|
{;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 50:
|
case 49:
|
||||||
#line 279 "parse-gram.y"
|
#line 294 "parse-gram.y"
|
||||||
{;}
|
{;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 54:
|
||||||
|
#line 316 "parse-gram.y"
|
||||||
|
{ current_lhs = yyvsp[-1].symbol; current_lhs_location = yylsp[-1]; }
|
||||||
|
break;
|
||||||
|
|
||||||
case 55:
|
case 55:
|
||||||
#line 301 "parse-gram.y"
|
#line 317 "parse-gram.y"
|
||||||
{ current_lhs = yyvsp[-1].symbol; }
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 56:
|
|
||||||
#line 302 "parse-gram.y"
|
|
||||||
{;}
|
{;}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 56:
|
||||||
|
#line 321 "parse-gram.y"
|
||||||
|
{ grammar_rule_end (yylsp[0]); }
|
||||||
|
break;
|
||||||
|
|
||||||
case 57:
|
case 57:
|
||||||
#line 306 "parse-gram.y"
|
#line 322 "parse-gram.y"
|
||||||
{ grammar_rule_end (); }
|
{ grammar_rule_end (yylsp[0]); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 58:
|
case 58:
|
||||||
#line 307 "parse-gram.y"
|
#line 327 "parse-gram.y"
|
||||||
{ grammar_rule_end (); }
|
{ grammar_rule_begin (current_lhs, current_lhs_location); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 59:
|
case 59:
|
||||||
#line 312 "parse-gram.y"
|
#line 329 "parse-gram.y"
|
||||||
{ grammar_rule_begin (current_lhs); }
|
{ grammar_current_rule_symbol_append (yyvsp[0].symbol, yylsp[0]); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 60:
|
case 60:
|
||||||
#line 314 "parse-gram.y"
|
#line 331 "parse-gram.y"
|
||||||
{ grammar_current_rule_symbol_append (yyvsp[0].symbol); }
|
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0]); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 61:
|
case 61:
|
||||||
#line 316 "parse-gram.y"
|
#line 333 "parse-gram.y"
|
||||||
{ grammar_current_rule_action_append (yyvsp[0].string, yylsp[0].first_line); }
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 62:
|
|
||||||
#line 318 "parse-gram.y"
|
|
||||||
{ grammar_current_rule_prec_set (yyvsp[0].symbol); }
|
{ grammar_current_rule_prec_set (yyvsp[0].symbol); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 62:
|
||||||
|
#line 337 "parse-gram.y"
|
||||||
|
{ yyval.symbol = yyvsp[0].symbol; }
|
||||||
|
break;
|
||||||
|
|
||||||
case 63:
|
case 63:
|
||||||
#line 322 "parse-gram.y"
|
#line 338 "parse-gram.y"
|
||||||
{ yyval.symbol = yyvsp[0].symbol; }
|
{ yyval.symbol = yyvsp[0].symbol; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 64:
|
case 64:
|
||||||
#line 323 "parse-gram.y"
|
#line 339 "parse-gram.y"
|
||||||
{ yyval.symbol = yyvsp[0].symbol; }
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 65:
|
|
||||||
#line 324 "parse-gram.y"
|
|
||||||
{ yyval.symbol = getsym (yyvsp[0].string); }
|
{ yyval.symbol = getsym (yyvsp[0].string); }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 66:
|
case 65:
|
||||||
#line 329 "parse-gram.y"
|
#line 344 "parse-gram.y"
|
||||||
{ yyval.string = yyvsp[0].string; }
|
{ yyval.string = yyvsp[0].string; }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 67:
|
case 66:
|
||||||
#line 335 "parse-gram.y"
|
#line 350 "parse-gram.y"
|
||||||
{
|
{
|
||||||
yyval.symbol = getsym (yyvsp[0].string);
|
yyval.symbol = getsym (yyvsp[0].string);
|
||||||
symbol_class_set (yyval.symbol, token_sym);
|
symbol_class_set (yyval.symbol, token_sym);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 68:
|
case 67:
|
||||||
#line 344 "parse-gram.y"
|
#line 359 "parse-gram.y"
|
||||||
{
|
{
|
||||||
yyval.string = yyvsp[0].string + 1;
|
yyval.string = yyvsp[0].string + 1;
|
||||||
yyval.string[strlen (yyval.string) - 1] = '\0';
|
yyval.string[strlen (yyval.string) - 1] = '\0';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 69:
|
case 68:
|
||||||
#line 352 "parse-gram.y"
|
#line 367 "parse-gram.y"
|
||||||
{
|
{
|
||||||
yyval.string = xstrdup ("");
|
yyval.string = xstrdup ("");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 70:
|
case 69:
|
||||||
#line 356 "parse-gram.y"
|
#line 371 "parse-gram.y"
|
||||||
{
|
{
|
||||||
yyval.string = yyvsp[0].string;
|
yyval.string = yyvsp[0].string;
|
||||||
}
|
}
|
||||||
@@ -1521,8 +1530,8 @@ yyreduce:
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Line 1012 of /home/akim/src/bison/data/bison.simple. */
|
/* Line 1012 of /usr/local/share/bison/bison.simple. */
|
||||||
#line 1526 "parse-gram.c"
|
#line 1535 "parse-gram.c"
|
||||||
|
|
||||||
yyvsp -= yylen;
|
yyvsp -= yylen;
|
||||||
yyssp -= yylen;
|
yyssp -= yylen;
|
||||||
@@ -1743,7 +1752,7 @@ yyreturn:
|
|||||||
return yyresult;
|
return yyresult;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 365 "parse-gram.y"
|
#line 380 "parse-gram.y"
|
||||||
|
|
||||||
/*------------------------------------------------------------------.
|
/*------------------------------------------------------------------.
|
||||||
| When debugging the parser, display tokens' locations and values. |
|
| When debugging the parser, display tokens' locations and values. |
|
||||||
|
|||||||
@@ -93,14 +93,14 @@
|
|||||||
|
|
||||||
|
|
||||||
#ifndef YYSTYPE
|
#ifndef YYSTYPE
|
||||||
#line 74 "parse-gram.y"
|
#line 89 "parse-gram.y"
|
||||||
typedef union {
|
typedef union {
|
||||||
symbol_t *symbol;
|
symbol_t *symbol;
|
||||||
int integer;
|
int integer;
|
||||||
char *string;
|
char *string;
|
||||||
associativity assoc;
|
associativity assoc;
|
||||||
} yystype;
|
} yystype;
|
||||||
/* Line 1271 of /home/akim/src/bison/data/bison.simple. */
|
/* Line 1271 of /usr/local/share/bison/bison.simple. */
|
||||||
#line 105 "y.tab.h"
|
#line 105 "y.tab.h"
|
||||||
# define YYSTYPE yystype
|
# define YYSTYPE yystype
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -40,6 +40,20 @@
|
|||||||
|
|
||||||
/* Produce verbose parse errors. */
|
/* Produce verbose parse errors. */
|
||||||
#define YYERROR_VERBOSE 1
|
#define YYERROR_VERBOSE 1
|
||||||
|
#define YYLLOC_DEFAULT(Current, Rhs, N) \
|
||||||
|
do { \
|
||||||
|
if (N) \
|
||||||
|
{ \
|
||||||
|
Current.first_column = Rhs[1].first_column; \
|
||||||
|
Current.first_line = Rhs[1].first_line; \
|
||||||
|
Current.last_column = Rhs[N].last_column; \
|
||||||
|
Current.last_line = Rhs[N].last_line; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
Current = Rhs[0]; \
|
||||||
|
} \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
/* Pass the control structure to YYPARSE and YYLEX. */
|
/* Pass the control structure to YYPARSE and YYLEX. */
|
||||||
#define YYPARSE_PARAM gram_control
|
#define YYPARSE_PARAM gram_control
|
||||||
@@ -64,6 +78,7 @@ static void yyprint (FILE *file, const location_t *loc,
|
|||||||
symbol_class current_class = unknown_sym;
|
symbol_class current_class = unknown_sym;
|
||||||
char *current_type = 0;
|
char *current_type = 0;
|
||||||
symbol_t *current_lhs;
|
symbol_t *current_lhs;
|
||||||
|
location_t current_lhs_location;
|
||||||
associativity current_assoc;
|
associativity current_assoc;
|
||||||
int current_prec = 0;
|
int current_prec = 0;
|
||||||
%}
|
%}
|
||||||
@@ -128,11 +143,11 @@ int current_prec = 0;
|
|||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
input: { LOCATION_RESET (yylloc); }
|
input:
|
||||||
declarations "%%" grammar epilogue.opt
|
declarations "%%" grammar epilogue.opt
|
||||||
{
|
{
|
||||||
yycontrol->errcode = 0;
|
yycontrol->errcode = 0;
|
||||||
epilogue_set ($5, @5);
|
epilogue_set ($4, @4);
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
@@ -171,7 +186,7 @@ grammar_declaration:
|
|||||||
| symbol_declaration
|
| symbol_declaration
|
||||||
| "%start" symbol
|
| "%start" symbol
|
||||||
{
|
{
|
||||||
grammar_start_symbol_set ($2);
|
grammar_start_symbol_set ($2, @2);
|
||||||
}
|
}
|
||||||
| "%union" BRACED_CODE
|
| "%union" BRACED_CODE
|
||||||
{
|
{
|
||||||
@@ -298,22 +313,22 @@ rules_or_grammar_declaration:
|
|||||||
;
|
;
|
||||||
|
|
||||||
rules:
|
rules:
|
||||||
ID ":" { current_lhs = $1; } rhses.1 ";"
|
ID ":" { current_lhs = $1; current_lhs_location = @1; } rhses.1 ";"
|
||||||
{;}
|
{;}
|
||||||
;
|
;
|
||||||
|
|
||||||
rhses.1:
|
rhses.1:
|
||||||
rhs { grammar_rule_end (); }
|
rhs { grammar_rule_end (@1); }
|
||||||
| rhses.1 "|" rhs { grammar_rule_end (); }
|
| rhses.1 "|" rhs { grammar_rule_end (@3); }
|
||||||
;
|
;
|
||||||
|
|
||||||
rhs:
|
rhs:
|
||||||
/* Nothing. */
|
/* Nothing. */
|
||||||
{ grammar_rule_begin (current_lhs); }
|
{ grammar_rule_begin (current_lhs, current_lhs_location); }
|
||||||
| rhs symbol
|
| rhs symbol
|
||||||
{ grammar_current_rule_symbol_append ($2); }
|
{ grammar_current_rule_symbol_append ($2, @2); }
|
||||||
| rhs action
|
| rhs action
|
||||||
{ grammar_current_rule_action_append ($2, @2.first_line); }
|
{ grammar_current_rule_action_append ($2, @2); }
|
||||||
| rhs "%prec" symbol
|
| rhs "%prec" symbol
|
||||||
{ grammar_current_rule_prec_set ($3); }
|
{ grammar_current_rule_prec_set ($3); }
|
||||||
;
|
;
|
||||||
|
|||||||
@@ -399,8 +399,9 @@ print_grammar (FILE *out)
|
|||||||
fprintf (out, " %s\n", _("Number, Line, Rule"));
|
fprintf (out, " %s\n", _("Number, Line, Rule"));
|
||||||
for (j = 1; j < nrules + 1; j++)
|
for (j = 1; j < nrules + 1; j++)
|
||||||
{
|
{
|
||||||
fprintf (out, _(" %3d %3d %s ->"),
|
fprintf (out, " %3d %3d %s ->",
|
||||||
j - 1, rules[j].line, escape (rules[j].lhs->tag));
|
j - 1, rules[j].location.first_line,
|
||||||
|
escape (rules[j].lhs->tag));
|
||||||
rule = rules[j].rhs;
|
rule = rules[j].rhs;
|
||||||
if (*rule >= 0)
|
if (*rule >= 0)
|
||||||
while (*rule >= 0)
|
while (*rule >= 0)
|
||||||
|
|||||||
108
src/reader.c
108
src/reader.c
@@ -42,14 +42,13 @@ static int start_flag = 0;
|
|||||||
int typed = 0;
|
int typed = 0;
|
||||||
|
|
||||||
static symbol_list *
|
static symbol_list *
|
||||||
symbol_list_new (symbol_t *sym)
|
symbol_list_new (symbol_t *sym, location_t location)
|
||||||
{
|
{
|
||||||
symbol_list *res = XMALLOC (symbol_list, 1);
|
symbol_list *res = XMALLOC (symbol_list, 1);
|
||||||
res->next = NULL;
|
res->next = NULL;
|
||||||
res->sym = sym;
|
res->sym = sym;
|
||||||
res->line = lineno;
|
res->location = location;
|
||||||
res->action = NULL;
|
res->action = NULL;
|
||||||
res->action_line = 0;
|
|
||||||
res->ruleprec = NULL;
|
res->ruleprec = NULL;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
@@ -95,7 +94,7 @@ get_type_name (int n, symbol_list *rule)
|
|||||||
`-----------------------*/
|
`-----------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
grammar_start_symbol_set (symbol_t *s)
|
grammar_start_symbol_set (symbol_t *s, location_t l)
|
||||||
{
|
{
|
||||||
if (start_flag)
|
if (start_flag)
|
||||||
complain (_("multiple %s declarations"), "%start");
|
complain (_("multiple %s declarations"), "%start");
|
||||||
@@ -103,6 +102,7 @@ grammar_start_symbol_set (symbol_t *s)
|
|||||||
{
|
{
|
||||||
start_flag = 1;
|
start_flag = 1;
|
||||||
startsymbol = s;
|
startsymbol = s;
|
||||||
|
startsymbol_location = l;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,9 +197,9 @@ symbol_list *grammar_end = NULL;
|
|||||||
|
|
||||||
/* Append S to the GRAMMAR. */
|
/* Append S to the GRAMMAR. */
|
||||||
void
|
void
|
||||||
grammar_symbol_append (symbol_t *s)
|
grammar_symbol_append (symbol_t *symbol, location_t location)
|
||||||
{
|
{
|
||||||
symbol_list *p = symbol_list_new (s);
|
symbol_list *p = symbol_list_new (symbol, location);
|
||||||
|
|
||||||
if (grammar_end)
|
if (grammar_end)
|
||||||
grammar_end->next = p;
|
grammar_end->next = p;
|
||||||
@@ -209,20 +209,24 @@ grammar_symbol_append (symbol_t *s)
|
|||||||
grammar_end = p;
|
grammar_end = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The rule currently being defined, and the previous rule. Point to
|
/* The rule currently being defined, and the previous rule.
|
||||||
the first symbol of each list: their lhs. */
|
CURRENT_RULE points to the first LHS of the current rule, while
|
||||||
|
PREVIOUS_RULE_END points to the *end* of the previous rule (NULL). */
|
||||||
symbol_list *current_rule = NULL;
|
symbol_list *current_rule = NULL;
|
||||||
symbol_list *previous_rule = NULL;
|
symbol_list *previous_rule_end = NULL;
|
||||||
|
|
||||||
|
|
||||||
/* Create a new rule for LHS in to the GRAMMAR. */
|
/*----------------------------------------------.
|
||||||
|
| Create a new rule for LHS in to the GRAMMAR. |
|
||||||
|
`----------------------------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
grammar_rule_begin (symbol_t *lhs)
|
grammar_rule_begin (symbol_t *lhs, location_t location)
|
||||||
{
|
{
|
||||||
if (!start_flag)
|
if (!start_flag)
|
||||||
{
|
{
|
||||||
startsymbol = lhs;
|
startsymbol = lhs;
|
||||||
|
startsymbol_location = location;
|
||||||
start_flag = 1;
|
start_flag = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -230,8 +234,8 @@ grammar_rule_begin (symbol_t *lhs)
|
|||||||
++nrules;
|
++nrules;
|
||||||
++nritems;
|
++nritems;
|
||||||
|
|
||||||
previous_rule = grammar_end;
|
previous_rule_end = grammar_end;
|
||||||
grammar_symbol_append (lhs);
|
grammar_symbol_append (lhs, location);
|
||||||
current_rule = grammar_end;
|
current_rule = grammar_end;
|
||||||
|
|
||||||
/* Mark the rule's lhs as a nonterminal if not already so. */
|
/* Mark the rule's lhs as a nonterminal if not already so. */
|
||||||
@@ -279,21 +283,26 @@ grammar_current_rule_check (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* End the currently being grown rule. */
|
/*-------------------------------------.
|
||||||
|
| End the currently being grown rule. |
|
||||||
|
`-------------------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
grammar_rule_end (void)
|
grammar_rule_end (location_t location)
|
||||||
{
|
{
|
||||||
/* Put an empty link in the list to mark the end of this rule */
|
/* Put an empty link in the list to mark the end of this rule */
|
||||||
grammar_symbol_append (NULL);
|
grammar_symbol_append (NULL, grammar_end->location);
|
||||||
|
current_rule->location = location;
|
||||||
grammar_current_rule_check ();
|
grammar_current_rule_check ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* The previous action turns out the be a mid-rule action. Attach it
|
/*-------------------------------------------------------------------.
|
||||||
to the current rule, i.e., create a dummy symbol, attach it this
|
| The previous action turns out the be a mid-rule action. Attach it |
|
||||||
mid-rule action, and append this dummy nonterminal to the current
|
| to the current rule, i.e., create a dummy symbol, attach it this |
|
||||||
rule. */
|
| mid-rule action, and append this dummy nonterminal to the current |
|
||||||
|
| rule. |
|
||||||
|
`-------------------------------------------------------------------*/
|
||||||
|
|
||||||
void
|
void
|
||||||
grammar_midrule_action (void)
|
grammar_midrule_action (void)
|
||||||
@@ -302,35 +311,36 @@ grammar_midrule_action (void)
|
|||||||
give the new rule this number by inserting the new rule before
|
give the new rule this number by inserting the new rule before
|
||||||
it. */
|
it. */
|
||||||
|
|
||||||
/* Make a dummy nonterminal, a gensym. */
|
/* Make a DUMMY nonterminal, whose location is that of the midrule
|
||||||
symbol_t *sdummy = gensym ();
|
action. Create the MIDRULE. */
|
||||||
symbol_list *midrule_action = symbol_list_new (sdummy);
|
symbol_t *dummy = gensym ();
|
||||||
|
location_t dummy_location = current_rule->action_location;
|
||||||
|
symbol_list *midrule = symbol_list_new (dummy, dummy_location);
|
||||||
|
|
||||||
/* Make a new rule, whose body is empty, before the current one, so
|
/* Make a new rule, whose body is empty, before the current one, so
|
||||||
that the action just read can belong to it. */
|
that the action just read can belong to it. */
|
||||||
++nrules;
|
++nrules;
|
||||||
++nritems;
|
++nritems;
|
||||||
/* Attach its lineno to that of the host rule. */
|
/* Attach its location and actions to that of the DUMMY. */
|
||||||
midrule_action->line = current_rule->line;
|
midrule->location = dummy_location;
|
||||||
/* Move the action from the host rule to this one. */
|
midrule->action = current_rule->action;
|
||||||
midrule_action->action = current_rule->action;
|
midrule->action_location = dummy_location;
|
||||||
midrule_action->action_line = current_rule->action_line;
|
|
||||||
current_rule->action = NULL;
|
current_rule->action = NULL;
|
||||||
|
|
||||||
if (previous_rule)
|
if (previous_rule_end)
|
||||||
previous_rule->next = midrule_action;
|
previous_rule_end->next = midrule;
|
||||||
else
|
else
|
||||||
grammar = midrule_action;
|
grammar = midrule;
|
||||||
|
|
||||||
/* End of the rule. */
|
/* End the dummy's rule. */
|
||||||
previous_rule = symbol_list_new (NULL);
|
previous_rule_end = symbol_list_new (NULL, dummy_location);
|
||||||
previous_rule->next = current_rule;
|
previous_rule_end->next = current_rule;
|
||||||
|
|
||||||
midrule_action->next = previous_rule;
|
midrule->next = previous_rule_end;
|
||||||
|
|
||||||
/* Insert the dummy generated by that rule into this rule. */
|
/* Insert the dummy nonterminal replacing the midrule action into
|
||||||
++nritems;
|
the current rule. */
|
||||||
grammar_symbol_append (sdummy);
|
grammar_current_rule_symbol_append (dummy, dummy_location);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set the precedence symbol of the current rule to PRECSYM. */
|
/* Set the precedence symbol of the current rule to PRECSYM. */
|
||||||
@@ -347,12 +357,12 @@ grammar_current_rule_prec_set (symbol_t *precsym)
|
|||||||
action as a mid-rule action. */
|
action as a mid-rule action. */
|
||||||
|
|
||||||
void
|
void
|
||||||
grammar_current_rule_symbol_append (symbol_t *symbol)
|
grammar_current_rule_symbol_append (symbol_t *symbol, location_t location)
|
||||||
{
|
{
|
||||||
if (current_rule->action)
|
if (current_rule->action)
|
||||||
grammar_midrule_action ();
|
grammar_midrule_action ();
|
||||||
++nritems;
|
++nritems;
|
||||||
grammar_symbol_append (symbol);
|
grammar_symbol_append (symbol, location);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -360,12 +370,12 @@ grammar_current_rule_symbol_append (symbol_t *symbol)
|
|||||||
action as a mid-rule action. */
|
action as a mid-rule action. */
|
||||||
|
|
||||||
void
|
void
|
||||||
grammar_current_rule_action_append (const char *action, int action_line)
|
grammar_current_rule_action_append (const char *action, location_t location)
|
||||||
{
|
{
|
||||||
if (current_rule->action)
|
if (current_rule->action)
|
||||||
grammar_midrule_action ();
|
grammar_midrule_action ();
|
||||||
current_rule->action = action;
|
current_rule->action = action;
|
||||||
current_rule->action_line = action_line;
|
current_rule->action_location = location;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -395,10 +405,10 @@ packgram (void)
|
|||||||
rules[ruleno].number = ruleno;
|
rules[ruleno].number = ruleno;
|
||||||
rules[ruleno].lhs = p->sym;
|
rules[ruleno].lhs = p->sym;
|
||||||
rules[ruleno].rhs = ritem + itemno;
|
rules[ruleno].rhs = ritem + itemno;
|
||||||
rules[ruleno].line = p->line;
|
rules[ruleno].location = p->location;
|
||||||
rules[ruleno].useful = TRUE;
|
rules[ruleno].useful = TRUE;
|
||||||
rules[ruleno].action = p->action;
|
rules[ruleno].action = p->action;
|
||||||
rules[ruleno].action_line = p->action_line;
|
rules[ruleno].action_location = p->action_location;
|
||||||
|
|
||||||
p = p->next;
|
p = p->next;
|
||||||
while (p && p->sym)
|
while (p && p->sym)
|
||||||
@@ -500,11 +510,11 @@ reader (void)
|
|||||||
|
|
||||||
axiom: %start EOF. */
|
axiom: %start EOF. */
|
||||||
{
|
{
|
||||||
symbol_list *p = symbol_list_new (axiom);
|
symbol_list *p = symbol_list_new (axiom, empty_location);
|
||||||
p->line = grammar->line;
|
p->location = grammar->location;
|
||||||
p->next = symbol_list_new (startsymbol);
|
p->next = symbol_list_new (startsymbol, empty_location);
|
||||||
p->next->next = symbol_list_new (eoftoken);
|
p->next->next = symbol_list_new (eoftoken, empty_location);
|
||||||
p->next->next->next = symbol_list_new (NULL);
|
p->next->next->next = symbol_list_new (NULL, empty_location);
|
||||||
p->next->next->next->next = grammar;
|
p->next->next->next->next = grammar;
|
||||||
nrules += 1;
|
nrules += 1;
|
||||||
nritems += 3;
|
nritems += 3;
|
||||||
|
|||||||
17
src/reader.h
17
src/reader.h
@@ -27,11 +27,11 @@ typedef struct symbol_list
|
|||||||
{
|
{
|
||||||
struct symbol_list *next;
|
struct symbol_list *next;
|
||||||
symbol_t *sym;
|
symbol_t *sym;
|
||||||
int line;
|
location_t location;
|
||||||
|
|
||||||
/* The action is attached to the LHS of a rule. */
|
/* The action is attached to the LHS of a rule. */
|
||||||
const char *action;
|
const char *action;
|
||||||
int action_line;
|
location_t action_location;
|
||||||
|
|
||||||
symbol_t *ruleprec;
|
symbol_t *ruleprec;
|
||||||
} symbol_list;
|
} symbol_list;
|
||||||
@@ -66,17 +66,18 @@ char *get_type_name PARAMS ((int n, symbol_list *rule));
|
|||||||
extern int typed;
|
extern int typed;
|
||||||
|
|
||||||
/* From reader.c. */
|
/* From reader.c. */
|
||||||
void grammar_start_symbol_set PARAMS ((symbol_t *s));
|
void grammar_start_symbol_set PARAMS ((symbol_t *s, location_t l));
|
||||||
void prologue_augment PARAMS ((const char *prologue, location_t location));
|
void prologue_augment PARAMS ((const char *prologue, location_t location));
|
||||||
void epilogue_set PARAMS ((const char *epilogue, location_t location));
|
void epilogue_set PARAMS ((const char *epilogue, location_t location));
|
||||||
void grammar_symbol_append PARAMS ((symbol_t *s));
|
void grammar_symbol_append PARAMS ((symbol_t *s, location_t l));
|
||||||
void grammar_rule_begin PARAMS ((symbol_t *lhs));
|
void grammar_rule_begin PARAMS ((symbol_t *lhs, location_t l));
|
||||||
void grammar_rule_end PARAMS ((void));
|
void grammar_rule_end PARAMS ((location_t l));
|
||||||
void grammar_midrule_action PARAMS ((void));
|
void grammar_midrule_action PARAMS ((void));
|
||||||
void grammar_current_rule_prec_set PARAMS ((symbol_t *precsym));
|
void grammar_current_rule_prec_set PARAMS ((symbol_t *precsym));
|
||||||
void grammar_current_rule_symbol_append PARAMS ((symbol_t *symbol));
|
void grammar_current_rule_symbol_append PARAMS ((symbol_t *symbol,
|
||||||
|
location_t l));
|
||||||
void grammar_current_rule_action_append PARAMS ((const char *action,
|
void grammar_current_rule_action_append PARAMS ((const char *action,
|
||||||
int line));
|
location_t l));
|
||||||
extern symbol_list *current_rule;
|
extern symbol_list *current_rule;
|
||||||
void reader PARAMS ((void));
|
void reader PARAMS ((void));
|
||||||
|
|
||||||
|
|||||||
244
src/scan-gram.c
244
src/scan-gram.c
@@ -15,7 +15,7 @@
|
|||||||
#define yyrestart gram_restart
|
#define yyrestart gram_restart
|
||||||
#define yytext gram_text
|
#define yytext gram_text
|
||||||
|
|
||||||
#line 19 "scan-gram.c"
|
#line 19 "lex.yy.c"
|
||||||
/* A lexical scanner generated by flex */
|
/* A lexical scanner generated by flex */
|
||||||
|
|
||||||
/* Scanner skeleton version:
|
/* Scanner skeleton version:
|
||||||
@@ -686,16 +686,16 @@ int yy_flex_debug = 1;
|
|||||||
|
|
||||||
static yyconst short int yy_rule_linenum[92] =
|
static yyconst short int yy_rule_linenum[92] =
|
||||||
{ 0,
|
{ 0,
|
||||||
117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
|
121, 122, 123, 124, 125, 126, 127, 128, 129, 130,
|
||||||
127, 128, 129, 130, 131, 132, 133, 134, 135, 136,
|
131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
|
||||||
137, 138, 139, 140, 141, 142, 143, 145, 146, 147,
|
141, 142, 143, 144, 145, 146, 147, 149, 150, 151,
|
||||||
148, 150, 151, 152, 157, 160, 163, 166, 167, 170,
|
152, 154, 155, 156, 161, 164, 167, 170, 171, 174,
|
||||||
173, 176, 184, 190, 206, 207, 218, 230, 231, 232,
|
177, 180, 188, 194, 210, 211, 222, 234, 235, 236,
|
||||||
249, 258, 260, 280, 294, 296, 316, 328, 332, 333,
|
253, 262, 264, 284, 298, 300, 320, 332, 336, 337,
|
||||||
334, 335, 336, 337, 338, 339, 340, 355, 361, 362,
|
338, 339, 340, 341, 342, 343, 344, 359, 365, 366,
|
||||||
364, 382, 388, 389, 391, 409, 412, 415, 416, 427,
|
368, 386, 392, 393, 395, 413, 416, 419, 420, 431,
|
||||||
438, 440, 441, 443, 444, 447, 467, 474, 475, 476,
|
442, 444, 445, 447, 448, 451, 471, 478, 479, 480,
|
||||||
497
|
501
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
@@ -741,6 +741,13 @@ char *yytext;
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
|
|
||||||
/* Each time we match a string, move the end cursor to its end. */
|
/* Each time we match a string, move the end cursor to its end. */
|
||||||
|
#define YY_USER_INIT \
|
||||||
|
do { \
|
||||||
|
LOCATION_RESET (*yylloc); \
|
||||||
|
/* This is only to avoid GCC warnings. */ \
|
||||||
|
if (yycontrol) {;}; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define YY_USER_ACTION LOCATION_COLUMNS (*yylloc, yyleng)
|
#define YY_USER_ACTION LOCATION_COLUMNS (*yylloc, yyleng)
|
||||||
#define YY_LINES LOCATION_LINES (*yylloc, yyleng); lineno += yyleng;
|
#define YY_LINES LOCATION_LINES (*yylloc, yyleng); lineno += yyleng;
|
||||||
#define YY_STEP LOCATION_STEP (*yylloc)
|
#define YY_STEP LOCATION_STEP (*yylloc)
|
||||||
@@ -779,9 +786,6 @@ scanner_last_string_free (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* This is only to avoid GCC warnings. */
|
|
||||||
#define YY_USER_INIT if (yycontrol) {;};
|
|
||||||
|
|
||||||
|
|
||||||
static int braces_level = 0;
|
static int braces_level = 0;
|
||||||
static int percent_percent_count = 0;
|
static int percent_percent_count = 0;
|
||||||
@@ -801,7 +805,7 @@ static void handle_at PARAMS ((char *cp));
|
|||||||
#define SC_PROLOGUE 7
|
#define SC_PROLOGUE 7
|
||||||
#define SC_EPILOGUE 8
|
#define SC_EPILOGUE 8
|
||||||
|
|
||||||
#line 805 "scan-gram.c"
|
#line 809 "lex.yy.c"
|
||||||
|
|
||||||
/* Macros after this point can all be overridden by user definitions in
|
/* Macros after this point can all be overridden by user definitions in
|
||||||
* section 1.
|
* section 1.
|
||||||
@@ -963,14 +967,14 @@ YY_DECL
|
|||||||
register char *yy_cp, *yy_bp;
|
register char *yy_cp, *yy_bp;
|
||||||
register int yy_act;
|
register int yy_act;
|
||||||
|
|
||||||
#line 93 "scan-gram.l"
|
#line 97 "scan-gram.l"
|
||||||
|
|
||||||
|
|
||||||
/* At each yylex invocation, mark the current position as the
|
/* At each yylex invocation, mark the current position as the
|
||||||
start of the next token. */
|
start of the next token. */
|
||||||
#define TR_POS 0
|
#define TR_POS 0
|
||||||
#if TR_POS
|
#if TR_POS
|
||||||
fprintf (stderr, "FOO1: ");
|
fprintf (stderr, "FOO1: %p: ", yylloc);
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, "\n");
|
fprintf (stderr, "\n");
|
||||||
#endif
|
#endif
|
||||||
@@ -986,7 +990,7 @@ YY_DECL
|
|||||||
/*----------------------------.
|
/*----------------------------.
|
||||||
| Scanning Bison directives. |
|
| Scanning Bison directives. |
|
||||||
`----------------------------*/
|
`----------------------------*/
|
||||||
#line 990 "scan-gram.c"
|
#line 994 "lex.yy.c"
|
||||||
|
|
||||||
if ( yy_init )
|
if ( yy_init )
|
||||||
{
|
{
|
||||||
@@ -1088,172 +1092,172 @@ do_action: /* This label is used only to access EOF actions. */
|
|||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 117 "scan-gram.l"
|
#line 121 "scan-gram.l"
|
||||||
return PERCENT_NONASSOC;
|
return PERCENT_NONASSOC;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 2:
|
case 2:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 118 "scan-gram.l"
|
#line 122 "scan-gram.l"
|
||||||
return PERCENT_DEBUG;
|
return PERCENT_DEBUG;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 3:
|
case 3:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 119 "scan-gram.l"
|
#line 123 "scan-gram.l"
|
||||||
return PERCENT_DEFINE;
|
return PERCENT_DEFINE;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 4:
|
case 4:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 120 "scan-gram.l"
|
#line 124 "scan-gram.l"
|
||||||
return PERCENT_DEFINES;
|
return PERCENT_DEFINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 5:
|
case 5:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 121 "scan-gram.l"
|
#line 125 "scan-gram.l"
|
||||||
return PERCENT_ERROR_VERBOSE;
|
return PERCENT_ERROR_VERBOSE;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 6:
|
case 6:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 122 "scan-gram.l"
|
#line 126 "scan-gram.l"
|
||||||
return PERCENT_EXPECT;
|
return PERCENT_EXPECT;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 7:
|
case 7:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 123 "scan-gram.l"
|
#line 127 "scan-gram.l"
|
||||||
return PERCENT_FILE_PREFIX;
|
return PERCENT_FILE_PREFIX;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 8:
|
case 8:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 124 "scan-gram.l"
|
#line 128 "scan-gram.l"
|
||||||
return PERCENT_YACC;
|
return PERCENT_YACC;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 9:
|
case 9:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 125 "scan-gram.l"
|
#line 129 "scan-gram.l"
|
||||||
return PERCENT_LEFT;
|
return PERCENT_LEFT;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 10:
|
case 10:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 126 "scan-gram.l"
|
#line 130 "scan-gram.l"
|
||||||
return PERCENT_LOCATIONS;
|
return PERCENT_LOCATIONS;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 11:
|
case 11:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 127 "scan-gram.l"
|
#line 131 "scan-gram.l"
|
||||||
return PERCENT_NAME_PREFIX;
|
return PERCENT_NAME_PREFIX;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 12:
|
case 12:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 128 "scan-gram.l"
|
#line 132 "scan-gram.l"
|
||||||
return PERCENT_NO_LINES;
|
return PERCENT_NO_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 13:
|
case 13:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 129 "scan-gram.l"
|
#line 133 "scan-gram.l"
|
||||||
return PERCENT_NONASSOC;
|
return PERCENT_NONASSOC;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 14:
|
case 14:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 130 "scan-gram.l"
|
#line 134 "scan-gram.l"
|
||||||
return PERCENT_NTERM;
|
return PERCENT_NTERM;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 15:
|
case 15:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 131 "scan-gram.l"
|
#line 135 "scan-gram.l"
|
||||||
return PERCENT_OUTPUT;
|
return PERCENT_OUTPUT;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 16:
|
case 16:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 132 "scan-gram.l"
|
#line 136 "scan-gram.l"
|
||||||
return PERCENT_PREC;
|
return PERCENT_PREC;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 17:
|
case 17:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 133 "scan-gram.l"
|
#line 137 "scan-gram.l"
|
||||||
return PERCENT_PURE_PARSER;
|
return PERCENT_PURE_PARSER;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 18:
|
case 18:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 134 "scan-gram.l"
|
#line 138 "scan-gram.l"
|
||||||
return PERCENT_RIGHT;
|
return PERCENT_RIGHT;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 19:
|
case 19:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 135 "scan-gram.l"
|
#line 139 "scan-gram.l"
|
||||||
return PERCENT_SKELETON;
|
return PERCENT_SKELETON;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 20:
|
case 20:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 136 "scan-gram.l"
|
#line 140 "scan-gram.l"
|
||||||
return PERCENT_START;
|
return PERCENT_START;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 21:
|
case 21:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 137 "scan-gram.l"
|
#line 141 "scan-gram.l"
|
||||||
return PERCENT_TOKEN;
|
return PERCENT_TOKEN;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 22:
|
case 22:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 138 "scan-gram.l"
|
#line 142 "scan-gram.l"
|
||||||
return PERCENT_TOKEN;
|
return PERCENT_TOKEN;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 23:
|
case 23:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 139 "scan-gram.l"
|
#line 143 "scan-gram.l"
|
||||||
return PERCENT_TOKEN_TABLE;
|
return PERCENT_TOKEN_TABLE;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 24:
|
case 24:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 140 "scan-gram.l"
|
#line 144 "scan-gram.l"
|
||||||
return PERCENT_TYPE;
|
return PERCENT_TYPE;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 25:
|
case 25:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 141 "scan-gram.l"
|
#line 145 "scan-gram.l"
|
||||||
return PERCENT_UNION;
|
return PERCENT_UNION;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 26:
|
case 26:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 142 "scan-gram.l"
|
#line 146 "scan-gram.l"
|
||||||
return PERCENT_VERBOSE;
|
return PERCENT_VERBOSE;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 27:
|
case 27:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 143 "scan-gram.l"
|
#line 147 "scan-gram.l"
|
||||||
return PERCENT_YACC;
|
return PERCENT_YACC;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 28:
|
case 28:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 145 "scan-gram.l"
|
#line 149 "scan-gram.l"
|
||||||
return EQUAL;
|
return EQUAL;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 29:
|
case 29:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 146 "scan-gram.l"
|
#line 150 "scan-gram.l"
|
||||||
return COLON;
|
return COLON;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 30:
|
case 30:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 147 "scan-gram.l"
|
#line 151 "scan-gram.l"
|
||||||
return PIPE;
|
return PIPE;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 31:
|
case 31:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 148 "scan-gram.l"
|
#line 152 "scan-gram.l"
|
||||||
return SEMICOLON;
|
return SEMICOLON;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 32:
|
case 32:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 150 "scan-gram.l"
|
#line 154 "scan-gram.l"
|
||||||
YY_LINES; YY_STEP;
|
YY_LINES; YY_STEP;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 33:
|
case 33:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 151 "scan-gram.l"
|
#line 155 "scan-gram.l"
|
||||||
YY_STEP;
|
YY_STEP;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 34:
|
case 34:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 152 "scan-gram.l"
|
#line 156 "scan-gram.l"
|
||||||
{
|
{
|
||||||
yylval->symbol = getsym (yytext);
|
yylval->symbol = getsym (yytext);
|
||||||
return ID;
|
return ID;
|
||||||
@@ -1261,48 +1265,48 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 35:
|
case 35:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 157 "scan-gram.l"
|
#line 161 "scan-gram.l"
|
||||||
yylval->integer = strtol (yytext, 0, 10); return INT;
|
yylval->integer = strtol (yytext, 0, 10); return INT;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Characters. We don't check there is only one. */
|
/* Characters. We don't check there is only one. */
|
||||||
case 36:
|
case 36:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 160 "scan-gram.l"
|
#line 164 "scan-gram.l"
|
||||||
YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
|
YY_OBS_GROW; yy_push_state (SC_ESCAPED_CHARACTER);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Strings. */
|
/* Strings. */
|
||||||
case 37:
|
case 37:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 163 "scan-gram.l"
|
#line 167 "scan-gram.l"
|
||||||
YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
|
YY_OBS_GROW; yy_push_state (SC_ESCAPED_STRING);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Comments. */
|
/* Comments. */
|
||||||
case 38:
|
case 38:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 166 "scan-gram.l"
|
#line 170 "scan-gram.l"
|
||||||
yy_push_state (SC_COMMENT);
|
yy_push_state (SC_COMMENT);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 39:
|
case 39:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 167 "scan-gram.l"
|
#line 171 "scan-gram.l"
|
||||||
YY_STEP;
|
YY_STEP;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Prologue. */
|
/* Prologue. */
|
||||||
case 40:
|
case 40:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 170 "scan-gram.l"
|
#line 174 "scan-gram.l"
|
||||||
yy_push_state (SC_PROLOGUE);
|
yy_push_state (SC_PROLOGUE);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Code in between braces. */
|
/* Code in between braces. */
|
||||||
case 41:
|
case 41:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 173 "scan-gram.l"
|
#line 177 "scan-gram.l"
|
||||||
YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);
|
YY_OBS_GROW; ++braces_level; yy_push_state (SC_BRACED_CODE);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* A type. */
|
/* A type. */
|
||||||
case 42:
|
case 42:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 176 "scan-gram.l"
|
#line 180 "scan-gram.l"
|
||||||
{
|
{
|
||||||
obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
|
obstack_grow (&string_obstack, yytext + 1, yyleng - 2);
|
||||||
YY_OBS_FINISH;
|
YY_OBS_FINISH;
|
||||||
@@ -1312,7 +1316,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 43:
|
case 43:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 184 "scan-gram.l"
|
#line 188 "scan-gram.l"
|
||||||
{
|
{
|
||||||
if (++percent_percent_count == 2)
|
if (++percent_percent_count == 2)
|
||||||
yy_push_state (SC_EPILOGUE);
|
yy_push_state (SC_EPILOGUE);
|
||||||
@@ -1321,7 +1325,7 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 44:
|
case 44:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 190 "scan-gram.l"
|
#line 194 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": invalid character: `%c'\n", *yytext);
|
fprintf (stderr, ": invalid character: `%c'\n", *yytext);
|
||||||
@@ -1338,12 +1342,12 @@ YY_RULE_SETUP
|
|||||||
|
|
||||||
case 45:
|
case 45:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 206 "scan-gram.l"
|
#line 210 "scan-gram.l"
|
||||||
if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");
|
if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@<:@");
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 46:
|
case 46:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 207 "scan-gram.l"
|
#line 211 "scan-gram.l"
|
||||||
if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
|
if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
|
|
||||||
@@ -1354,7 +1358,7 @@ if (YY_START != SC_COMMENT) obstack_sgrow (&string_obstack, "@:>@");
|
|||||||
|
|
||||||
case 47:
|
case 47:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 218 "scan-gram.l"
|
#line 222 "scan-gram.l"
|
||||||
{ /* End of the comment. */
|
{ /* End of the comment. */
|
||||||
if (yy_top_state () == INITIAL)
|
if (yy_top_state () == INITIAL)
|
||||||
{
|
{
|
||||||
@@ -1369,21 +1373,21 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 48:
|
case 48:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 230 "scan-gram.l"
|
#line 234 "scan-gram.l"
|
||||||
if (yy_top_state () != INITIAL) YY_OBS_GROW;
|
if (yy_top_state () != INITIAL) YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 49:
|
case 49:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 231 "scan-gram.l"
|
#line 235 "scan-gram.l"
|
||||||
if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;
|
if (yy_top_state () != INITIAL) YY_OBS_GROW; YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 50:
|
case 50:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 232 "scan-gram.l"
|
#line 236 "scan-gram.l"
|
||||||
/* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;
|
/* Stray `*'. */if (yy_top_state () != INITIAL) YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_COMMENT):
|
case YY_STATE_EOF(SC_COMMENT):
|
||||||
#line 234 "scan-gram.l"
|
#line 238 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a comment\n");
|
fprintf (stderr, ": unexpected end of file in a comment\n");
|
||||||
@@ -1399,7 +1403,7 @@ case YY_STATE_EOF(SC_COMMENT):
|
|||||||
|
|
||||||
case 51:
|
case 51:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 249 "scan-gram.l"
|
#line 253 "scan-gram.l"
|
||||||
{
|
{
|
||||||
assert (yy_top_state () == INITIAL);
|
assert (yy_top_state () == INITIAL);
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
@@ -1411,16 +1415,16 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 52:
|
case 52:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 258 "scan-gram.l"
|
#line 262 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 53:
|
case 53:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 260 "scan-gram.l"
|
#line 264 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\n'); YY_LINES;
|
obstack_1grow (&string_obstack, '\n'); YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_ESCAPED_STRING):
|
case YY_STATE_EOF(SC_ESCAPED_STRING):
|
||||||
#line 262 "scan-gram.l"
|
#line 266 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a string\n");
|
fprintf (stderr, ": unexpected end of file in a string\n");
|
||||||
@@ -1440,7 +1444,7 @@ case YY_STATE_EOF(SC_ESCAPED_STRING):
|
|||||||
|
|
||||||
case 54:
|
case 54:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 280 "scan-gram.l"
|
#line 284 "scan-gram.l"
|
||||||
{
|
{
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
assert (yy_top_state () == INITIAL);
|
assert (yy_top_state () == INITIAL);
|
||||||
@@ -1457,16 +1461,16 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 55:
|
case 55:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 294 "scan-gram.l"
|
#line 298 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 56:
|
case 56:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 296 "scan-gram.l"
|
#line 300 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\n'); YY_LINES;
|
obstack_1grow (&string_obstack, '\n'); YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
|
case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
|
||||||
#line 298 "scan-gram.l"
|
#line 302 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a character\n");
|
fprintf (stderr, ": unexpected end of file in a character\n");
|
||||||
@@ -1485,7 +1489,7 @@ case YY_STATE_EOF(SC_ESCAPED_CHARACTER):
|
|||||||
|
|
||||||
case 57:
|
case 57:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 316 "scan-gram.l"
|
#line 320 "scan-gram.l"
|
||||||
{
|
{
|
||||||
long c = strtol (yytext + 1, 0, 8);
|
long c = strtol (yytext + 1, 0, 8);
|
||||||
if (c > 255)
|
if (c > 255)
|
||||||
@@ -1500,54 +1504,54 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 58:
|
case 58:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 328 "scan-gram.l"
|
#line 332 "scan-gram.l"
|
||||||
{
|
{
|
||||||
obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));
|
obstack_1grow (&string_obstack, strtol (yytext + 2, 0, 16));
|
||||||
}
|
}
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 59:
|
case 59:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 332 "scan-gram.l"
|
#line 336 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\a');
|
obstack_1grow (&string_obstack, '\a');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 60:
|
case 60:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 333 "scan-gram.l"
|
#line 337 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\b');
|
obstack_1grow (&string_obstack, '\b');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 61:
|
case 61:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 334 "scan-gram.l"
|
#line 338 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\f');
|
obstack_1grow (&string_obstack, '\f');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 62:
|
case 62:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 335 "scan-gram.l"
|
#line 339 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\n');
|
obstack_1grow (&string_obstack, '\n');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 63:
|
case 63:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 336 "scan-gram.l"
|
#line 340 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\r');
|
obstack_1grow (&string_obstack, '\r');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 64:
|
case 64:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 337 "scan-gram.l"
|
#line 341 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\t');
|
obstack_1grow (&string_obstack, '\t');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 65:
|
case 65:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 338 "scan-gram.l"
|
#line 342 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, '\v');
|
obstack_1grow (&string_obstack, '\v');
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 66:
|
case 66:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 339 "scan-gram.l"
|
#line 343 "scan-gram.l"
|
||||||
obstack_1grow (&string_obstack, yytext[1]);
|
obstack_1grow (&string_obstack, yytext[1]);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 67:
|
case 67:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 340 "scan-gram.l"
|
#line 344 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unrecognized escape: %s\n", yytext);
|
fprintf (stderr, ": unrecognized escape: %s\n", yytext);
|
||||||
@@ -1563,7 +1567,7 @@ YY_RULE_SETUP
|
|||||||
|
|
||||||
case 68:
|
case 68:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 355 "scan-gram.l"
|
#line 359 "scan-gram.l"
|
||||||
{
|
{
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
assert (yy_top_state () != INITIAL);
|
assert (yy_top_state () != INITIAL);
|
||||||
@@ -1572,21 +1576,21 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 69:
|
case 69:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 361 "scan-gram.l"
|
#line 365 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 70:
|
case 70:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 362 "scan-gram.l"
|
#line 366 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 71:
|
case 71:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 364 "scan-gram.l"
|
#line 368 "scan-gram.l"
|
||||||
YY_OBS_GROW; YY_LINES;
|
YY_OBS_GROW; YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_CHARACTER):
|
case YY_STATE_EOF(SC_CHARACTER):
|
||||||
#line 366 "scan-gram.l"
|
#line 370 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a character\n");
|
fprintf (stderr, ": unexpected end of file in a character\n");
|
||||||
@@ -1603,7 +1607,7 @@ case YY_STATE_EOF(SC_CHARACTER):
|
|||||||
|
|
||||||
case 72:
|
case 72:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 382 "scan-gram.l"
|
#line 386 "scan-gram.l"
|
||||||
{
|
{
|
||||||
assert (yy_top_state () != INITIAL);
|
assert (yy_top_state () != INITIAL);
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
@@ -1612,21 +1616,21 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 73:
|
case 73:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 388 "scan-gram.l"
|
#line 392 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 74:
|
case 74:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 389 "scan-gram.l"
|
#line 393 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 75:
|
case 75:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 391 "scan-gram.l"
|
#line 395 "scan-gram.l"
|
||||||
YY_OBS_GROW; YY_LINES;
|
YY_OBS_GROW; YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_STRING):
|
case YY_STATE_EOF(SC_STRING):
|
||||||
#line 393 "scan-gram.l"
|
#line 397 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a string\n");
|
fprintf (stderr, ": unexpected end of file in a string\n");
|
||||||
@@ -1643,24 +1647,24 @@ case YY_STATE_EOF(SC_STRING):
|
|||||||
/* Characters. We don't check there is only one. */
|
/* Characters. We don't check there is only one. */
|
||||||
case 76:
|
case 76:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 409 "scan-gram.l"
|
#line 413 "scan-gram.l"
|
||||||
YY_OBS_GROW; yy_push_state (SC_CHARACTER);
|
YY_OBS_GROW; yy_push_state (SC_CHARACTER);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Strings. */
|
/* Strings. */
|
||||||
case 77:
|
case 77:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 412 "scan-gram.l"
|
#line 416 "scan-gram.l"
|
||||||
YY_OBS_GROW; yy_push_state (SC_STRING);
|
YY_OBS_GROW; yy_push_state (SC_STRING);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* Comments. */
|
/* Comments. */
|
||||||
case 78:
|
case 78:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 415 "scan-gram.l"
|
#line 419 "scan-gram.l"
|
||||||
YY_OBS_GROW; yy_push_state (SC_COMMENT);
|
YY_OBS_GROW; yy_push_state (SC_COMMENT);
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 79:
|
case 79:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 416 "scan-gram.l"
|
#line 420 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
|
|
||||||
@@ -1672,7 +1676,7 @@ YY_OBS_GROW;
|
|||||||
|
|
||||||
case 80:
|
case 80:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 427 "scan-gram.l"
|
#line 431 "scan-gram.l"
|
||||||
{
|
{
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
if (--braces_level == 0)
|
if (--braces_level == 0)
|
||||||
@@ -1686,37 +1690,37 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 81:
|
case 81:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 438 "scan-gram.l"
|
#line 442 "scan-gram.l"
|
||||||
YY_OBS_GROW; braces_level++;
|
YY_OBS_GROW; braces_level++;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 82:
|
case 82:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 440 "scan-gram.l"
|
#line 444 "scan-gram.l"
|
||||||
{ handle_dollar (yytext); }
|
{ handle_dollar (yytext); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 83:
|
case 83:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 441 "scan-gram.l"
|
#line 445 "scan-gram.l"
|
||||||
{ handle_at (yytext); }
|
{ handle_at (yytext); }
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 84:
|
case 84:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 443 "scan-gram.l"
|
#line 447 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 85:
|
case 85:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 444 "scan-gram.l"
|
#line 448 "scan-gram.l"
|
||||||
YY_OBS_GROW; YY_LINES;
|
YY_OBS_GROW; YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
/* A lose $, or /, or etc. */
|
/* A lose $, or /, or etc. */
|
||||||
case 86:
|
case 86:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 447 "scan-gram.l"
|
#line 451 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_BRACED_CODE):
|
case YY_STATE_EOF(SC_BRACED_CODE):
|
||||||
#line 449 "scan-gram.l"
|
#line 453 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a braced code\n");
|
fprintf (stderr, ": unexpected end of file in a braced code\n");
|
||||||
@@ -1734,7 +1738,7 @@ case YY_STATE_EOF(SC_BRACED_CODE):
|
|||||||
|
|
||||||
case 87:
|
case 87:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 467 "scan-gram.l"
|
#line 471 "scan-gram.l"
|
||||||
{
|
{
|
||||||
yy_pop_state ();
|
yy_pop_state ();
|
||||||
YY_OBS_FINISH;
|
YY_OBS_FINISH;
|
||||||
@@ -1744,21 +1748,21 @@ YY_RULE_SETUP
|
|||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 88:
|
case 88:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 474 "scan-gram.l"
|
#line 478 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 89:
|
case 89:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 475 "scan-gram.l"
|
#line 479 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case 90:
|
case 90:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 476 "scan-gram.l"
|
#line 480 "scan-gram.l"
|
||||||
YY_OBS_GROW; YY_LINES;
|
YY_OBS_GROW; YY_LINES;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_PROLOGUE):
|
case YY_STATE_EOF(SC_PROLOGUE):
|
||||||
#line 478 "scan-gram.l"
|
#line 482 "scan-gram.l"
|
||||||
{
|
{
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, ": unexpected end of file in a prologue\n");
|
fprintf (stderr, ": unexpected end of file in a prologue\n");
|
||||||
@@ -1777,11 +1781,11 @@ case YY_STATE_EOF(SC_PROLOGUE):
|
|||||||
|
|
||||||
case 91:
|
case 91:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 497 "scan-gram.l"
|
#line 501 "scan-gram.l"
|
||||||
YY_OBS_GROW;
|
YY_OBS_GROW;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
case YY_STATE_EOF(SC_EPILOGUE):
|
case YY_STATE_EOF(SC_EPILOGUE):
|
||||||
#line 499 "scan-gram.l"
|
#line 503 "scan-gram.l"
|
||||||
{
|
{
|
||||||
yy_pop_state ();
|
yy_pop_state ();
|
||||||
YY_OBS_FINISH;
|
YY_OBS_FINISH;
|
||||||
@@ -1792,10 +1796,10 @@ case YY_STATE_EOF(SC_EPILOGUE):
|
|||||||
|
|
||||||
case 92:
|
case 92:
|
||||||
YY_RULE_SETUP
|
YY_RULE_SETUP
|
||||||
#line 508 "scan-gram.l"
|
#line 512 "scan-gram.l"
|
||||||
YY_FATAL_ERROR( "flex scanner jammed" );
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
#line 1799 "scan-gram.c"
|
#line 1803 "lex.yy.c"
|
||||||
case YY_STATE_EOF(INITIAL):
|
case YY_STATE_EOF(INITIAL):
|
||||||
yyterminate();
|
yyterminate();
|
||||||
|
|
||||||
@@ -2685,7 +2689,7 @@ int main()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#line 508 "scan-gram.l"
|
#line 512 "scan-gram.l"
|
||||||
|
|
||||||
|
|
||||||
/*------------------------------------------------------------------.
|
/*------------------------------------------------------------------.
|
||||||
|
|||||||
@@ -31,6 +31,13 @@
|
|||||||
#include "reader.h"
|
#include "reader.h"
|
||||||
|
|
||||||
/* Each time we match a string, move the end cursor to its end. */
|
/* Each time we match a string, move the end cursor to its end. */
|
||||||
|
#define YY_USER_INIT \
|
||||||
|
do { \
|
||||||
|
LOCATION_RESET (*yylloc); \
|
||||||
|
/* This is only to avoid GCC warnings. */ \
|
||||||
|
if (yycontrol) {;}; \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
#define YY_USER_ACTION LOCATION_COLUMNS (*yylloc, yyleng)
|
#define YY_USER_ACTION LOCATION_COLUMNS (*yylloc, yyleng)
|
||||||
#define YY_LINES LOCATION_LINES (*yylloc, yyleng); lineno += yyleng;
|
#define YY_LINES LOCATION_LINES (*yylloc, yyleng); lineno += yyleng;
|
||||||
#define YY_STEP LOCATION_STEP (*yylloc)
|
#define YY_STEP LOCATION_STEP (*yylloc)
|
||||||
@@ -69,9 +76,6 @@ scanner_last_string_free (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* This is only to avoid GCC warnings. */
|
|
||||||
#define YY_USER_INIT if (yycontrol) {;};
|
|
||||||
|
|
||||||
|
|
||||||
static int braces_level = 0;
|
static int braces_level = 0;
|
||||||
static int percent_percent_count = 0;
|
static int percent_percent_count = 0;
|
||||||
@@ -96,7 +100,7 @@ blanks [ \t\f]+
|
|||||||
start of the next token. */
|
start of the next token. */
|
||||||
#define TR_POS 0
|
#define TR_POS 0
|
||||||
#if TR_POS
|
#if TR_POS
|
||||||
fprintf (stderr, "FOO1: ");
|
fprintf (stderr, "FOO1: %p: ", yylloc);
|
||||||
LOCATION_PRINT (stderr, *yylloc);
|
LOCATION_PRINT (stderr, *yylloc);
|
||||||
fprintf (stderr, "\n");
|
fprintf (stderr, "\n");
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ symbol_t *undeftoken = NULL;
|
|||||||
symbol_t *eoftoken = NULL;
|
symbol_t *eoftoken = NULL;
|
||||||
symbol_t *axiom = NULL;
|
symbol_t *axiom = NULL;
|
||||||
symbol_t *startsymbol = NULL;
|
symbol_t *startsymbol = NULL;
|
||||||
|
location_t startsymbol_location;
|
||||||
|
|
||||||
/*---------------------------------.
|
/*---------------------------------.
|
||||||
| Create a new symbol, named TAG. |
|
| Create a new symbol, named TAG. |
|
||||||
|
|||||||
@@ -22,6 +22,8 @@
|
|||||||
#ifndef SYMTAB_H_
|
#ifndef SYMTAB_H_
|
||||||
# define SYMTAB_H_
|
# define SYMTAB_H_
|
||||||
|
|
||||||
|
# include "location.h"
|
||||||
|
|
||||||
/*----------.
|
/*----------.
|
||||||
| Symbols. |
|
| Symbols. |
|
||||||
`----------*/
|
`----------*/
|
||||||
@@ -112,6 +114,7 @@ extern symbol_t *undeftoken;
|
|||||||
extern symbol_t *eoftoken;
|
extern symbol_t *eoftoken;
|
||||||
extern symbol_t *axiom;
|
extern symbol_t *axiom;
|
||||||
extern symbol_t *startsymbol;
|
extern symbol_t *startsymbol;
|
||||||
|
extern location_t startsymbol_location;
|
||||||
|
|
||||||
|
|
||||||
/*---------------.
|
/*---------------.
|
||||||
|
|||||||
@@ -149,10 +149,10 @@ AT_CHECK([cat input.output], [],
|
|||||||
[[Grammar
|
[[Grammar
|
||||||
|
|
||||||
Number, Line, Rule
|
Number, Line, Rule
|
||||||
0 2 $axiom -> expr $
|
0 5 $axiom -> expr $
|
||||||
1 2 @1 -> /* empty */
|
1 5 @1 -> /* empty */
|
||||||
2 2 expr -> 'a' @1 'b'
|
2 2 expr -> 'a' @1 'b'
|
||||||
3 15 @2 -> /* empty */
|
3 18 @2 -> /* empty */
|
||||||
4 15 expr -> @2 'c'
|
4 15 expr -> @2 'c'
|
||||||
|
|
||||||
|
|
||||||
@@ -380,7 +380,7 @@ AT_CHECK([sed -n 's/ *$//;/^$/!p' input.output], 0,
|
|||||||
1 6 CONST_DEC_PART -> CONST_DEC_LIST
|
1 6 CONST_DEC_PART -> CONST_DEC_LIST
|
||||||
2 10 CONST_DEC_LIST -> CONST_DEC
|
2 10 CONST_DEC_LIST -> CONST_DEC
|
||||||
3 12 CONST_DEC_LIST -> CONST_DEC_LIST CONST_DEC
|
3 12 CONST_DEC_LIST -> CONST_DEC_LIST CONST_DEC
|
||||||
4 15 @1 -> /* empty */
|
4 16 @1 -> /* empty */
|
||||||
5 15 CONST_DEC -> @1 undef_id_tok '=' const_id_tok ';'
|
5 15 CONST_DEC -> @1 undef_id_tok '=' const_id_tok ';'
|
||||||
Terminals, with rules where they appear
|
Terminals, with rules where they appear
|
||||||
$ (0) 0
|
$ (0) 0
|
||||||
|
|||||||
Reference in New Issue
Block a user