Check that `9foo.y' produces correct cpp guards.
* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
guards.
Reported by Wwp.
+2001-11-01 Akim Demaille <akim@epita.fr>
+
+ * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
+ Check that `9foo.y' produces correct cpp guards.
+ * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
+ guards.
+ Reported by Wwp.
+
2001-11-01 Akim Demaille <akim@epita.fr>
* tests/regression.at (Invalid input: 2): New.
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 1996-10-10 17:54 MET DST\n"
"Last-Translator: Ulrich Drepper <drepper@gnu.ai.mit.edu>\n"
"Language-Team: German <de@li.org>\n"
msgid "%s derives"
msgstr "%s leitet ab"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr ""
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr ""
msgid "too many gotos (max %d)"
msgstr ""
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "»/« wird hier nicht erwartet und wird deshalb ignoriert"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "unbeendeter Kommentar"
-#: src/lex.c:139
+#: src/lex.c:138
#, fuzzy
msgid "unexpected end of file"
msgstr "Datei endet unerwartet"
# Oder soll man den Begriff "Escapezeichen" verwenden?
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "nicht maskiertes Zeilenendezeichen in Konstante"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "oktaler Zahlenwert außerhalb des Bereichs 0...255: »\\%o«"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadezimaler Zahlenwert größer als 255: »\\x%x«"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "unbekanntes Fluchtzeichen: »\\« gefolgt von »%s«"
msgid "unterminated type name"
msgstr "unerwarteter Typname"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "für Literal mit mehreren Zeichen bitte \"...\" verwenden"
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.25\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 1998-09-21 10:19+0200\n"
"Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
"Language-Team: Spanish <es@li.org>\n"
msgid "%s derives"
msgstr "%s deriva"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr ""
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr ""
msgstr ""
# to ignore no es ignorar. Pon otra cosa, please. sv
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "se ha encontrado `/' cuando no se esperaba, no se tendrán en cuenta"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "comentario sin terminar"
-#: src/lex.c:139
+#: src/lex.c:138
#, fuzzy
msgid "unexpected end of file"
msgstr "Fin de fichero inesperado"
# ¿unescaped?
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "salto de línea en constante sin secuencia de escape"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "valor octal fuera del rango 0...255: `\\%o'"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valor hexadecimal mayor que 255: `\\x%x'"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "secuencia de escape desconocida: `\\' seguido de `%s'"
msgstr "nombre de tipo sin terminar"
# ¿multicarácter o multicaracteres? sv
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "use \"...\" para terminales literales multicarácter"
msgid ""
msgstr ""
"Project-Id-Version: bison 1.29f\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 2001-10-19 17:53+02:00\n"
"Last-Translator: Toomas Soome <tsoome@ut.ee>\n"
"Language-Team: Estonian <et@li.org>\n"
msgid "%s derives"
msgstr "%s derives"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr "faili `%s' ei saa avada"
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr "faili ei õnnestu sulgeda"
"See on vaba tarkvara; kopeerimistingimused leiate lähtetekstidest. Garantii\n"
"PUUDUB; ka müügiks või mingil eesmärgil kasutamiseks.\n"
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr "`%s' ei ole enam toetatud"
msgid "too many gotos (max %d)"
msgstr "liiga palju gotosid (maks %d)"
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "leidsin ja ignoreerin ootamatu `/'"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "lõpetamata kommentaar"
-#: src/lex.c:139
+#: src/lex.c:138
msgid "unexpected end of file"
msgstr "ootamatu faililõpp"
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "paojadata reavahetus konstandis"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "kaheksandväärtus väljaspool piire 0...255: `\\%o'"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "kuueteistkümnendväärtus suurem, kui above 255: `\\x%x'"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "tundmatu paojada: `\\' järgneb `%s'"
msgid "unterminated type name"
msgstr "lõpetamata tüübinimi"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "kasuta mitmesümboliliste literaalidega \"...\" konstruktsiooni"
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.29f\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 2001-10-19 15:00-0500\n"
"Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
"Language-Team: French <traduc@traduc.org>\n"
msgid "%s derives"
msgstr "%s dérive"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr "ne peut ouvrir le fichier `%s'"
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr "ne peut fermer le fichier"
"reproduction. AUCUNE garantie n'est donnée; tant pour des raisons\n"
"COMMERCIALES que pour RÉPONDRE À UN BESOIN PARTICULIER.\n"
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr "`%s' n'est plus supporté"
msgid "too many gotos (max %d)"
msgstr "nombre trop grand de \"goto\" (Max %d)"
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "`/' inattendu et ignoré"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "le commentaire ne se termine pas"
-#: src/lex.c:139
+#: src/lex.c:138
msgid "unexpected end of file"
msgstr "Fin de fichier inattendue"
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "retour de chariot sans échappement dans une constante"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "valeur octale à l'extérieur de l'intervalle 0...255: \\%o"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "valeur hexadécimale supérieure à 255: \\x%x"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "séquence d'échappement inconnue: `\\' suivie de `%s'"
msgid "unterminated type name"
msgstr "le nom de type ne se termine pas"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "utilisez \"...\" pour les terminaux litéraux de plusieurs caractères"
msgid ""
msgstr ""
"Project-Id-Version: GNU bison 1.28\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 1999-09-28 21:10+0900\n"
"Last-Translator: Daisuke Yamashita <yamad@mb.infoweb.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\n"
msgid "%s derives"
msgstr "%s ¤Ï°Ê²¼¤«¤éÇÉÀ¸"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr ""
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr ""
msgid "too many gotos (max %d)"
msgstr "%s ¤Î¿ô¤¬Â¿¤¹¤®¤Þ¤¹ (ºÇÂç %d)"
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "ͽ´ü¤·¤Ê¤¤ `/' ¤¬¸«¤Ä¤«¤ê¡¢Ìµ»ë¤µ¤ì¤Þ¤·¤¿"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "ÊĤ¸¤Æ¤¤¤Ê¤¤¥³¥á¥ó¥È¤Ç¤¹"
-#: src/lex.c:139
+#: src/lex.c:138
#, fuzzy
msgid "unexpected end of file"
msgstr "ͽ´ü¤·¤Ê¤¤¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤Ç¤¹"
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "Äê¿ô¤ÎÃæ¤Ë¥¨¥¹¥±¡¼¥×¤µ¤ì¤Æ¤¤¤Ê¤¤²þ¹Ô¤¬¤¢¤ê¤Þ¤¹"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "8 ¿Ê¿ô¤ÎÃͤ¬ 0...255 ¤ÎÈϰϳ°¤Ç¤¹: `\\%o'"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "16 ¿Ê¿ô¤ÎÃͤ¬ 255 ¤ò±Û¤¨¤Æ¤¤¤Þ¤¹: `\\x%x'"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "̤ÃΤΥ¨¥¹¥±¡¼¥×¥·¡¼¥±¥ó¥¹: `\\' ¤Î¸å¤Ë `%s'"
msgid "unterminated type name"
msgstr "ÊĤ¸¤é¤ì¤Æ¤¤¤Ê¤¤¥¿¥¤¥×̾¤¬¤¢¤ê¤Þ¤¹"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "Ê£¿ôʸ»ú¤Î¥ê¥Æ¥é¥ë¥È¡¼¥¯¥ó¤Ë¤Ï \"...\" ¤ò»È¤¤¤Þ¤·¤ç¤¦"
msgid ""
msgstr ""
"Project-Id-Version: bison 1.25\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 1996-08-27 15:34 MET DST\n"
"Last-Translator: Erick Branderhorst <branderh@debian.org>\n"
"Language-Team: Dutch <nl@li.org>\n"
msgid "%s derives"
msgstr "%s afgeleiden"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr ""
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr ""
msgid "too many gotos (max %d)"
msgstr ""
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "onverwachte `/' gevonden en genegeerd"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "ongetermineerd commentaar"
-#: src/lex.c:139
+#: src/lex.c:138
#, fuzzy
msgid "unexpected end of file"
msgstr "Onverwacht bestandseinde"
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "niet geescapete nieuwe regel in constante"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "octale waarde buiten domein 0...255: `\\%o'"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "hexadecimale waarde boven 255: `\\x%x'"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "onbekende escape reeks: `\\' gevolgd door `%s'"
msgid "unterminated type name"
msgstr "niet getermineerd type naam"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "gebruik \"...\" voor meerdere karakters literal tekens"
msgid ""
msgstr ""
"Project-Id-Version: bison 1.29\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 2001-09-09 13:49+04:00\n"
"Last-Translator: Dmitry S. Sivachenko <dima@Chg.RU>\n"
"Language-Team: Russian <ru@li.org>\n"
msgid "%s derives"
msgstr "%s ×Ù×ÏÄÉÔ"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÏÔËÒÙÔØ ÆÁÊÌ `%s'"
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr "ÎÅ ÕÄÁÅÔÓÑ ÚÁËÒÙÔØ ÆÁÊÌ"
"ðòéçïäîïóôé\n"
"äìñ ïðòåäåìåîîïê ãåìé.\n"
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr "`%s' ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ"
msgid "too many gotos (max %d)"
msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ goto (ÍÁËÓÉÍÁÌØÎÏ %d)"
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "×ÓÔÒÅÞÅÎ É ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ ÎÅÏÖÉÄÁÎÎÙÊ ÓÉÍ×ÏÌ `/'"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÙÊ ËÏÍÍÅÎÔÁÒÉÊ"
-#: src/lex.c:139
+#: src/lex.c:138
msgid "unexpected end of file"
msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅÃ ÆÁÊÌÁ"
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "ÎÅÜËÒÁÎÉÒÏ×ÁÎÎÙÊ ÐÅÒÅ×ÏÄ ÓÔÒÏËÉ × ËÏÎÓÔÁÎÔÅ"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "×ÏÓØÍÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÚÁ ÐÒÅÄÅÌÁÍÉ ÄÉÁÐÁÚÏÎÁ 0...255: `\\%o'"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "ÛÅÓÔÎÁÄÃÁÔÅÒÉÞÎÁÑ ×ÅÌÉÞÉÎÁ ÐÒÅ×ÙÛÁÅÔ 255: `\\x%x'"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "ÎÅÉÚ×ÅÓÔÎÁÑ escape-ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ: `%s' ÐÏÓÌÅ `\\'"
msgid "unterminated type name"
msgstr "ÎÅÚÁËÏÎÞÅÎÎÏÅ ÉÍÑ ÔÉÐÁ"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "ÉÓÐÏÌØÚÕÊÔÅ \"...\" ÄÌÑ ÍÎÏÇÏÓÉÍ×ÏÌØÎÙÈ ÌÉÔÅÒÁÌØÎÙÈ ÌÅËÓÅÍ"
msgid ""
msgstr ""
"Project-Id-Version: bison 1.28c\n"
-"POT-Creation-Date: 2001-10-26 14:37+0200\n"
+"POT-Creation-Date: 2001-11-01 19:27+0100\n"
"PO-Revision-Date: 2001-09-10 10:54GMT\n"
"Last-Translator: Altug Bayram <altugbayram_2000@yahoo.com>\n"
"Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
msgid "%s derives"
msgstr "%s türetildi"
-#: src/files.c:133
+#: src/files.c:143
#, c-format
msgid "cannot open file `%s'"
msgstr "`%s' dosyasý açýlamadý"
-#: src/files.c:152
+#: src/files.c:162
msgid "cannot close file"
msgstr "dosya kapatýlamýyor"
"Hiçbir garantisi yoktur; hatta SATILABÝLÝRLÝÐÝ veya HERHANGÝ BÝR AMACA\n"
"UYGUNLUÐU için bile garanti verilmez.\n"
-#: src/getargs.c:214 src/lex.c:650
+#: src/getargs.c:214 src/lex.c:651
#, c-format
msgid "`%s' is no longer supported"
msgstr "`%s' artýk desteklenmiyor"
msgid "too many gotos (max %d)"
msgstr "gotos çok fazla (en fazla %d)"
-#: src/lex.c:78
+#: src/lex.c:77
msgid "unexpected `/' found and ignored"
msgstr "beklenmeyen `/' bulundu ve yoksayýldý"
-#: src/lex.c:107 src/reader.c:269
+#: src/lex.c:106 src/reader.c:269
msgid "unterminated comment"
msgstr "sonlandýrýlmamýþ açýklama"
-#: src/lex.c:139
+#: src/lex.c:138
msgid "unexpected end of file"
msgstr "beklenmeyen dosya sonu"
-#: src/lex.c:168
+#: src/lex.c:167
msgid "unescaped newline in constant"
msgstr "sabit içinde kaçýþsýz yeni satýr"
-#: src/lex.c:210
+#: src/lex.c:209
#, c-format
msgid "octal value outside range 0...255: `\\%o'"
msgstr "sekizli deðer 0...255'in dýþýnda: `\\%o'"
-#: src/lex.c:235
+#: src/lex.c:234
#, c-format
msgid "hexadecimal value above 255: `\\x%x'"
msgstr "onaltýlýk deðer 255'in üstünde: `\\x%x'"
-#: src/lex.c:247
+#: src/lex.c:246
#, c-format
msgid "unknown escape sequence: `\\' followed by `%s'"
msgstr "bilinmeyen kaçýþ sýrasý: `\\' `%s' tarafýndan takip edildi"
msgid "unterminated type name"
msgstr "sonlandýrýlmamýþ tip ismi"
-#: src/lex.c:437
+#: src/lex.c:438
msgid "use \"...\" for multi-character literal tokens"
msgstr "çok-karakterli yazýn andaçlarý için \"...\" kullan"
}
-/*---------------------------------------------------------------.
-| Computes the macro name used to avoid double inclusion in the |
-| header of the parser and store it in header_macro_name. |
-`---------------------------------------------------------------*/
+/*-----------------------------------------------------------------.
+| Computes the macro name used to avoid double inclusion in the |
+| header of the parser and store it in header_macro_name. Be sure |
+| to produce valid CPP names (don't start with digit, remain |
+| alphanumerical + underscore). |
+`-----------------------------------------------------------------*/
static char *
compute_header_macro (void)
{
+ const char *prefix = "BISON_";
char *macro_name, *cp;
if (spec_defines_file)
- macro_name = xstrdup (spec_defines_file);
+ {
+ macro_name = XMALLOC (char,
+ strlen (prefix) +
+ strlen (spec_defines_file) + 1);
+ cp = stpcpy (macro_name, prefix);
+ cp = stpcpy (cp, spec_defines_file);
+ }
else
{
macro_name = XMALLOC (char,
+ strlen (prefix) +
strlen (base_name) +
strlen (header_extension) + 1);
-
- stpcpy (macro_name, base_name);
- strcat (macro_name, header_extension);
+ cp = stpcpy (macro_name, prefix);
+ cp = stpcpy (cp, base_name);
+ cp = stpcpy (cp, header_extension);
}
for (cp = macro_name; *cp; ++cp)
AT_CLEANUP
+
## --------------------- ##
## Invalid CPP headers. ##
## --------------------- ##
-AT_SETUP([Invalid CPP headers])
+# AT_TEST_CPP_GUARD_H([INPUT-FILE-BASE)
+# -------------------------------------
+m4_define([AT_TEST_CPP_GUARD_H],
+[AT_SETUP([Invalid CPP guards: $1])
-mkdir input
+# possibly create and nuke inner directories.
+m4_bmatch([$1], [[/]],
+[dirname=`AS_DIRNAME([$1])`
+AS_MKDIR_P([$dirname])
+AT_CLEANUP_FILES([$dirname])])
-AT_DATA([input/input.y],
+AT_DATA([$1.y],
[%%
dummy:
])
-AT_CHECK([bison --defines input/input.y])
+AT_CHECK([bison --defines=$1.h $1.y])
-AT_CHECK([sed 1q input/input.tab.h], 0,
-[[#ifndef INPUT_INPUT_TAB_H
-]])
+# CPP should be happy with it.
+AT_CHECK([$CC -E $1.h], 0, [ignore])
+
+AT_CLEANUP($1.y)
+])
-AT_CLEANUP(input)
+AT_TEST_CPP_GUARD_H([input/input])
+AT_TEST_CPP_GUARD_H([9foo])