gettext: pulled latest translations; recompiled against current sources
diff --git a/po/ca.po b/po/ca.po
index 439d1b2..93703ca 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,52 +7,52 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-12-04 17:36+0100\n"
 "Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
 "Language: ca\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Ha fallat l'assignació d'un búfer per imprimir la cadena"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Ha fallat l'assignació d'un buffer per a la directiva de línia"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Ha fallat l'assignació d'un búfer per la definició m4"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Ha fallat l'assignació d'un búfer per la indefinició m4"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "L'estat #%d és no-acceptar -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "Context posterior perillós"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " números de línia associats a la regla:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " fi de transicions: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -61,11 +61,11 @@
 "\n"
 " transicions de bloqueig: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "la comprovació de consistència ha fallat en epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -77,24 +77,24 @@
 "Bolcat AFD:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "no s'ha pogut crear un estat únic de final-de-búfer"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "estat # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "No s'ha pogut escriure yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "caràcter de transició incorrecte detectat en sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -106,29 +106,29 @@
 "Classes d'equivalència:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "l'estat # %d accepta: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "l'estat # %d accepta: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "No s'ha pogut escriure yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "No s'ha pogut escriure yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "No s'ha pogut escriure ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -138,287 +138,293 @@
 "\n"
 "Classes de metaequivalència:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "No s'ha pogut escriure yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "No s'ha pogut escriure yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "No s'ha pogut escriure yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "No s'ha pogut escriure yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "No s'ha pogut escriure yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "No s'ha pogut escriure ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "No s'ha pogut escriure ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "No s'ha pogut escriure eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "No s'ha pogut escriure yynultrans_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "no es pot satisfer la regla"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "S'ha especificat l'opció -s però es pot aplicar la regla per defecte"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "No es pot fer servir -+ amb l'opció -l"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "No es pot fer servir -f o -F amb l'opció -l"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "No es pot fer servir --reentrant o --bison-bridge amb l'opció -l"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF i -Cm no tenen sentit juntes"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF i -I són incompatibles"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF són incompatibles amb el mode de compatibilitat amb lex"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf i -CF són mútuament excloents"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "No es pot fer servir -+ amb l'opció -CF"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array és incompatible amb l'opció -+"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Les opcions -+ i --reentrant són mútuament excloents"
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "No es suporta «bison bridge» per a l'analitzador de C++"
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "no s'ha pogut crear %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "no s'ha pogut crear la capçalera de les taules"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "No es pot obrir el fitxer d'esquema %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "Ha fallat l'assignació de la definició de la macro"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "error d'entrada al llegir el fitxer d'esquema %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "s'ha produït un error en tancar el fitxer d'esquema %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "s'ha produït un error en crear el fitxer de capçalera %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "s'ha produït un error en escriure el fitxer d'eixida %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "s'ha produït un error en tancar el fitxer d'eixida %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "s'ha produït un error en suprimir el fitxer d'eixida %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "No hi ha retrocés.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d estats de retrocés (no-acceptació).\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Les taules comprimides sempre impliquen un retard.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "s'ha produït un error en escriure el fitxer de còpia de seguretat %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "s'ha produït un error en tancar el fitxer de còpia de seguretat %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "estadístiques d'ús de %s versió %s:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  opcions de l'analitzador: -"
 
 # NFA == Autómata finit no-determinista. jm
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d estats AFN\n"
 
 # DFA == Autómata finit deterministic. jm
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d estats AFD (%d paraules)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d regles\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Sense retrocés\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d estats de retrocés (no-acceptació)\n"
 
 # Es refereix a còpia de seguretat, o retrocés? jm
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Sempre es realitza còpia de seguretat de les taules comprimides\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Utilitzats patrons de principi-de-línia\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d condicions d'activació\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d estats èpsilon, %d estats doble èpsilon\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  sense classes de caràcter\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  les classes de caràcters %d/%d necessitaren %d/%d paraules de magatzement, %d reutilitzades\n"
+msgstr ""
+"  les classes de caràcters %d/%d necessitaren %d/%d paraules de magatzement, "
+"%d reutilitzades\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d parells estat/estat-següent creats\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d transicions úniques/duplicades\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d entrades de la taula\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d entrades base-def creades\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (pic %d) entrades nxt-chk creades\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (pic %d) entrades de plantilla nxt-chk creades\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d entrades de la tabla buides\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototips creats\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d plantilles creades, %d usos\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d classes d'equivalència creades\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d classes de meta-equivalència creades\n"
@@ -427,105 +433,115 @@
 # segons un company de treballa que estudia a la UOC, allí
 # les "hashtables" s'anomenen "taules de DISPERSIÓ". En aquest context
 # no sé que dir-te. ear
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d desades) col·lisions d'ubicació («hash»), %d AFD iguals\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  es necessiten %d conjunts de relocalització\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  es necessiten %d entrades totals de la taula\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Error intern. Els flexopts estan malformats.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Proveu «%s --help» per a obtindre més informació.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "opció de -C desconeguda «%c»"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
 # Hmm. No se si açò està be. jm
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "s'ha produït un error fatal d'anàlisi sintàctic"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "no s'ha pogut crear un fitxer d'informació del retrocés %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "-l l'opció de compatibilitat amb AT&T lex implica una penalització del rendiment molt gran\n"
+msgstr ""
+"-l l'opció de compatibilitat amb AT&T lex implica una penalització del "
+"rendiment molt gran\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " i pot ser l'origen real d'altres penalitzacions del rendiment notificades\n"
+msgstr ""
+" i pot ser l'origen real d'altres penalitzacions del rendiment notificades\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "l'%%opció yylineno implica una penalització del rendiment NOMÉS en regles que poden fer coincidir caràcters de nova línia\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"l'%%opció yylineno implica una penalització del rendiment NOMÉS en regles "
+"que poden fer coincidir caràcters de nova línia\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interactiu) implica una xicoteta penalització del rendiment\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() implica una xicoteta penalització del rendiment\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT implica una penalització del rendiment molt gran\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Les regles de context posterior variable implica una penalització del rendiment molt gran\n"
+msgstr ""
+"Les regles de context posterior variable implica una penalització del "
+"rendiment molt gran\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT no es pot fer servir amb -f o -F"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "l'%opció yylineno no es pot fer servir amb REJECT"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "Les regles de context posterior variable no es poden utilitzar amb -f o -F"
+msgstr ""
+"Les regles de context posterior variable no es poden utilitzar amb -f o -F"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "l'%opció yyclass només té sentit per a analitzadors de C++"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Forma d'ús: %s [OPCIONS] [FITXER]...\n"
@@ -534,8 +550,8 @@
 # molt això de text emparellat.
 # Encara que coincident tampoc no m'acaba de convéncer. ear
 # I que faig amb "reentrant" i "parser"? jm
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -558,13 +574,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -586,8 +605,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -601,41 +618,52 @@
 "Genera programes que realitzen emparellaments de patrons en text.\n"
 "\n"
 "Compressió de taules:\n"
-"  -Ca, --align      renuncia a taules més grans a canvi de una millor alineació\n"
+"  -Ca, --align      renuncia a taules més grans a canvi de una millor "
+"alineació\n"
 "  -Ce, --ecs        construeix classes d'equivalència\n"
-"  -Cf               no comprimeixes les taules; utilitza la representació -f\n"
-"  -CF               no comprimeixes les taules; utilitza la representació -F\n"
+"  -Cf               no comprimeixes les taules; utilitza la representació -"
+"f\n"
+"  -CF               no comprimeixes les taules; utilitza la representació -"
+"F\n"
 "  -Cm, --meta-ecs   construeix classes de metaequivalència\n"
-"  -Cr, --read       utilitza read() en lloc de stdio com a entrada de l'analitzador\n"
+"  -Cr, --read       utilitza read() en lloc de stdio com a entrada de "
+"l'analitzador\n"
 "  -f, --full        genera un analitzador ràpid i gran. El mateix que -Cfr\n"
-"  -F, --fast        usa una representació alternativa de taules. El mateix que -CFr\n"
+"  -F, --fast        usa una representació alternativa de taules. El mateix "
+"que -CFr\n"
 "  -Cem              compressió per defecte (el mateix que --ecs --meta-ecs)\n"
 "\n"
 "Depuració:\n"
 "  -d, --debug             activa el mode de depuració en l'analitzador\n"
 "  -b, --backup            escriu l'informació dels retrocessos en %s\n"
 "  -p, --perf-report       escriu l'informe de rendiment en stderr\n"
-"  -s, --nodefault         suprimeix la regla per defecte de visualitzar (ECHO) el text no emparellat\n"
+"  -s, --nodefault         suprimeix la regla per defecte de visualitzar "
+"(ECHO) el text no emparellat\n"
 "  -T, --trace             %s hauria d'executar-se en mode traça\n"
 "  -w, --nowarn            no generes avisos\n"
-"  -v, --verbose           escriu un resum de les estadístiques de l'analitzador en stdout\n"
+"  -v, --verbose           escriu un resum de les estadístiques de "
+"l'analitzador en stdout\n"
 "\n"
 "Fitxers:\n"
 "  -o, --outfile=FITXER    especifica el fitxer d'eixida\n"
 "  -S, --skel=FITXER       especifica el fitxer d'esquema\n"
 "  -t, --stdout            escriu l'analitzador en stdout en lloc de %s\n"
 "      --yyclass=NOM       nom de la classe C++\n"
-"      --header-file=FITXER   crea un fitxer de capçaleres de C a més de l'analitzador\n"
+"      --header-file=FITXER   crea un fitxer de capçaleres de C a més de "
+"l'analitzador\n"
 "      --tables-file=[FITXER] escriu les taules en FITXER\n"
 "\n"
 "Comportament de l'analitzador:\n"
 "  -7, --7bit              genera un analitzador de 7 bits\n"
 "  -8, --8bit              genera un analitzador de 8 bits\n"
-"  -B, --batch             genera un analitzador no interactiu (el contrari a -I)\n"
-"  -i, --case-insensitive  Ignora les diferències de majúscules i minúscules en els patrons\n"
+"  -B, --batch             genera un analitzador no interactiu (el contrari a "
+"-I)\n"
+"  -i, --case-insensitive  Ignora les diferències de majúscules i minúscules "
+"en els patrons\n"
 "  -l, --lex-compat        compatibilitat màxima amb el lex original\n"
 "  -X, --posix-compat      compatibilitat màxima amb el lex POSIX\n"
-"  -I, --interactive       genera un analitzador interactiu (el contrari a -B)\n"
+"  -I, --interactive       genera un analitzador interactiu (el contrari a -"
+"B)\n"
 "      --yylineno          traça el compte de línies en yylineno\n"
 "\n"
 "Codi generat:\n"
@@ -659,51 +687,52 @@
 "  -h, --help              mostra aquest missatge d'ajuda\n"
 "  -V, --version           informa de la versió de %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "Ha fallat l'assignació de «sko_stack»"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "el nom «%s» és ridículament llarg"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "ha fallat l'assignació de memòria en allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "caràcter incorrecte «%s» detectat en check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "l'analitzador requereix l'opció -8 per a fer servir el caràcter %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "errada de la memòria dinàmica en copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "ha fallat l'assignació de memòria en allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: error intern fatal, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "ha fallat l'intent d'augmentar la mida de la matriu"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "línia incorrecta en el fitxer d'esquema"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "ha fallat l'assignació de memòria en yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -714,230 +743,247 @@
 "\n"
 "********** s'està començant el bolcat de l'afn amb l'estat inicial %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "estat # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** final del bolcat\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "màquina buida en dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regla de context posterior variable en la línia %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "tipus d'estat incorrecte en mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "les regles d'entrada són massa complicades (>= %d estats AFN)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "s'han trobat massa transicions en mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "massa regles (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "s'ha produït un error desconegut en processar la secció 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "condició de començament incorrecta"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "regla no reconeguda"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "s'ha utilitzat el context posterior dos vegades"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "valors d'iteració incorrectes"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "el valor d'iteració ha de ser positiu"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les majúscules i minúscules"
+msgstr ""
+"el rang de caràcters [%c-%c] és ambigu en un analitzador insensible a les "
+"majúscules i minúscules"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "rang negatiu en classe de caràcter"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
-msgstr "[:^lower:] és ambigu en un analitzador insensible a les majúscules i minúscules"
+msgstr ""
+"[:^lower:] és ambigu en un analitzador insensible a les majúscules i "
+"minúscules"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
-msgstr "[:^upper:] és ambigu en un analitzador insensible a les majúscules i minúscules"
+msgstr ""
+"[:^upper:] és ambigu en un analitzador insensible a les majúscules i "
+"minúscules"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "La línia d'entrada és massa llarga\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "directiva «%top» malformada"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "directiva «%» no reconeguda"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "El nom de la definició és massa llarg\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "«|» no emparellat"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "El valor de la definició de {%s} és massa llarg\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "definició del nom incompleta"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "La línia d'opcions és massa llarga\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "%%opció no reconeguda: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "classe de caràcter incorrecta"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "definició no definida {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "<condició d'activació> incorrecta: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "manca una cometa"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "expressió de la classe de caràcters incorrecta: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "caràcter incorrecte dins de {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "manca una }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "s'ha trobat un EOF dins d'una acció"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "s'ha trobat un EOF dins d'un patró"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "caràcter incorrecte: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "no es pot obrir %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Forma d'ús: %s [OPCIONS]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "l'opció «%s» no accepta arguments\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "l'opció «%s» requereix un argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "l'opció «%s» és ambígua\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Opció no reconeguda «%s»\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Error desconegut=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "ha fallat l'assignació de memòria per a la taula de símbols"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "el nom ha sigut definit dos vegades"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "la condició d'activació %s ha sigut declarada dos vegades"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "EOF prematur"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Marcador de fi\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Quelcom estrany* - terminal: %d val: %d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "errada de la memòria dinàmica en copy_string()"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "Ha fallat la prova de consistència en symfollowset"
 
@@ -969,8 +1015,10 @@
 #~ msgid "-C flag must be given separately"
 #~ msgstr "l'opció -C s'ha de donar per separat"
 
-#~ msgid "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
-#~ msgstr "%s [--bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oeixida -Pprefix -Sesquema]\n"
+#~ msgid ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
+#~ msgstr ""
+#~ "%s [--bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oeixida -Pprefix -Sesquema]\n"
 
 #~ msgid "\t[--help --version] [file ...]\n"
 #~ msgstr "\t[--help --version] [fitxer ...]\n"
@@ -1006,10 +1054,13 @@
 # molt això de text emparellat.
 # Encara que coincident tampoc no m'acaba de convéncer. ear
 #~ msgid "\t-s  suppress default rule to ECHO unmatched text\n"
-#~ msgstr "\t-s  suprimeix la regla per defecte de visualitzar (ECHO) el text no emparellat\n"
+#~ msgstr ""
+#~ "\t-s  suprimeix la regla per defecte de visualitzar (ECHO) el text no "
+#~ "emparellat\n"
 
 #~ msgid "\t-t  write generated scanner on stdout instead of %s\n"
-#~ msgstr "\t-t  escriu l'analitzador generat en l'eixida estàndard en lloc de %s\n"
+#~ msgstr ""
+#~ "\t-t  escriu l'analitzador generat en l'eixida estàndard en lloc de %s\n"
 
 #~ msgid "\t-v  write summary of scanner statistics to f\n"
 #~ msgstr "\t-v  escriu un resum de les estadístiques en f\n"
@@ -1048,7 +1099,8 @@
 #~ msgstr "\t-?  produeix aquest missatge d'ajuda\n"
 
 #~ msgid "\t-C  specify degree of table compression (default is -Cem):\n"
-#~ msgstr "\t-C  especifica el grau de compressió de la taula (per defecte -Cem):\n"
+#~ msgstr ""
+#~ "\t-C  especifica el grau de compressió de la taula (per defecte -Cem):\n"
 
 #~ msgid "\t\t-Ca  trade off larger tables for better memory alignment\n"
 #~ msgstr ""
@@ -1059,16 +1111,21 @@
 #~ msgstr "\t\t-Ce  construeix classes d'equivalència\n"
 
 #~ msgid "\t\t-Cf  do not compress scanner tables; use -f representation\n"
-#~ msgstr "\t\t-Cf  no comprimeix les taules de l'analitzador; utilitza la representació -f\n"
+#~ msgstr ""
+#~ "\t\t-Cf  no comprimeix les taules de l'analitzador; utilitza la "
+#~ "representació -f\n"
 
 #~ msgid "\t\t-CF  do not compress scanner tables; use -F representation\n"
-#~ msgstr "\t\t-CF  no comprimeix les taules de l'analitzador; utilitza la representació -F\n"
+#~ msgstr ""
+#~ "\t\t-CF  no comprimeix les taules de l'analitzador; utilitza la "
+#~ "representació -F\n"
 
 #~ msgid "\t\t-Cm  construct meta-equivalence classes\n"
 #~ msgstr "\t\t-Cm  construeix classes de metaequivalència\n"
 
 #~ msgid "\t\t-Cr  use read() instead of stdio for scanner input\n"
-#~ msgstr "\t\t-Cr  utilitza read() en lloc de stdio com a entrada de l'analitzador\n"
+#~ msgstr ""
+#~ "\t\t-Cr  utilitza read() en lloc de stdio com a entrada de l'analitzador\n"
 
 #~ msgid "\t-o  specify output filename\n"
 #~ msgstr "\t-o  especifica el fitxer d'eixida\n"
diff --git a/po/da.po b/po/da.po
index 248d83c..2f1bbbe 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,52 +8,52 @@
 msgstr ""
 "Project-Id-Version: flex-2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2015-04-26 09:12+0200\n"
 "Last-Translator: Keld Simonsen <keld@keldix.com>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
 "Language: da\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Tildeling af buffer til udskrivningsstreng mislykkedes"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Tildeling af buffer til linjedirektiv mislykkedes"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Tildeling af buffer til m4 def mislykkedes"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Tildeling af buffer til m4 undef mislykkedes"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Tilstand %d er ikke-accepterende -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "farlig efterfølgende kontekst"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " linjenummer for associeret regel:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " ud-overgange: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -62,11 +62,11 @@
 "\n"
 " stopovergange: filslut "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "konsistenskontrollen mislykkedes i epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -78,26 +78,26 @@
 "DFA-udskrift:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "kunne ikke oprette en unik buffersluttilstand"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "tilstand %d:\n"
 
 # Dette er ju helt sjukt. Har buggrapporteret dette at det bør
 # erstatas med %s
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Kunne ikke skrive yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "forkert overgangstegn fundet i sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -109,29 +109,29 @@
 "Ækvivalensklasser:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "tilstand %d accepterer: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "tilstand %d accepterer: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Kunne ikke skrive yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Kunne ikke skrive yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Kunne ikke skrive esctbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -141,394 +141,405 @@
 "\n"
 "Meta-ækvivalensklasser:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Kunne ikke skrive yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "kunne ikke oprette yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Kunne ikke oprette yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Kunne ikke skrive yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Kunne ikke skrive yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Kunne ikke skrive ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Kunne ikke skrive ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Kunne ikke skrive eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Kunne ikke skrive yynultrans_tbl"
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "reglen kan ikke matches"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "flaget -s angivet, men standardreglen kan følges"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "-+ kan ikke bruges sammen med flaget -l"
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "-f eller -F kan ikke bruges sammen med -l"
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Kan ikke bruge --reentrant eller --bison-bridge sammen med flaget -l"
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF og -Cm kan ikke bruges sammen"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF og -I kan ikke bruges sammen"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF kan ikke bruges i lex-kompatibilitetstilstand"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf og -CF er gensidigt udelukkende"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "-+ kan ikke bruges sammen med flaget -CF"
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "-+ kan ikke bruges sammen med %array"
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Flagene -+ og --reentrant er gensidigt udelukkende."
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bisonbro understøttes ikke for C++-skanneren."
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "kunne ikke oprette %s"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "kunne ikke skrive tabellhoved"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "kan ikke åbne skabelonfilen %s"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "tildeling af makro-definition mislykkedes"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "fejl ved læsning af skabelonsfilen %s"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "fejl ved lukning af skabelonfilen %s"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "fejl ved oprettelsen af headerfilen %s"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "fejl ved skrivning af udfilen %s"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "fejl ved lukning af udfilen %s"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "fejl ved sletning af udfilen %s"
 
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Ingen sikkerhedskopiering.\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d sikkerhedskopierer (ikke-accepterende) tilstande.\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Komprimerete tabeller backer alltid tillbaka.\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "fejl ved skrivning af sikkerhedskopifilen %s"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "fejl ved lukning af sikerhedskopifilen %s"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "Statistik over brugaf %s version %s:\n"
 
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  fortolkningsflag: -"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA-tilstand\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA-tilstand (%d ord)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d regler\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Ingen sikkerhedskopiering\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d sikkerhedskopierer (ikke-accepterende) tilstande.\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Komprimerede tabeller bakker altid tilbake\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Begyndelse-af-linje-mønster brugt\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d startbetingelse\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d epsilontilstande, %d dobbelte epsilontilstande\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  ingen tegnklasser\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr "  %d/%d tegnklasser behøvede %d/%d ord for gemning, %d genbrugte\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d par med tilstand/næste-tilstand oprettede\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d unikke/duplikerede overgange\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d tabelposter\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d base/standard-poster oprettede\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (max %d) næste/test-poster oprettede\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (max %d) skablon-næste/test-poster oprettede\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d tomme tabelposter\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototyper oprettede\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d skabloner oprettede, %d formål\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d ækvivalensklasser oprettet\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d meta-ækvivalensklasser oprettede\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d gemte) hash-kollisioner, %d DFA'er er ens\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d opsætninger med omallokeringer krævedes\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d totale tabelposter kræves\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Intern fejl. flexopts er fejlbehæftede.\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prøv '%s --help' for mere information.\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "ukendt flag til -C '%c'"
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "uoprettelig fejl ved analysen"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "kunne ikke oprette sikkerhedskopi af info-fil %s"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "flaget -l for opførsel som AT&T's lex medfører et væsentligt præstationstab\n"
+msgstr ""
+"flaget -l for opførsel som AT&T's lex medfører et væsentligt præstationstab\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " og kan være den egentlige årsag til andre rapporter om dette\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno medfører et præstationstab KUN på regler der kan matche nylinje-tegn\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno medfører et præstationstab KUN på regler der kan matche "
+"nylinje-tegn\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interaktiv) medfører et mindre præstationstab\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() medfører et mindre præstationstab\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT medfører et væsentligt præstationstab\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Regler for variabel efterfølgende kontekst medfører et væsentlig præstationstab\n"
+msgstr ""
+"Regler for variabel efterfølgende kontekst medfører et væsentlig "
+"præstationstab\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT kan ikke bruges sammen med -f eller -F"
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno kan ikke bruges sammen med REJECT"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr ""
 "regler for variabel efterfølgende kontekst kan ikke bruges\n"
 "sammen med -f eller -F"
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass er kun meningsfyldt for C++-fortolkere"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Brug: %s [FLAG] [FIL]...\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -551,13 +562,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -579,8 +593,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -594,7 +606,8 @@
 "Genererer programmer som udfører mønstergenkendelse på tekst.\n"
 "\n"
 "Tabel-kompression: (normalt -Cem)\n"
-"  -Ca, --align      brug bedre hukommelses-tilpasning i stedet for mindre tabeller\n"
+"  -Ca, --align      brug bedre hukommelses-tilpasning i stedet for mindre "
+"tabeller\n"
 "  -Ce, --ecs        konstruér ækvivalensklasser\n"
 "  -Cf               komprimér ikke tabeller; brug -f repræsentation\n"
 "  -CF               komprimér ikke tabeller; brug -F repræsentation\n"
@@ -608,7 +621,8 @@
 "  -d, --debug             aktivér fejlsøgnings-tilstand i skanneren\n"
 "  -b, --backup            skriv sikkerhedskopi-information til %s\n"
 "  -p, --perf-report       skriv ydelses-rapport på stdfejl\n"
-"  -s, --nodefault         undertryk normal regel om at udskrive tekst der ikke passede\n"
+"  -s, --nodefault         undertryk normal regel om at udskrive tekst der "
+"ikke passede\n"
 "  -T, --trace             %s bør køre i sporings-tilstand\n"
 "  -w, --nowarn            generér ikke advarsler\n"
 "  -v, --verbose           skriv sammendrag af skanner-statistik til stdud\n"
@@ -625,7 +639,8 @@
 "  -7, --7bit              generér 7-bit-skanner\n"
 "  -8, --8bit              generér 8-bit-skanner\n"
 "  -B, --batch             generér batch-skanner (modsat -I)\n"
-"  -i, --case-insensitive  ignorér forskel på små og store bogstaver i mønstre\n"
+"  -i, --case-insensitive  ignorér forskel på små og store bogstaver i "
+"mønstre\n"
 "  -l, --lex-compat        maksimal kompatibilitet med oprindelig lex\n"
 "  -X, --posix-compat      maksimal kompatibilitet med POSIX lex\n"
 "  -I, --interactive       generér interaktiv skanner (modsat -B)\n"
@@ -652,51 +667,52 @@
 "  -h, --help              udskriv denne hjælpebesked\n"
 "  -V, --version           udskriv %s version\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "tildeling af sko_stack mislykkedes"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "navnet '%s' er latterligt langt"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "hukommelsestildelingen mislykkedes i allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "forkert tegn '%s' fundet i check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "skanneren kræver flaget -8 for at kunne bruge tegnet %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamisk hukommelsesfejl i copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "hukommelsestildelingen mislykkedes i allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: uoprettelig intern fejl, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "forsøg på at øge arraystørrelse mislykkedes"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "forkert linje i skeletfilen"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "hukommelsestildelingen mislykkedes i yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -707,226 +723,237 @@
 "\n"
 "********** begynder udskrift af nfa med starttilstand %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "tilstand %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** slut på udskrift\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "tom maskine i dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regel for variabel efterfølgende kontekst på linje %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "forkert tilstandstype i mark_beginning_as_normal()"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "inddatareglerne er for komplicerede (>= %d NFA-tilstand)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "fandt for mange overgange i mkxtion()"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "for mange regler (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "ukendt fejl ved tolkning af sektion 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "forkert liste af startbetingelser"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "ukendt regel"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "efterfølgende kontekst brugt to gange"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "fejlagtige iterationsværdier"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "iterationsværdi skal være positiv"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr "tegnintervallet [%c-%c] er flertydigt i en versalufølsom skanner"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "negativt interval i tegnklasse"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] er flertydigt i en versalufølsom skanner"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] er flertydigt i en versalufølsom skanner"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "For lang inddatalinje\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "fejlagtigt '%top'-direktiv"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "ukendt '%'-direktiv"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "For langt definitionsnavn\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Ensomt '{'"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Definitionsværdi for (%s) for langt\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "ufuldstændig navnedefinition"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "For lang valgmulighedslinje\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "ukendt %%option: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "forkert tegnklasse"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "udefinieret definition {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "forkert <startbetingelse>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "citationstegn savnes"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "forkert udtryk for tegnklasse: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "forkert tegn imellem {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "} savnes"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "filslutning mødt inden i en handling"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "filslutning mødt inden i et mønster"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "forkert tegn: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "kan ikke åbne %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Brug: %s [FLAG]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "flaget '%s' tager ikke noget argument\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "flaget '%s' kræver et argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "flaget '%s' er flertydig\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Ukendt flag: '%s'\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Ukendt fejl=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "hukommelsestildeling for symboltabel mislykkedes"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "navnet defineret to gange"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "startbetingelse %s deklareret to gange"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "for tidlig filslut"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Slutmarkering\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Noget mærkeligt* - tegn: %d værdi: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "dynamisk hukommelsesfejl i copy_string()"
diff --git a/po/de.po b/po/de.po
index 7658898..89f1909 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,52 +7,52 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.36\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-08-03 13:42+0200\n"
 "Last-Translator: Michael Piefel <piefel@informatik.hu-berlin.de>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
 "Language: de\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Anlegen des Puffers zur Ausgabe der Zeichenkette fehlgeschlagen"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Anlegen des Puffers für Zeilen-Direktive fehlgeschlagen"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Anlegen des Puffers für m4 def fehlgeschlagen"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Anlegen des Puffers für m4 undef fehlgeschlagen"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Zustand #%d ist nicht-akzeptierend –\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "gefährlicher folgender Kontext"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " verbundene Regelzeilennummern"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " Aus-Übergänge: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -61,11 +61,11 @@
 "\n"
 " Hemm-Übergänge: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "Konsistenzprüfung fehlgeschlagen in epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -77,24 +77,24 @@
 "DFA-Ausgabe:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "konnte keinen einzigartigen Ende-des-Puffers-Zustand erzeugen"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "Zustand # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Konnte yynxt_tbl[][] nicht schreiben"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "ungültiges Übergangszeichen in sympartition() entdeckt"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -106,29 +106,29 @@
 "Äquivalenz-Klassen:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "Zustand # %d akzeptiert: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "Zustand # %d akzeptiert: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Konnte yyacclist_tbl nicht schreiben"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Konnte yyacc_tbl nicht schreiben"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Konnte ecstbl nicht schreiben"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -138,392 +138,408 @@
 "\n"
 "Meta-Äquivalenz-Klassen:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Konnte yymeta_tbl nicht schreiben"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Konnte yybase_tbl nicht schreiben"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Konnte yydef_tbl nicht schreiben"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Konnte yynxt_tbl nicht schreiben"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Konnte yychk_tbl nicht schreiben"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Konnte ftbl nicht schreiben"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Konnte ssltbl nicht schreiben"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Konnte eoltbl nicht schreiben"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Konnte yynultrans_tbl nicht schreiben"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "Regel kann nicht passen"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "„-s“-Option gegeben, aber Vorgabe-Regel kann nicht passen"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Kann nicht „-+“ zusammen mit „-l“-Option verwenden"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Kann nicht „-f“ oder „-F“ zusammen mit „-l“-Option verwenden"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
-msgstr "Kann nicht „--reentrant“ oder „--bison-bridge“ mit „-l“-Option verwenden"
+msgstr ""
+"Kann nicht „--reentrant“ oder „--bison-bridge“ mit „-l“-Option verwenden"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "„-Cf“/„-CF“ und „-Cm“ sind zusammen nicht sinnvoll"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "„-Cf“/„-CF“ und „-I“ sind inkompatibel"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "„-Cf“/„-CF“ sind inkompatibel mit lex-Kompatibilitätsmodus"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "„-Cf“ und „-CF“ schließen sich gegenseitig aus"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Kann nicht „-+“ zusammen mit „-CF“-Option verwenden"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "„%array“ inkompatibel mit „-+“-Option"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Optionen „-+“ und „--reentrant“ schließen sich gegenseitig aus."
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "Brücke zu Bison für den C++-Scanner nicht unterstützt."
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "konnte %s nicht erzeugen"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "konnte Tabellenköpfe nicht schreiben"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "kann Skelett-Datei %s nicht öffnen"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "Anlegen der Makrodefinition fehlgeschlagen"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "Eingabefehler beim Lesen der Skelett-Datei %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "Fehler beim Schließen der Skelett-Datei %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "Fehler beim Erstellen der Header-Datei %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "Fehler beim Schreiben der Ausgabe-Datei %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "Fehler beim Schließen der Ausgabe-Datei %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "Fehler beim Löschen der Ausgabe-Datei %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Kein Backing-up.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d Zustände mit Backing-up (nicht akzeptierend).\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Komprimierte Tabellen benutzen immer Backing-up.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "Fehler beim Schreiben der Backup-Datei %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "Fehler beim Schließen der Backup-Datei %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s Version %s Benutzungsstatistiken:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  Scanner-Optionen: -"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA-Zustände\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA-Zustände (%d Wörter)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d Regeln\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Kein Backing-up.\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d Zustände mit Backing-up (nicht akzeptierend).\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Komprimierte Tabellen benutzen immer Backing-up.\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Zeilenanfang-Muster benutzt\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d Startbedingungen\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d Epsilon-Zustände, %d Doppel-Epsilon-Zustände\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  keine Zeichenklassen\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d Zeichenklassen brauchten %d/%d Speicherwörter, %d wiederbenutzt\n"
+msgstr ""
+"  %d/%d Zeichenklassen brauchten %d/%d Speicherwörter, %d wiederbenutzt\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d Zustand/Nächster-Zustand-Paare erzeugt\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d einzigartige/doppelte Übergänge\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d Tabelleneinträge\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d Einträge „base-def“ erzeugt\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (max. %d) Einträge „nxt-chk“ erzeugt\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (max. %d) Einträge „template nxt-chk“ erzeugt\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d leere Tabelleneinträge\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d Protos erzeugt\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d Schablonen erzeugt, %d Benutzungen\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d Äquivalenz-Klassen erzeugt\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d Meta-Äquivalenz-Klassen erzeugt\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d gespeichert) Hash-Kollisionen, %d DFAs gleich\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d Sätze von Neuallozierungen benötigt\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d Tabelleneinträge insgesamt benötigt\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Interner Fehler. flexopts sind missgestaltet.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Versuchen Sie es mit „%s --help“ für mehr Informationen.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "unbekannte „-C“-Option „%c“"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "fataler Parse-Fehler"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "konnte Datei %s mit Informationen zum Backing-up nicht erzeugen"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "-l AT&T-lex-Kompatibilitätsmodus führt zu großen Geschwindigkeitseinbußen\n"
+msgstr ""
+"-l AT&T-lex-Kompatibilitätsmodus führt zu großen Geschwindigkeitseinbußen\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " und ist möglicherweise die wirkliche Quelle anderer gemeldeter Einbußen\n"
+msgstr ""
+" und ist möglicherweise die wirkliche Quelle anderer gemeldeter Einbußen\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno führt zu Geschwindigkeitseinbußen NUR für Regeln, die auf einen Zeilenvorschub passen können\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno führt zu Geschwindigkeitseinbußen NUR für Regeln, die auf "
+"einen Zeilenvorschub passen können\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interaktiv) führt zu kleineren Geschwindigkeitseinbußen\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() führt zu kleineren Geschwindigkeitseinbußen\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT führt zu großen Geschwindigkeitseinbußen\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Regeln mit variablem folgenden Kontext führen zu großen Geschwindigkeitseinbußen\n"
+msgstr ""
+"Regeln mit variablem folgenden Kontext führen zu großen "
+"Geschwindigkeitseinbußen\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT kann nicht mit „-f“ oder „-F“ zusammen verwendet werden"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno kann nicht mit REJECT zusammen verwendet werden"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "Regeln mit variablem folgenden Kontext können nicht mit „-f“ oder „-F“ verwendet werden"
+msgstr ""
+"Regeln mit variablem folgenden Kontext können nicht mit „-f“ oder „-F“ "
+"verwendet werden"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass ist nur bei C++-Scannern sinnvoll"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Aufruf: %s [OPTIONEN...] [DATEI...]\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -546,13 +562,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -574,8 +593,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -589,31 +606,36 @@
 "Generiert Programme, die Mustererkennung in Texten durchführen.\n"
 "\n"
 "Tabellen-Komprimierung:\n"
-"  -Ca, --align      erzeuge größere Tabellen, aber bessere Speicherausrichtung\n"
+"  -Ca, --align      erzeuge größere Tabellen, aber bessere "
+"Speicherausrichtung\n"
 "  -Ce, --ecs        konstruiere Äquivalenz-Klassen\n"
 "  -Cf               komprimiere Tabellen nicht; benutze „-f“-Repräsentation\n"
 "  -CF               komprimiere Tabellen nicht; benutze „-F“-Repräsentation\n"
 "  -Cm, --meta-ecs   konstruiere Meta-Äquivalenz-Klassen\n"
 "  -Cr, --read       benutze read() anstelle von stdio für Scannereingabe\n"
 "  -f, --full        generiere schnellen, großen Scanner. Genau wie -Cfr\n"
-"  -F, --fast        benutze alternative Tabellenrepräsentation. Genau wie -CFr\n"
+"  -F, --fast        benutze alternative Tabellenrepräsentation. Genau wie -"
+"CFr\n"
 "  -Cem              Voreinstellung (genau wie --ecs --meta-ecs)\n"
 "\n"
 "Fehlersuche:\n"
 "  -d, --debug             Fehlersuch-(Debug-)Modus im Scanner aktivieren\n"
 "  -b, --backup            schreibe Backing-up-Information in %s\n"
 "  -p, --perf-report       schreibe Performanzbericht auf stderr\n"
-"  -s, --nodefault         unterdücke Standardregel ECHO für nicht passenden Text\n"
+"  -s, --nodefault         unterdücke Standardregel ECHO für nicht passenden "
+"Text\n"
 "  -T, --trace             %s sollte im Trace-Modus laufen\n"
 "  -w, --nowarn            generiere keine Warnungen\n"
-"  -v, --verbose           schreibe Zusammenfassung der Scannerstatistiken auf stdout\n"
+"  -v, --verbose           schreibe Zusammenfassung der Scannerstatistiken "
+"auf stdout\n"
 "\n"
 "Dateien:\n"
 "  -o, --outfile=DATEI     Ausgabe-Dateiname\n"
 "  -S, --skel=DATEI        Skelettdatei\n"
 "  -t, --stdout            gib Scanner auf stdout anstelle von %s aus\n"
 "      --yyclass=NAME      Name der C++-Klasse\n"
-"      --header-file=DATEI    erstelle eine C-Headerdatei zusätzlich zum Scanner\n"
+"      --header-file=DATEI    erstelle eine C-Headerdatei zusätzlich zum "
+"Scanner\n"
 "      --tables-file[=DATEI]  schreibe Tabellen in DATEI\n"
 "\n"
 "Scannerverhalten:\n"
@@ -648,51 +670,52 @@
 "  -h, --help              produziere diese Hilfenachricht\n"
 "  -V, --version           melde %s-Version\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "Anlegen des sko_stack fehlgeschlagen"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "name „%s“ ist lächerlich lang"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "Speicheranforderung in allocate_array() fehlgeschlagen"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "ungültiges Zeichen „%s“ in check_char() entdeckt"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "Scanner erfordert Option „-8“, um das Zeichen %s benutzen zu können"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "Fehler beim dynamischen Speicher in copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "Speicheranforderung in allocate_array() fehlgeschlagen"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: fataler interner Fehler, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "Versuch, die Feldgröße zu erhöhen, fehlgeschlagen"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "ungültige Zeile in Skelettdatei"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "Speicheranforderung in yy_flex_xmalloc() fehlgeschlagen"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -703,230 +726,247 @@
 "\n"
 "********** beginne Ausgabe von NFA mit Startzustand  %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "Zustand # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** end der Ausgabe\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "leere Maschine in dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regel mit veränderlichem folgenden Kontext in Zeile %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "ungültiger Zustandstyp in mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "Eingaberegeln sind zu kompliziert (>= %d NFA-Zustände)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "zu viele Übergänge in mkxtion() gefunden"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "zu viele Regeln (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "unbekannter Fehler beim Bearbeiten von Abschnitt 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "ungültige Startbedingungs-Liste"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "nicht erkannte Regel"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "folgender Kontext doppelt verwendet"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "ungültige Iterationswerte"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "Iterationswerte müssen positiv sein"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "der Zeichenbereich [%c-%c] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung mehrdeutig"
+msgstr ""
+"der Zeichenbereich [%c-%c] ist in Scannern ohne Beachtung von Groß-/"
+"Kleinschreibung mehrdeutig"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "negativer Bereich in Zeichenklasse"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
-msgstr "[:^lower:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung mehrdeutig"
+msgstr ""
+"[:^lower:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung "
+"mehrdeutig"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
-msgstr "[:^upper:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung mehrdeutig"
+msgstr ""
+"[:^upper:] ist in Scannern ohne Beachtung von Groß-/Kleinschreibung "
+"mehrdeutig"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Eingabezeile zu lang\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "falsch geformte „%top“-Direktive"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "nicht erkannte „%“-Direktive"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Definitionsname zu lang\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Unbalancierte „{“"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Definitionswert für {%s} ist zu lang\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "unvollständige Namensdefinition"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Optionszeile zu lang\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "nicht erkannte %%option: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "ungültige Zeichenklasse"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "undefinierte Definitione {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "ungültige <Startbedingung>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "fehlendes Anführungszeichen"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "ungültiger Zeichenklassenausdruck: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "ungültiges Zeichen innerhalb von {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "fehlende }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "EOF innerhalb einer Aktion angetroffen"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "EOF innerhalb eines Musters angetroffen"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "ungültiges Zeichen: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "kann %s nicht öffnen"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Aufruf: %s [OPTIONEN...]\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "Option „%s“ erlaubt kein Argument\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "Option „%s“ verlangt ein Argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "Option „%s“ ist mehrdeutig\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "nicht erkannte Option „%s“\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Unbekannter Fehler=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "Speicheranforderung für Symboltabelle fehlgeschlagen"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "Name zweimal definiert"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "Startbedingung %s zweimal definiert"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "vorzeitiges EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Endemarkierung\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Etwas Seltsames* - tok: %d val: %d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "Fehler beim dynamischen Speicher in copy_string()"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "Konstistenzüberprüfung in symfollowset fehlgeschlagen"
 
diff --git a/po/eo.po b/po/eo.po
index 5da9a07..e116220 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,52 +7,52 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-09-08 07:15-0300\n"
 "Last-Translator: Felipe Castro <fefcas@gmail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
 "Language: eo\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Rezervo de bufro por printi ĉenon fiaskis"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Rezervo de bufro por linia instrukcio fiaskis"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Rezervo de bufro por 'm4 def' fiaskis"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Rezervo de bufro por 'm4 undef' fiaskis"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Stato #%d estas ne-akceptanta -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "danĝera vosta kunteksto"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " lini-numeroj de asociita regulo:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " for-transigoj: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -61,11 +61,11 @@
 "\n"
 " ĵam-transigoj: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "kontrolo pri kohereco fiaskis ĉe epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -77,24 +77,24 @@
 "Nekropsio DFA:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "ne eblis krei unikan staton de bufro-fino"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "stato * %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Ne eblis skribi yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "malĝusta transiga signo estis detektata en sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -106,29 +106,29 @@
 "Ekvivalentecaj Klasoj:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "stato # %d akceptas: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "stato # %d akceptas: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Ne eblis skribi yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Ne eblis skribi yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Ne eblis skribi ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -138,392 +138,404 @@
 "\n"
 "Meta-Ekvivalentecaj Klasoj:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Ne eblis skribi yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Ne eblis skribi yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Ne eblis skribi yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Ne eblis skribi yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Ne eblis skribi yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Ne eblis skribi ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Ne eblis skribi ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Ne eblis skribi eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Ne eblis skribi yynultrans_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "regulo ne povas esti korespondata"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
-msgstr "la modifilo -s estis indikata sed la apriora regulo povas esti korespondata"
+msgstr ""
+"la modifilo -s estis indikata sed la apriora regulo povas esti korespondata"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Ne eblas uzi -+ kun la modifilo -l"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Ne eblas uzi -f aŭ -F kun la modifilo -l"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Ne eblas uzi --reentrant aŭ --bison-bridge kun la modifilo -l"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "Sensencas -Cf/-CF kaj -Cm kune"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF kaj -I malakordas"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF malakordas kun lex-akorda reĝimo"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf kaj -CF estas reciproke ekskluzivaj"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Ne eblas uzi -+ kun la modifilo -CF"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array malakordas kun modifilo -+"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Modifiloj -+ kaj --reentrant estas reciproke ekskluzivaj."
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison-ponto ne estas subtenata por la skanilo C++."
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "ne eblis krei %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "ne eblis skribi tabel-kapojn"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "ne eblas malfermi la skeletan dosieron %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "rezervo de makroa difino fiaskis"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "eniga eraro dum lego de la skeleta dosiero %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "eraro dum fermo de la skeleta dosiero %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "eraro dum kreo de la kap-dosiero %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "eraro dum skribo de la eliga dosiero %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "eraro dum fermo de la eliga dosiero %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "eraro dum forigo de eliga dosiero %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Sen savkopiado.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d savkopiadas (ne-akceptantajn) statojn.\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Densigitaj tabeloj ĉiam estas savkopiataj.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "eraro dum skribo de la savkopia dosiero %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "eraro dum fermo de la savkopia dosiero %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s versio %s statistikoj pri usado:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  skanilaj modifiloj: -"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d statoj NFA\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d statoj DFA (%d vortoj)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d reguloj\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Sen savkopiado\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d savkopianta (ne-akceptantajn) statojn\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Densigitaj tabeloj ĉiam savkopiite\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  modeloj komenco-de-linio estas uzataj\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d komencaj kondiĉoj\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d epsilonaj statoj, %d duoblaj epsilonaj statoj\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  neniu signo-klaso\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr "  %d/%d signo-klasoj bezonis %d/%d vortojn da memoro, %d reuzitaj\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d stato/sekvstato-paroj estis kreataj\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d unikaj/duobligitaj transigoj\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d tabel-enigoj\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d bazo-def enigoj estis kreataj\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (pinto %d) enigoj nxt-chk estis kreataj\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (pinto %d) ŝablonaj enigoj nxt-chk estis kreataj\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d malplenaj tabel-enigoj\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d protoj estis kreataj\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d ŝablonoj estis kreataj, %d uzoj\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d ekvivalento-klasoj estis kreataj\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d metaekvivalento-klasoj estis kreataj\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d konservitaj) haketaj kolizioj, %d DFA egalaj\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d aroj de relokigoj estas bezonataj\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  entute %d tabel-enigoj estas bezonataj\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Interna eraro. 'flexopt' estas misformitaj.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Provu '%s --help' por pli da informo.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "nekonata modifilo -C '%c'"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "neriparebla analiz-eraro"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "ne eblis krei savkopiad-informan dosieron %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "La modifilo -l AT&T de akordigo al lex alportas grandan malaltigon de rendimento\n"
+msgstr ""
+"La modifilo -l AT&T de akordigo al lex alportas grandan malaltigon de "
+"rendimento\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " kaj povas esti la vera fonto de aliaj raportitaj malaltigoj de rendimento\n"
+msgstr ""
+" kaj povas esti la vera fonto de aliaj raportitaj malaltigoj de rendimento\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno alportas malaltigon de rendimento NUR kun reguloj kiuj povas akordiĝi kun novliniaj signoj\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno alportas malaltigon de rendimento NUR kun reguloj kiuj "
+"povas akordiĝi kun novliniaj signoj\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interage) alportas etan malaltigon de rendimento\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() alportas etan malaltigon de rendimento\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT alportas grandan malaltigon de rendimento\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "Variabla vosta kunteksto alportas grandan malaltigon de rendimento\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT ne povas esti uzata kun -f aŭ F"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno ne povas esti uzata kun REJECT"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr "variablaj vostaj kuntekstaj reguloj ne povas esti uzataj kun -f aŭ F"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass nur koheras por skaniloj C++"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Uzado: %s [MODIFILOJ] [DOSIERO]...\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -546,13 +558,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -574,8 +589,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -589,7 +602,8 @@
 "Generas programojn kiuj prilaboras modelo-kongruon en tekstoj.\n"
 "\n"
 "Tabela Densigo:\n"
-"  -Ca, --align      prilaboras pli grandajn tabelojn por pli bone organizi memoron\n"
+"  -Ca, --align      prilaboras pli grandajn tabelojn por pli bone organizi "
+"memoron\n"
 "  -Ce, --ecs        konstrui ekvivalento-klasojn\n"
 "  -Cf               ne densigi tabelojn; uzi reprezenton -f\n"
 "  -CF               ne densigi tabelojn; uzi reprezenton -F\n"
@@ -603,10 +617,12 @@
 "  -d, --debug             ebligi rafinigan reĝimon en la skanilo\n"
 "  -b, --backup            skribi savkopian informon al %s\n"
 "  -p, --perf-report       skribi raporton pri rendimento al 'stderr'\n"
-"  -s, --nodefault         demeti aprioran regulon por EĤIGI nekongruan tekston\n"
+"  -s, --nodefault         demeti aprioran regulon por EĤIGI nekongruan "
+"tekston\n"
 "  -T, --trace             %s devos funkcii sub spura reĝimo\n"
 "  -w, --nowarn            ne generi avertojn\n"
-"  -v, --verbose           skribi resumon de la skanilaj statistikoj al 'stdout'\n"
+"  -v, --verbose           skribi resumon de la skanilaj statistikoj al "
+"'stdout'\n"
 "\n"
 "Dosieroj:\n"
 "  -o, --outfile=DOSIERO       indiki eligan dosiernomon\n"
@@ -628,7 +644,8 @@
 "\n"
 "Generata kodumaĵo:\n"
 "  -+,  --c++               generi klason de skanilo C++\n"
-"  -Dmacro[=defn]           uzi #define por makroo defn  (apriora defn estas '1')\n"
+"  -Dmacro[=defn]           uzi #define por makroo defn  (apriora defn estas "
+"'1')\n"
 "  -L,  --noline            demeti instrukciojn  #line en la skanilo\n"
 "  -P,  --prefix=ĈENO       uzi ĈENOn kiel prefikson anstataŭ \"yy\"\n"
 "  -R,  --reentrant         generi reenigan skanilon C\n"
@@ -647,51 +664,52 @@
 "  -h, --help              produkti tiun ĉi help-mesaĝon\n"
 "  -V, --version           raporti la version de %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "rezervo de sko_stack fiaskis"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "la nomo \"%s\" estas ridinde longa"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "rezervo de memoro fiaskis en allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "malĝusta signo '%s' estis detektata en check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "la skanilo postulas la flagon -8 por uzi la signon %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "fiasko de dinamika memoro en copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "rezervo de memoro fiaskis en allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: neriparebla interna eraro, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "provo pliigi grandon de tabelo fiaskis"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "malĝusta linio en skeleta dosiero"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "rezervo de memoro fiaskis en yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -702,226 +720,237 @@
 "\n"
 "********** komenco de ŝuto de nfa kun ekstato %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "stato # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** fino de ŝuto\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "malplena maŝino en dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Variabla vosta kunteksta regulo ĉe linio %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "malĝusta stat-tipo en mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "enigaj reguloj estas tro komplikaj (>= %d statoj NFA)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "tro multe da transigoj estis trovataj en mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "tro multe da reguoloj (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "Nekonata erar-proceza sekcio 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "malĝusta komenc-kondiĉa listo"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "nerekonata regulo"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "vosta kunteksto estis uzata duoble"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "malĝustaj iteraciaj valoroj"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "iteracia valoro devas esti pozitiva"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr "la signara intervalo [%c-%c] estas dusenca en sen-uskleca skanilo"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "negativa intervalo en signo-klaso"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] estas dusenca en sen-uskleca skanilo"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] estas dusenca en sen-uskleca skanilo"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Eniga linio tro longas\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "misformita instrukcio '%top'"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "nerekonita instrukcio '%'"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Nom-difino tro longas\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Senpara '{'"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Valor-difino por {%s} tro longas\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "nekompleta nom-difino"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Linio de modifiloj tro longas\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "nerekonita %%modifilo: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "malĝusta signo-klaso"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "nedifinita difino {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "malĝusta <komenca kondiĉo>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "mankas citilo"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "malĝusta signo-klasa esprimo: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "malĝusta signo interne de {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "mankas }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "EOF estis trovata interne de ago"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "EOF estis trovata interne de modelo"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "malĝusta signo: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "ne eblas malfermi %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Uzado: %s [MODIFILOJ]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "la modifilo '%s' ne permesas argumenton\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "la modifilo '%s' postulas argumenton\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "la modifilo '%s' estas dusenca\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Nerekonita modifilo '%s'\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Nekonata eraro=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "rezervo de simbol-tabela memoro fiaskis"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "nomo estis difinata duoble"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "la komenca kondiĉo %s estis deklarata duoble"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "tro frua EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Fino-markilo\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Io Stranga* - ero: %d val: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "fiasko de dinamika memoro en copy_string()"
diff --git a/po/es.po b/po/es.po
index 05b5bd2..40f4025 100644
--- a/po/es.po
+++ b/po/es.po
@@ -6,34 +6,55 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: GNU flex 2.5.8\n"
-"POT-Creation-Date: 2002-06-19 09:43-0400\n"
+"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2003-01-02 12:06+0100\n"
 "Last-Translator: Nicolás García-Pedrajas <ngarcia-pedrajas@acm.org>\n"
 "Language-Team: Spanish <es@li.org>\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Language: es\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+
+#: src/buf.c:79
+msgid "Allocation of buffer to print string failed"
+msgstr ""
+
+#: src/buf.c:107
+msgid "Allocation of buffer for line directive failed"
+msgstr ""
+
+#: src/buf.c:177
+msgid "Allocation of buffer for m4 def failed"
+msgstr ""
+
+#: src/buf.c:198
+msgid "Allocation of buffer for m4 undef failed"
+msgstr ""
 
 # El estado (?) sv
-#: dfa.c:64
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "El estado #%d es no-aceptar -\n"
 
-#: dfa.c:131
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "contexto posterior peligroso"
 
-#: dfa.c:174
+#: src/dfa.c:159
+#, c-format
 msgid " associated rule line numbers:"
 msgstr " números de línea asociados a la regla:"
 
-#: dfa.c:212
+#: src/dfa.c:193
+#, c-format
 msgid " out-transitions: "
 msgstr " fin de transiciones: "
 
-#: dfa.c:220
+#: src/dfa.c:201
+#, c-format
 msgid ""
 "\n"
 " jam-transitions: EOF "
@@ -52,13 +73,13 @@
 # pues el verbo es testar, ¿cómo te suena? ng+
 #
 # Sugiero usar prueba o comprobación. sv
-#: dfa.c:357
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "el teste de consistencia falló en `epsclosure()'"
 
 # ¿Qué tal volcado? em
 # ok, a mí tampoco me gustaba descarga ng
-#: dfa.c:443
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -70,27 +91,24 @@
 "Volcado AFD:\n"
 "\n"
 
-#: dfa.c:589
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "no se pudo crear un estado único de final-de-buffer"
 
-#: dfa.c:610
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "estado # %d:\n"
 
-# Te he corregido un error de tecleo, y puesto entre comillas
-# la llamada a la función em
-# ok, lo de las comillas no lo sabía ng
-#: dfa.c:994
-msgid "consistency check failed in symfollowset"
-msgstr "falló el test de consistencia en `symfollowset'"
+#: src/dfa.c:768
+msgid "Could not write yynxt_tbl[][]"
+msgstr ""
 
-#: dfa.c:1047
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "carácter de transición erróneo detectado en sympartition()"
 
-#: gen.c:251
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -102,19 +120,32 @@
 "Clases de equivalencia:\n"
 "\n"
 
-#: gen.c:429 gen.c:913
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "el estado # %d acepta: [%d]\n"
 
-#: gen.c:834
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "el estado # %d acepta: "
 
+#: src/gen.c:1162
+msgid "Could not write yyacclist_tbl"
+msgstr ""
+
+#: src/gen.c:1236
+msgid "Could not write yyacc_tbl"
+msgstr ""
+
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
+#, fuzzy
+msgid "Could not write ecstbl"
+msgstr "no se pudo crear %s"
+
 # ¿No sería mejor "MetaEquivalencia" o "Meta-Equivalencia"? sv
 # yo prefiero como está, es el mismo caso de metafísica ng+
-#: gen.c:936
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -124,6 +155,46 @@
 "\n"
 "Clases de metaequivalencia:\n"
 
+#: src/gen.c:1293
+msgid "Could not write yymeta_tbl"
+msgstr ""
+
+#: src/gen.c:1352
+#, fuzzy
+msgid "Could not write yybase_tbl"
+msgstr "no se pudo crear %s"
+
+#: src/gen.c:1384
+msgid "Could not write yydef_tbl"
+msgstr ""
+
+#: src/gen.c:1422
+msgid "Could not write yynxt_tbl"
+msgstr ""
+
+#: src/gen.c:1456
+msgid "Could not write yychk_tbl"
+msgstr ""
+
+#: src/gen.c:1608 src/gen.c:1637
+#, fuzzy
+msgid "Could not write ftbl"
+msgstr "no se pudo crear %s"
+
+#: src/gen.c:1614
+#, fuzzy
+msgid "Could not write ssltbl"
+msgstr "no se pudo crear %s"
+
+#: src/gen.c:1665
+#, fuzzy
+msgid "Could not write eoltbl"
+msgstr "no se pudo crear %s"
+
+#: src/gen.c:1722
+msgid "Could not write yynultrans_tbl"
+msgstr ""
+
 # ¿coincidencia?, es la traducción habitual em
 # La traducción de match no me gusta pero no encuentro otra
 # Sugerencia: satisface, encaja, es aplicable. sv
@@ -131,35 +202,33 @@
 # abierta con una cerrada, por ejemplo, pero no cuando se trata de ver
 # si una regla "matches" o no "matches".
 # creo que aplicar no qeuda mal ng+
-#: main.c:163
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "la regla no se puede aplicar"
 
 # ## re-redacto el mensaje. sv
-#: main.c:168
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
-msgstr "se ha especificado la opción -s pero se puede aplicar la regla por defecto"
+msgstr ""
+"se ha especificado la opción -s pero se puede aplicar la regla por defecto"
 
-#: main.c:203
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "No se puede usar -+ con la opción -l"
 
-#: main.c:206
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "No se pueden usar las opciones -f o -F con la opción -l"
 
-#: main.c:209
-msgid "Can't use -R or -Rb with -l option"
+#: src/main.c:228
+#, fuzzy
+msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "No se pueden usar las opciones -R o -Rb con la opción -l"
 
-#: main.c:223
-msgid "Can't specify header option if writing to stdout."
-msgstr "No se puede especificar una opción de cabecera si se escribe en stdout"
-
 # ¿juntos o juntas?
 # Creo que está bien así em
 # ok ng
-#: main.c:249
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF y -Cm no tienen sentido juntos"
 
@@ -168,50 +237,63 @@
 # entonces lo dejo ng
 # Yo creo que en este caso no hace falta porque se leería así:
 # "menos ce efe o menos ce efe mayúscula y menos I son incompatibles". sv
-#: main.c:252
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF e -I son incompatibles"
 
-#: main.c:256
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF son incompatibles con el modo de compatibilidad con lex"
 
-#: main.c:260
-#, c-format
-msgid "-Cf/-CF and %option yylineno are incompatible"
-msgstr "-Cf/-CF y la %opción yylineno son incompatibles"
-
-#: main.c:263
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf y -CF son mutuamente excluyentes"
 
-#: main.c:267
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "No se puede usar -+ con la opción -CF"
 
-#: main.c:271
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array incompatible con la opción -+"
 
-#: main.c:276
-msgid "Options -+ and -R are mutually exclusive."
+#: src/main.c:284
+#, fuzzy
+msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "-+ y -R son mutuamente excluyentes"
 
-#: main.c:328 main.c:524
+#: src/main.c:287
+msgid "bison bridge not supported for the C++ scanner."
+msgstr ""
+
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "no se pudo crear %s"
 
+#: src/main.c:431
+#, fuzzy
+msgid "could not write tables header"
+msgstr "no se pudo crear %s"
+
 # Lo mismo con skeleton, máscara o modelo em
 # lo mismo de antes ng
 # Lo mismo que antes :) em
 # idem ng+
-#: main.c:334
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "no se puede abrir el archivo de esquema %s"
 
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
+msgid "allocation of macro definition failed"
+msgstr ""
+
 # Skeleton se puede traducir por máscara, o por modelo em
 # Sí, lo estuve considerando. Pero el eskeleton file es un fichero que
 # le indica a flex la forma como tratar el fichero de entrada, y por eso me
@@ -228,45 +310,46 @@
 # que decida una tercera persona
 #
 # ## Cambio "leyendo" por "al leer", como en otras traducciones. sv
-#: main.c:492
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "error de entrada al leer el archivo de esquema %s"
 
 # Otra vez :) em
-#: main.c:496
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "error al cerrar el archivo de esquema %s"
 
 # Lo mismo, archivo de seguridad? em
-#: main.c:690
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "error al crear el archivo de cabecera %s"
 
-#: main.c:698
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "error al escribir el archivo de salida %s"
 
-#: main.c:702
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "error al cerrar el archivo de salida %s"
 
-#: main.c:706
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "error al borrar el archivo de salida %s"
 
 # Copia de seguridad? em
 # Sugerencia: No hay retroceso. sv
-#: main.c:714
+#: src/main.c:732
+#, c-format
 msgid "No backing up.\n"
 msgstr "Sin retroceso.\n"
 
-#: main.c:717
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d estados de retroceso (no-aceptación).\n"
@@ -276,12 +359,13 @@
 # "Compressed tables are always back up"
 # (supuesto que back es irregular y su pasado/participio es back y no backed,
 # que ahora mismo no me acuerdo). sv
-#: main.c:721
+#: src/main.c:740
+#, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Las tablas comprimidas siempre implican un retraso.\n"
 
 # Lo mismo, archivo de seguridad? em
-#: main.c:724
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "error al escribir el archivo de seguridad %s"
@@ -289,45 +373,47 @@
 #  En todas las traducciones que ha aparecido
 #  he sugerido el uso de copia de seguridad em
 # ok ng
-#: main.c:728
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "error al cerrar el archivo de copia de seguridad %s"
 
-#: main.c:734
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s versión %s estadísticas de uso:\n"
 
-#: main.c:737
+#: src/main.c:755
+#, c-format
 msgid "  scanner options: -"
 msgstr "  opciones del analizador: -"
 
 # NFA significa non-deterministic finite automata, así que lo he traducido
 # por AFN
-#: main.c:817
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d estados AFN\n"
 
 # DFA significa deterministic finite autómata, lo he traducido por AFD
-#: main.c:819
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d estados AFD {%d palabras}\n"
 
-#: main.c:821
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d reglas\n"
 
 # Otra vez ;) em
 # modificado como en la anterior ng
-#: main.c:825
+#: src/main.c:843
+#, c-format
 msgid "  No backing up\n"
 msgstr "  Sin retroceso\n"
 
-#: main.c:828
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d estados de retroceso (no-aceptación)\n"
@@ -335,16 +421,18 @@
 # FIXME.
 # Informar al autor de que esta frase es casi idéntica a una anterior, para
 # que sólo haya que traducirla una vez. sv
-#: main.c:832
+#: src/main.c:852
+#, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Siempre se realiza copia de seguridad de las tablas comprimidas\n"
 
 # Lo mismo "se han usado patrones de comienzo de línea". sv
-#: main.c:836
+#: src/main.c:856
+#, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Usados patrones de comienzo-de-línea\n"
 
-#: main.c:838
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d condiciones de activación\n"
@@ -357,16 +445,17 @@
 # lo de doble épsilon no lo he oído nunca. Creo que hay que dejar el término
 # técnico. ng
 # Tu mandas, no tengo nada que decir a eso em
-#: main.c:841
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d estados épsilon, %d estados doble épsilon\n"
 
-#: main.c:845
+#: src/main.c:866
+#, c-format
 msgid "  no character classes\n"
 msgstr "  sin clases de caracteres\n"
 
-#: main.c:848
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr ""
@@ -377,13 +466,13 @@
 # ¿Qué tal "  se han creado %d pares estado/estado-siguiente"?
 # Bueno, mejor no lo hagas hasta que no se sepa cómo queda al lado
 # de las otras. sv
-#: main.c:853
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d pares estado/estado-siguiente creados\n"
 
 # ## Añado sendas eses, ya que son transiciones. sv
-#: main.c:855
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d transiciones únicas/duplicadas\n"
@@ -392,50 +481,50 @@
 # sí, mejor ng
 # ¿Que había antes? (¿entradas a la tabla?)
 # (entradas *de* la tabla me suena mejor) sv.
-#: main.c:861
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d entradas en la tabla\n"
 
 # ## pongo `comillas' en el base-def. sv
-#: main.c:869
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d entradas `base-def' creadas\n"
 
-#: main.c:872
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (pico %d) entradas nxt-chk creadas\n"
 
-#: main.c:875
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr " %d/%d (pico %d) entradas de plantilla nxt-chk creadas\n"
 
 # ¿entradas a la tabla o entradas de la tabla? sv
-#: main.c:879
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d entradas en la tabla vacías\n"
 
-#: main.c:881
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototipos creados\n"
 
-#: main.c:884
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d plantillas creadas, %d usos\n"
 
-#: main.c:892
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d clases de equivalencia creadas\n"
 
 # "se han creado..." sv
-#: main.c:900
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d clases de metaequivalencia creadas\n"
@@ -453,43 +542,40 @@
 # un lugar que se puede determinar mediante una transformación directa de su
 # clave, por eso si hay dos claves iguales hay una colisión, porque dos
 # registros van al mismo sitio ng+
-#: main.c:905
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
-msgstr "  %d (%d almacenadas) colisiones de localización ('hash'), %d AFDs iguales\n"
+msgstr ""
+"  %d (%d almacenadas) colisiones de localización ('hash'), %d AFDs iguales\n"
 
-#: main.c:907
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  se necesitan %d conjuntos de relocalización\n"
 
 # Lo mismo que en otro sitio: ¿table entries son entradas a la tabla o
 # de la tabla? sv
-#: main.c:909
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  se necesitan %d entradas totales en la tabla\n"
 
-#: main.c:966
+#: src/main.c:1008
+#, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Error interno. flexopts mal formadas.\n"
 
-#: main.c:974
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Pruebe `%s --help' para más información.\n"
 
-#: main.c:1033
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "opción -C desconocida '%c'"
 
-#: main.c:1116
-#, c-format
-msgid "unknown -R option '%c'"
-msgstr "opción -R desconocida '%c'"
-
-#: main.c:1153
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
@@ -506,7 +592,7 @@
 # Sugerencia: error fatal. sv
 # con comillas es un término medio. Lo de error grave fue una sugerencia
 # de Enrique, y croe que queda mejor. ng+
-#: main.c:1395
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "error muy grave en el analizador sintáctico"
 
@@ -529,71 +615,83 @@
 # ##
 # ## Eso no es válido ( solución, usa emacs po-mode :) ) em
 # ## ok, ya estoy instalando linux otra vez ng+
-#: main.c:1407
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr ""
 "no se pudo crear el archivo de información de las reglas\n"
 "que producen un retroceso del analizador %s"
 
-#: main.c:1429
+#: src/main.c:1529
+#, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr ""
 "-l la opción de compatibilidad con AT&T lex implica una penalización del\n"
 "rendimiento muy alta\n"
 
-#: main.c:1431
-msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " y puede ser el origen real de otras penalizaciones del rendimiento notificadas\n"
-
-#: main.c:1437
+#: src/main.c:1532
 #, c-format
-msgid "%%option yylineno entails a large performance penalty\n"
-msgstr "la %%opción yylineno implica una penalización del rendimiento muy alta\n"
+msgid " and may be the actual source of other reported performance penalties\n"
+msgstr ""
+" y puede ser el origen real de otras penalizaciones del rendimiento "
+"notificadas\n"
 
-#: main.c:1444
+#: src/main.c:1538
+#, fuzzy, c-format
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"la %%opción yylineno implica una penalización del rendimiento muy alta\n"
+
+#: src/main.c:1545
+#, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interactivo) implica una pequeña penalización del rendimiento\n"
 
-#: main.c:1448
+#: src/main.c:1550
+#, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() implica un pequeña penalización del rendimiento\n"
 
-#: main.c:1453
+#: src/main.c:1556
+#, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT implica una penalización del rendimiento muy alta\n"
 
-#: main.c:1457
+#: src/main.c:1561
+#, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr ""
 "La existencia de reglas de contexto posterior variable implica una\n"
 "penalización del rendimiento muy alta\n"
 
-#: main.c:1470
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT no se puede usar con -f o -F"
 
-#: main.c:1473
-#, c-format
-msgid "%option yylineno cannot be used with -f or -F"
+#: src/main.c:1576
+#, fuzzy, c-format
+msgid "%option yylineno cannot be used with REJECT"
 msgstr "la %opción yylineno no se puede usar con -f o -F"
 
-#: main.c:1476
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "las reglas de contexto posterior variable no se pueden usar con -f o -F"
+msgstr ""
+"las reglas de contexto posterior variable no se pueden usar con -f o -F"
 
-#: main.c:1607
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "la %option yyclass sólo tiene sentido para los analizadores en C++"
 
-#: main.c:1711
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Uso: %s [OPCIONES] [FICHERO]...\n"
 
-#: main.c:1714
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -616,13 +714,17 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header=FILE       create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
+"      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
 "  -7, --7bit              generate 7-bit scanner\n"
@@ -640,7 +742,8 @@
 "  -L,  --noline            suppress #line directives in scanner\n"
 "  -P,  --prefix=STRING     use STRING as prefix instead of \"yy\"\n"
 "  -R,  --reentrant         generate a reentrant C scanner\n"
-"  -Rb, --reentrant-bison   reentrant scanner for bison pure parser.\n"
+"       --bison-bridge      scanner for bison pure parser.\n"
+"       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
@@ -655,31 +758,37 @@
 "Genera programas que realizan emparejado de patrones en texto.\n"
 "\n"
 "Compresión de tablas: (por defecto es -Cem)\n"
-"  -Ca, --align      Renuncia a tablas grandes para mejorar la alineación en memoria\n"
+"  -Ca, --align      Renuncia a tablas grandes para mejorar la alineación en "
+"memoria\n"
 "  -Ce, --ecs        construye clases de equivalencia\n"
 "  -Cf               no comprime las tablas; utiliza la representación -f\n"
 "  -CF               no comprime las tablas; utiliza la representación -F\n"
 "  -Cm, --meta-ecs   construye clases de metaequivalencia\n"
-"  -Cr, --read       utiliza read() en lugar de stdio para la entrada del analizador\n"
+"  -Cr, --read       utiliza read() en lugar de stdio para la entrada del "
+"analizador\n"
 "  -f, --full        genera una analizar rápido y grande. Igual que -Cfr\n"
-"  -F, --fast        usa la representación de tablas alternativa. Igual que -CFr\n"
+"  -F, --fast        usa la representación de tablas alternativa. Igual que -"
+"CFr\n"
 "  -Cem              compresión por defecto (igual que --ecs --meta-ecs)\n"
 "\n"
 "Depurado:\n"
 "  -d, --debug             habilita el modo de depuración en el analizador\n"
 "  -b, --backup            escribe información de seguridad en %s\n"
 "  -p, --perf-report       escribe un informe de rendimiento en stderr\n"
-"  -s, --nodefault         suprime la regla por defecto consistente en un ECHO de cualquier carácter sin emparejar\n"
+"  -s, --nodefault         suprime la regla por defecto consistente en un "
+"ECHO de cualquier carácter sin emparejar\n"
 "  -T, --trace             %s debería ejecutarse en modo traza\n"
 "  -w, --nowarn            no genera avisos\n"
-"  -v, --verbose           escribe un resumen de estadísticas del analizador en stdout\n"
+"  -v, --verbose           escribe un resumen de estadísticas del analizador "
+"en stdout\n"
 "\n"
 "Ficheros:\n"
 "  -o, --outfile=FILE      especifica el nombre del fichero de salida\n"
 "  -S, --skel=FILE         especifica el fichero de esquema\n"
 "  -t, --stdout            escribe el analizador en stdout en lugar de en %s\n"
 "      --yyclass=NAME      nombre de la clase de C++\n"
-"      --header=FILE       crea un fichero de cabecera de C además del analizador\n"
+"      --header=FILE       crea un fichero de cabecera de C además del "
+"analizador\n"
 "\n"
 "Comportamiento del analizador:\n"
 "  -7, --7bit              genera un analizador de 7 bits\n"
@@ -688,7 +797,8 @@
 "  -i, --case-insensitive  ignora mayúsculas y minúsculas en los patrones\n"
 "  -l, --lex-compat        compatibilidad máxima con lex\n"
 "  -I, --interactive       genera un analizador interactivo (opuesto a -B)\n"
-"      --yylineno          mantiene información del conteo de líneas en yylineno\n"
+"      --yylineno          mantiene información del conteo de líneas en "
+"yylineno\n"
 "\n"
 "Código generado:\n"
 "  -+,  --c++               genera una clase C++ con el analizador\n"
@@ -696,7 +806,8 @@
 "  -L,  --noline            suprime las directivas #line en el analizador\n"
 "  -P,  --prefix=STRING     usa STRING como prefijo en lugar de \"yy\"\n"
 "  -R,  --reentrant         generate un analizador C reentrante\n"
-"  -Rb, --reentrant-bison   analizador reentrante para un analizador léxico bison puro.\n"
+"  -Rb, --reentrant-bison   analizador reentrante para un analizador léxico "
+"bison puro.\n"
 "       --stdinit           inicializa yyin/yyout a stdin/stdout\n"
 "       --noFUNCTION        no genera la función FUNCTION\n"
 "\n"
@@ -707,7 +818,11 @@
 "  -h, --help              produce este mensaje de ayuda\n"
 "  -V, --version           informa de la versión %s\n"
 
-#: misc.c:47
+#: src/misc.c:64
+msgid "allocation of sko_stack failed"
+msgstr ""
+
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "nombre \"%s\" ridículamente grande"
@@ -717,45 +832,51 @@
 # Sí, pero creo que sólo por mí. Normalmente esos mensajes
 # los dá la biblioteca C antes em
 # ok ng+
-#: misc.c:101
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "falló la asignación de memoria en `allocate_array()'"
 
-#: misc.c:179
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "carácter incorrecto '%s' detectado en `check_char()'"
 
 # he añadido el `poder' em
 # ok ng
-#: misc.c:184
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "el analizador requiere la opción -8 para poder usar el carácter %s"
 
-#: misc.c:217
-msgid "dynamic memory failure in copy_string()"
-msgstr "fallo de la memoria dinámica en copy_string()"
+#  Asignación de memoria  em
+# ¿está unificado? ng
+# Sí, pero creo que sólo por mí. Normalmente esos mensajes
+# los dá la biblioteca C antes em
+# ok ng+
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "falló la asignación de memoria en `allocate_array()'"
 
 # Sugerencia: error fatal. sv
-#: misc.c:349
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: error interno muy grave, %s\n"
 
-#: misc.c:775
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "falló el intento de aumentar el tamaño de la matriz"
 
-#: misc.c:847
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "línea incorrecta en el archivo de esquema"
 
-#: misc.c:892
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "la reserva de memoria falló en yy_flex_xmalloc()"
 
-#: nfa.c:103
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -766,103 +887,155 @@
 "\n"
 "********** comenzando la descarga del AFN con el estado inicial %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "estado # %4d\t"
 
 # Sugerencia: volcado. sv
 # ok ng+
-#: nfa.c:130
+#: src/nfa.c:126
+#, c-format
 msgid "********** end of dump\n"
 msgstr "********** fin de volcado\n"
 
-#: nfa.c:176
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "máquina vacía en `dupmachine()'"
 
-#: nfa.c:228
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regla de contexto posterior variable en la línea %d\n"
 
-#: nfa.c:350
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "tipo de estado incorrecto en mark_beginning_as_normal()"
 
-#: nfa.c:603
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "las reglas de entrada son demasiado complicadas (>= %d estados AFN)"
 
 # Sugerencia: se han encontrado... sv
-#: nfa.c:682
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "encontradas demasiadas transiciones en mkxtion()"
 
-#: nfa.c:708
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "demasiadas reglas (> %d)!"
 
-#: parse.y:174
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "error desconocido en el proceso de la sección 1"
 
-#: parse.y:199 parse.y:362
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "lista de condiciones de activación incorrecta"
 
-#: parse.y:326
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "regla no reconocida"
 
-#: parse.y:444 parse.y:457 parse.y:526
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "contexto posterior usado dos veces"
 
-#: parse.y:562 parse.y:572 parse.y:645 parse.y:655
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "valores incorrectos para iteración"
 
-#: parse.y:590 parse.y:608 parse.y:673 parse.y:691
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "los valores para iteración deben ser positivos"
 
-#: parse.y:785
+#: src/parse.y:806 src/parse.y:816
+#, c-format
+msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
+msgstr ""
+
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "rango negativo en clase caracteres"
 
-#: scan.l:140
+#: src/parse.y:918
+#, fuzzy
+msgid "[:^lower:] is ambiguous in case insensitive scanner"
+msgstr ""
+"\t-i  genera un analizador que no distingue entre mayúsculas y minúsculas\n"
+
+#: src/parse.y:924
+#, fuzzy
+msgid "[:^upper:] ambiguous in case insensitive scanner"
+msgstr ""
+"\t-i  genera un analizador que no distingue entre mayúsculas y minúsculas\n"
+
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
+msgid "Input line too long\n"
+msgstr ""
+
+#: src/scan.l:183
+#, fuzzy, c-format
+msgid "malformed '%top' directive"
+msgstr "directiva '%' no reconocida"
+
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "directiva '%' no reconocida"
 
-#: scan.l:207
+#: src/scan.l:214
+msgid "Definition name too long\n"
+msgstr ""
+
+#: src/scan.l:309
+msgid "Unmatched '{'"
+msgstr ""
+
+#: src/scan.l:325
+#, c-format
+msgid "Definition value for {%s} too long\n"
+msgstr ""
+
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "definición de nombre incompleta"
 
-#: scan.l:316
+#: src/scan.l:467
+msgid "Option line too long\n"
+msgstr ""
+
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "%%opción no reconocida: %s"
 
-#: scan.l:449 scan.l:549
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "clase de caracteres incorrecta"
 
-#: scan.l:481
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "definición no definida {%s}"
 
-#: scan.l:517
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "<condición de activación> incorrecta: %s"
 
 # Sugerencia: falta una comilla. sv
-#: scan.l:530
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "falta comilla"
 
@@ -870,97 +1043,122 @@
 # incorrecta la expresión ... em
 # ok, de traducir al final ocurre que acabas hablando al revés,
 # como en inglés ng
-#: scan.l:570
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "expresión de la clase de caracteres incorrecta: %s"
 
-#: scan.l:592
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "carácter incorrecto dentro de {}'s"
 
 # Sugerencia: "falta una }". sv
-#: scan.l:598
+#: src/scan.l:894
 msgid "missing }"
 msgstr "falta }"
 
-#: scan.l:671
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "Fin de archivo (EOF) encontrado dentro de una acción"
 
-#: scan.l:691
+#: src/scan.l:977
+#, fuzzy
+msgid "EOF encountered inside pattern"
+msgstr "Fin de archivo (EOF) encontrado dentro de una acción"
+
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "carácter incorrecto: %s"
 
-#: scan.l:720
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "no se puede abrir %s"
 
-#: scanopt.c:267
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Uso: %s [OPCIONES]...\n"
 
-#: scanopt.c:516
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "la opción `%s'  no permite un argumento\n"
 
-#: scanopt.c:519
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "la opción `%s'  requiere un argumento\n"
 
-#: scanopt.c:522
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "la opción `%s' es ambigua\n"
 
-#: scanopt.c:525
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Opción no reconocida `%s'\n"
 
-#: scanopt.c:528
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Error desconocido=(%d)\n"
 
 # Asignación de memoria em
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "falló la reserva de memoria para la tabla de símbolos"
 
 # hay que procurar evitar esto, siempre nos suena mejor
 # el nombre ha sido definido dos veces, ¿qué te parece? em
 # mucho mejor, ya lo había pensado, pero no sabía cual era el estilo usual. ng
-#: sym.c:210
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "el nombre ha sido definido dos veces"
 
 # Aquí lo mismo 'la condición ... ha sido ..." em
-#: sym.c:265
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "la condición de activación %s ha sido declarada dos veces"
 
-#: yylex.c:58
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "fin de archivo (EOF) prematuro"
 
-#: yylex.c:207
+#: src/yylex.c:200
+#, c-format
 msgid "End Marker\n"
 msgstr "Marcador de fin\n"
 
 # sobre lo de tok, me parece que es abreviatura de token. ng
 # en bison he traducido token por terminal, creo que es bueno unificar. ng
-#: yylex.c:212
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Algo extraño* - terminal: %d val: %d\n"
 
+# Te he corregido un error de tecleo, y puesto entre comillas
+# la llamada a la función em
+# ok, lo de las comillas no lo sabía ng
+#~ msgid "consistency check failed in symfollowset"
+#~ msgstr "falló el test de consistencia en `symfollowset'"
+
+#~ msgid "Can't specify header option if writing to stdout."
+#~ msgstr ""
+#~ "No se puede especificar una opción de cabecera si se escribe en stdout"
+
+#~ msgid "-Cf/-CF and %option yylineno are incompatible"
+#~ msgstr "-Cf/-CF y la %opción yylineno son incompatibles"
+
+#~ msgid "unknown -R option '%c'"
+#~ msgstr "opción -R desconocida '%c'"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "fallo de la memoria dinámica en copy_string()"
+
 # Sugerencia: modificador '%c' desconocido -> opción '%c' desconocida. sv
 # ## usage - modo de empleo
 # ## pongo try - pruebe, como en otras traducciones. sv
@@ -992,8 +1190,10 @@
 #~ msgstr "la opción -C se debe especificar separadamente"
 
 #  Skeleton otra vez ( recuerdo máscara, o modelos ) em
-#~ msgid "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
-#~ msgstr "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osalida -Pprefijo -Sesquema]\n"
+#~ msgid ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
+#~ msgstr ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osalida -Pprefijo -Sesquema]\n"
 
 #~ msgid "\t[--help --version] [file ...]\n"
 #~ msgstr "\t[--help --version] [archivo ...]\n"
@@ -1020,9 +1220,6 @@
 #~ msgid "\t-h  produce this help message\n"
 #~ msgstr "\t-h  produce este mensaje de ayuda\n"
 
-#~ msgid "\t-i  generate case-insensitive scanner\n"
-#~ msgstr "\t-i  genera un analizador que no distingue entre mayúsculas y minúsculas\n"
-
 #~ msgid "\t-l  maximal compatibility with original lex\n"
 #~ msgstr "\t-l  compatibilidad máxima con el lex original\n"
 
@@ -1032,10 +1229,14 @@
 
 # He cambiado el orden salida de error estándar, ponía em
 #~ msgid "\t-p  generate performance report to stderr\n"
-#~ msgstr "\t-p  genera el informe de rendimiento en la salida de error estándar (stderr)\n"
+#~ msgstr ""
+#~ "\t-p  genera el informe de rendimiento en la salida de error estándar "
+#~ "(stderr)\n"
 
 #~ msgid "\t-s  suppress default rule to ECHO unmatched text\n"
-#~ msgstr "\t-s  suprime la regla por defecto de visualizar (ECHO) el texto no emparejado\n"
+#~ msgstr ""
+#~ "\t-s  suprime la regla por defecto de visualizar (ECHO) el texto no "
+#~ "emparejado\n"
 
 #~ msgid "\t-t  write generated scanner on stdout instead of %s\n"
 #~ msgstr ""
@@ -1097,7 +1298,8 @@
 #~ msgstr "\t-?  produce este mensaje de ayuda\n"
 
 #~ msgid "\t-C  specify degree of table compression (default is -Cem):\n"
-#~ msgstr "\t-C  especifica el grado de compresión de la tabla (por defecto -Cem):\n"
+#~ msgstr ""
+#~ "\t-C  especifica el grado de compresión de la tabla (por defecto -Cem):\n"
 
 #~ msgid "\t\t-Ca  trade off larger tables for better memory alignment\n"
 #~ msgstr ""
@@ -1108,10 +1310,14 @@
 #~ msgstr "\t\t-Ce  construye clases de equivalencia\n"
 
 #~ msgid "\t\t-Cf  do not compress scanner tables; use -f representation\n"
-#~ msgstr "\t\t-Cf  no comprime las tablas del analizador, utiliza la representación -f\n"
+#~ msgstr ""
+#~ "\t\t-Cf  no comprime las tablas del analizador, utiliza la representación "
+#~ "-f\n"
 
 #~ msgid "\t\t-CF  do not compress scanner tables; use -F representation\n"
-#~ msgstr "\t\t-CF  no comprime las tablas del analizador, utiliza la representación -F\n"
+#~ msgstr ""
+#~ "\t\t-CF  no comprime las tablas del analizador, utiliza la representación "
+#~ "-F\n"
 
 #~ msgid "\t\t-Cm  construct meta-equivalence classes\n"
 #~ msgstr "\t\t-cm  construye clases de metaequivalencia\n"
diff --git a/po/fi.po b/po/fi.po
index 4992a7c..7132566 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,54 +8,54 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.36\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-08-02 21:16+0200\n"
 "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
 "Language: fi\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Puskurin varaaminen merkkijonon tulostamiseen epäonnistui"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Puskurin varaaminen rividirektiiville epäonnistui"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Puskurin varaaminen m4 def -määrittelylle epäonnistui"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Puskurin varaaminen m4 undef -määrittelylle epäonnistui"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Tila #%d on ei-hyväksyvä -\n"
 
 # Sanastollisessa analyysissä (lexical analysis) esimerkiksi kauttaviivalla ilmoitetaan, että viivan jälkeinen teksti kuuluu "trailing context"-tekstiin
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "vaarallinen jättökonteksti"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " yhdistetyt sääntörivinumerot:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " ulossiirtymät: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -64,12 +64,12 @@
 "\n"
 " ruuhkasiirtymät: TIEDOSTONLOPPUMERKKI "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "yhtenäisyystarkistus epäonnistui epsclosure()-funktiossa"
 
 #  DFA on akronyymi käsitteelle "deterministic finite automaton" eli deterministinen äärellinen automaatti.
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -81,24 +81,24 @@
 "Deterministisen äärellisen automaatin vedos:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "ei voitu luoda uniikkia puskurinlopputilaa"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "tila numero %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Ei voitu kirjoittaa yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "väärä siirtymämerkki havaittu funktiossa sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -110,29 +110,29 @@
 "Ekvivalenssiluokat:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "tila numero %d hyväksyy: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "tila numero %d hyväksyy: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Ei voitu kirjoittaa: yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Ei voitu kirjoittaa: yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Ei voitu kirjoitaa ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -142,394 +142,409 @@
 "\n"
 "Meta-ekvivalenssiluokkia:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Ei voitu kirjoittaa: yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Ei voitu kirjoittaa: yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Ei voitu kirjoittaa: yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Ei voitu kirjoittaa: yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Ei voitu kirjoittaa: yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Ei voitu kirjoittaa: ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Ei voitu kirjoittaa: ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Ei voitu kirjoittaa: eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Ei voitu kirjoittaa: yynultrans_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "sääntö ei voinut täsmätä"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "valitsin -s annettu mutta oletussääntö ei voinut täsmätä"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Ei voi käyttää -+ valitsimen -l kanssa"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Ei voi käyttää valitsinta -f tai -F valitsimen -l kanssa"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
-msgstr "Ei voi käyttää valitsinta --reentrant tai --bison-bridge valitsimen -l kanssa"
+msgstr ""
+"Ei voi käyttää valitsinta --reentrant tai --bison-bridge valitsimen -l kanssa"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF ja -Cm eivät ole järkeviä yhdessä"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF ja -I ovat yhteensopimattomia"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF ovat yhteensopimattomia lex-yhteensopivuustilassa"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf ja -CF ovat toisensa poissulkevia"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Ei voi käyttää valitsinta -+ valitsimen -CF kanssa"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array on yhteensopimaton valitsimen -+ kanssa"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Valitsimen -+ ja --reentrant ovat toisensa poissulkevia."
 
 #  bison bridge tarkoittaa, että flex käyttää bison-ohjelmaa analyysissä
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "”bison bridge”-menettelyä ei tueta C++-skannerille."
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "ei voitu luoda %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "ei voitu kirjoittaa tauluotsaketta"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "ei voi avata kehystiedostoa %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "Makromäärityksen varaaminen epäonnistui"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "syötevirhe luettaessa kehystiedostoa %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "virhe suljettaessa kehystiedostoa %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "virhe luotaessa otsaketiedostoa %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "virhe kirjoitettaessa tulostetiedostoa %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "virhe suljettaessa tulostetiedostoa %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "virhe poistettaessa tulostetiedostoa %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Ei varmuuskopiointia.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d (ei-hyväksyvää) varmuuskopiointitilaa.\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Tiivistetyt taulut varmuuskopioidaan aina.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "virhe kirjoitettaessa varmuuskopiotiedostoa %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "virhe suljettaessa varmuuskopiotiedostoa %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s-version %s käyttötilastot:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  skannerivalitsimet: -"
 
 #  Epädeterministinen äärellinen automaatti, lyh. NFA (engl. non-deterministic finite-state automaton)
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d Epädeterministisen äärellisen automaatin tilaa\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d Deterministisen äärellisen automaatin tilaa (%d sanaa)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d sääntöä\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Ei varmuuskopiointia\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d (ei-hyväksyvää) varmuuskopiotilaa\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Tiivistetyt taulut varmuuskopioidaan aina\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Rivin-alku-malleja käytetään\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d-käynnistysehtoja\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d epsilon-tilaa, %d double epsilon-tilaa\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  ei merkkiluokkia\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d merkkiluokkaa tarvittu %d/%d tallennussanaan, %d käytetty uudelleen\n"
+msgstr ""
+"  %d/%d merkkiluokkaa tarvittu %d/%d tallennussanaan, %d käytetty uudelleen\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d tila/seuraavatila-paria luotu\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d uniikkia/kaksoiskappelsiirtymää\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d-tauluriviä\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d base-def-alkiota luotu\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (huippu %d) nxt-chk-alkiota luotu\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (huippu %d) malline nxt-chk-alkiota luotu\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d tyhjää taulualkiota\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d protoa luotu\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d mallinetta luotu, %d käytetään\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d ekvivalenssiluokkaa luotu\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d meta-ekvivalenssiluokkaa luotu\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
-msgstr "  %d (%d tallennettu) hash-törmäykset, yhtäsuuri kuin %d Deterministisen äärellisen automaatin törmäystä\n"
+msgstr ""
+"  %d (%d tallennettu) hash-törmäykset, yhtäsuuri kuin %d Deterministisen "
+"äärellisen automaatin törmäystä\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d uudelleenvarausjoukkoa tarvittu\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d taulukkoalkiota tarvittu yhteensä\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Sisäinen virhe. flex-valitsimet ovat vääränmuotoisia.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Lisätietoja käskyllä ”%s --help”.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "tuntematon valitsin -C ”%c”"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "vakava jäsennysvirhe"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "ei voitu luoda varmuuskopiotietotiedostoa %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "-l AT&T lex-yhteensopivuusvalitsin tuo mukanaan ison suorituskykysakon\n"
+msgstr ""
+"-l AT&T lex-yhteensopivuusvalitsin tuo mukanaan ison suorituskykysakon\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " ja saattaa olla muiden ilmoitettujen suorituskykysakkojen todellinen lähde\n"
+msgstr ""
+" ja saattaa olla muiden ilmoitettujen suorituskykysakkojen todellinen lähde\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno tuo mukanaan suorituskykysakon VAIN säännöissä, jotka voivat täsmätä rivinvaihtomerkkeihin\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno tuo mukanaan suorituskykysakon VAIN säännöissä, jotka "
+"voivat täsmätä rivinvaihtomerkkeihin\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interaktiivinen) tuo mukanaan pienemmän suorituskykysakon\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() tuo mukanaan pienemmän suorituskykysakon\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT tuo mukanaan ison suorituskykyrangaistuksen\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "Muuttujajättökontekstisäännöt tuovat mukanaan ison suorityskykysakon\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT ei voida käyttää valitsimen -f tai -F kanssa"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno ei voi käyttää REJECT:n kanssa"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "muuttujajättökontekstisääntöjä ei voida käyttää valitsimen -f tai -F kanssa"
+msgstr ""
+"muuttujajättökontekstisääntöjä ei voida käyttää valitsimen -f tai -F kanssa"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass on merkityksellinen vain C++-skannereille"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Käyttö: %s [VALITSIMET] [TIEDOSTO]...\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -552,13 +567,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -580,8 +598,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -595,12 +611,14 @@
 "Luo ohjelmia, jotka suorittavat tekstin mallintäsmäystä.\n"
 "\n"
 "Taulutiivistys:\n"
-"  -Ca, --align      kompromissi laajoissa taulukoissa parempaa muistitasausta varten\n"
+"  -Ca, --align      kompromissi laajoissa taulukoissa parempaa "
+"muistitasausta varten\n"
 "  -Ce, --ecs        rakenna ekvivalenssiluokkia\n"
 "  -Cf               älä tiivistä tauluja; käytä valitsinta -f esittelyyn\n"
 "  -CF               älä tiivistä tauluja; käytä valitsinta -F esittelyyn\n"
 "  -Cm, --meta-ecs   rakenna meta-ekvivalenssiluokkia\n"
-"  -Cr, --read       käytä funktiota read() eikä vakiosyötettä skannerisyötteenä\n"
+"  -Cr, --read       käytä funktiota read() eikä vakiosyötettä "
+"skannerisyötteenä\n"
 "  -f, --full        tuota nopea, laaja skanneri. Sama kuin -Cfr\n"
 "  -F, --fast        käytä vaihtoehtoista tauluesittelyä. Sama kuin -CFr\n"
 "  -Cem              oletustiivistys (sama kuin --ecs --meta-ecs)\n"
@@ -609,15 +627,18 @@
 "  -d, --debug             ota käyttöön virheenjäljitystila skannerissa\n"
 "  -b, --backup            kirjoita varmuuskopiotietoja osoitteeseen %s\n"
 "  -p, --perf-report       kirjoita suorituskykyraportti vakiovirheeseen\n"
-"  -s, --nodefault         vaimenna oletussääntö ECHO-täsmäämättömään tekstiin\n"
+"  -s, --nodefault         vaimenna oletussääntö ECHO-täsmäämättömään "
+"tekstiin\n"
 "  -T, --trace             %s pitäisi suorittaa jäljitystilassa\n"
 "  -w, --nowarn            älä tuota varoituksia\n"
-"  -v, --verbose           kirjoita yhteenveto skanneritilastoista vakiotulosteeseen\n"
+"  -v, --verbose           kirjoita yhteenveto skanneritilastoista "
+"vakiotulosteeseen\n"
 "\n"
 "Tiedostot:\n"
 "  -o, --outfile=TIEDOSTO       määritä tulostetiedostonimi\n"
 "  -S, --skel=TIEDOSTO          määritä runkotiedosto\n"
-"  -t, --stdout                 kirjoita skanneri vakiotulosteeseen eikä kohteeseen %s\n"
+"  -t, --stdout                 kirjoita skanneri vakiotulosteeseen eikä "
+"kohteeseen %s\n"
 "      --yyclass=NIMI           C++-luokan nimi\n"
 "      --header-file=TIEDOSTO   tuota C-otsaketiedosto etsijän lisäksi\n"
 "      --tables-file[=TIEDOSTO] kirjoita taulut TIEDOSTOon\n"
@@ -627,9 +648,11 @@
 "  -8, --8bit               tuota 8-bittinen skanneri\n"
 "  -B, --batch              tuota eräajoskanneri (päinvastoin kuin -I)\n"
 "  -i, --case-insensitive   älä välitä kirjainkoosta malleissa\n"
-"  -l, --lex-compat         maksimiyhteensopivuus alkueräisen lex-ohjelman kanssa\n"
+"  -l, --lex-compat         maksimiyhteensopivuus alkueräisen lex-ohjelman "
+"kanssa\n"
 "  -X, --posix-compat       maksimiyhteensopivuus POSIX lex-ohjelman kanssa\n"
-"  -I, --interactive        tuota interaktiivinen skanneri (päinvastoin kuin -B)\n"
+"  -I, --interactive        tuota interaktiivinen skanneri (päinvastoin kuin -"
+"B)\n"
 "      --yylineno           jäljitä rivilukumäärä yylineno-ohjelmassa\n"
 "\n"
 "Generoitu koodi:\n"
@@ -640,7 +663,8 @@
 "  -R,  --reentrant         tuota vapaakäyntinen C-skanneri\n"
 "       --bison-bridge      skanneri ”bison pure”-jäsentimelle.\n"
 "       --bison-locations   sisällytä yylloc-tuki.\n"
-"       --stdinit           alusta yyin/yyout vakiosyötteeseen/vakiotulosteeseen\n"
+"       --stdinit           alusta yyin/yyout vakiosyötteeseen/"
+"vakiotulosteeseen\n"
 "       --noansi-definitions vanhantyyliset funktiomäärittelyt\n"
 "       --noansi-prototypes  tyhjä parametriluettelo prototyypeissä\n"
 "       --nounistd          älä sisällytä <unistd.h>-tiedostoa\n"
@@ -653,51 +677,52 @@
 "  -h, --help               tuota tämä opastesanoma\n"
 "  -V, --version            ilmoita %s-versio\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "sko_stack-varaaminen epäonnistui"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "nimi ”%s” on naurettavan pitkä"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "muistinvaraus epäonnistui funktiossa allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "väärä merkki ”%s” havaittu funktiossa check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "skanneri vaatiin lipun -8 käytettäväksi merkille %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynaaminen muistivirhe funktiossa copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "muistinvaraus epäonnistui funktiossa allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: vakava sisäinen virhe, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "yritys taulukon koon kasvattamiseksi epäonnistui"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "väärä rivi kehystiedostossa"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "muistinvaraus epäonnistui funktiossa yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -706,228 +731,246 @@
 msgstr ""
 "\n"
 "\n"
-"********** Epädeterministisen äärellisen automaatin vedoksen alku aloitustilassa %d\n"
+"********** Epädeterministisen äärellisen automaatin vedoksen alku "
+"aloitustilassa %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "tila numero %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** vedoksen loppu\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "tyhjä kone funktiossa dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Muuttujajättökontekstisääntö rivillä %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "väärä tilatyyppi funktiossa mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
-msgstr "syötesäännöt ovat liian mutkikkaita (>= %d Epädeterministisen äärellisen automaatin tilaa)"
+msgstr ""
+"syötesäännöt ovat liian mutkikkaita (>= %d Epädeterministisen äärellisen "
+"automaatin tilaa)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "löytyi liian monta siirtymää funktiossa mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "liian moni sääntöjä (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "tuntematon virhe käsiteltäessä lohkoa 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "väärä alkuehtoluettelo"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "tunnistamaton sääntö"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "jättökontekstia käytetty kahdesti"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "vääriä iteraatioarvoja"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "iteraatioarvon on oltava positiivinen"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "merkkialue [%c-%c] ei ole yksiselitteinen skannerissa, joka ei välitä kirjainkoosta"
+msgstr ""
+"merkkialue [%c-%c] ei ole yksiselitteinen skannerissa, joka ei välitä "
+"kirjainkoosta"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "negatiivinen lukualue merkkiluokassa"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
-msgstr "[:^lower:] ei ole yksiselitteinen skannerissa, joka ei välitä kirjainkoosta"
+msgstr ""
+"[:^lower:] ei ole yksiselitteinen skannerissa, joka ei välitä kirjainkoosta"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
-msgstr "[:^upper:] ei ole yksiselitteinen skannerissa, joka ei välit kirjainkoosta"
+msgstr ""
+"[:^upper:] ei ole yksiselitteinen skannerissa, joka ei välit kirjainkoosta"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Syöterivi on liian pitkä\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "vääränmuotoinen ”%top”-direktiivi"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "tunnistamaton ”%”-direktiivi"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Määritysnimi on liian pitkä\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Pariton ”{”"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Määritysarvo kohteelle {%s} on liian pitkä\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "epätäydellinen nimimäärittely"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Valitsinrivi on liian pitkä\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "tunnistamaton %%valitsin: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "väärä merkkiluokka"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "määrittelemätön määrittely {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "virheellinen <aloitusehto>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "puuttuva lainausmerkki"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "väärä merkkiluokkalauseke: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "väärä merkki aaltosulkeiden {} sisällä"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "puuttuva }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "Tiedoston loppumerkki EOF tavattu toiminnon sisällä"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "Tiedoston loppumerkki EOF tavattu mallin sisällä"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "väärä merkki: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "ei voi avata %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Käyttö: %s [VALITSIMET]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "valitsin ”%s” ei salli argumenttia\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "valitsin ”%s” vaatii argumentin\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "valitsin ”%s” ei ole yksiselitteinen\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Tunnistamaton valitsin ”%s”\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Tuntematon virhe=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "symbolitaulun muistinvaraus epäonnistui"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "nimi määritelty kahdesti"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "alkuehto %s esitelty kahdesti"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "ennenaikainen tiedoston loppumerkki EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Loppumerkki\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Jotain outoa - tok: %d arvo: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "dynaaminen muistivirhe funktiossa copy_string()"
diff --git a/po/fr.po b/po/fr.po
index e451b72..8ff3737 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,54 +11,54 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-09-19 21:01-0400\n"
 "Last-Translator: David Prévot <david@tilapin.org>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Lokalize 1.4\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Échec d'allocation de tampon pour afficher une chaîne"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Échec d'allocation de tampon pour la directive de ligne"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Échec d'allocation de tampon pour m4 défini"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Échec d'allocation de tampon pour m4 non défini"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "L'état nº %d n'accepte pas -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "le contexte traîné est dangereux"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " numéros de ligne associés à la règle :"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " transitions de sortie : "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -67,11 +67,11 @@
 "\n"
 " transitions-bouchon : EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "le contrôle de cohérence a échoué dans epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -83,24 +83,24 @@
 "Vidage de l'AFD :\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "impossible de créer un seul état de fin de tampon"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "état nº %d :\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Impossible d'écrire yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "mauvais caractère de transition détecté dans sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -112,29 +112,29 @@
 "Classes d'équivalence :\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "l'état nº %d accepte : [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "l'état nº %d accepte : "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Impossible d'écrire yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Impossible d'écrire yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Impossible d'écrire ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -144,400 +144,412 @@
 "\n"
 "Classes de métaéquivalence :\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Impossible d'écrire yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Impossible d'écrire yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Impossible d'écrire yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Impossible d'écrire yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Impossible d'écrire yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Impossible d'écrire ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Impossible d'écrire ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Impossible d'écrire eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Impossible d'écrire yynultrnas_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "la règle ne peut pas correspondre"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "l'option -s est donnée mais la règle par défaut peut correspondre"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "L'option -+ ne peut pas être combinée à -l"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Les options -f et -F ne peuvent pas être combinées à -l"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
-msgstr "Les options --reentrant ou --bison-bridge ne peuvent pas être combinées à l'option -l"
+msgstr ""
+"Les options --reentrant ou --bison-bridge ne peuvent pas être combinées à "
+"l'option -l"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf ou -CF et -Cm ne peuvent pas être indiquées ensemble"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf ou -CF et -I sont incompatibles"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
-msgstr "les options -Cf ou -CF ne sont pas compatibles avec le mode de compatibilité « lex »"
+msgstr ""
+"les options -Cf ou -CF ne sont pas compatibles avec le mode de compatibilité "
+"« lex »"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf et -CF sont mutuellement exclusifs"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "L'option -+ ne peut pas être combinée à -CF"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array incompatible avec l'option -+"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Les options +- et --reentrant sont mutuellement exclusives."
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bridge bison n'est pas pris en charge pour l'analyseur C++"
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "impossible de créer %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "impossible d'écrire les tables d'en-tête"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "impossible d'ouvrir le fichier canevas %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "échec d'allocation de définition de macro"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "erreur de lecture du fichier canevas %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "erreur de fermeture du fichier canevas %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "erreur de création du fichier d'en-tête %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "erreur d'écriture du fichier de sortie %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "erreur de fermeture du fichier de sortie %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "erreur d'effacement du fichier de sortie %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Pas d'archivage.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d états d'archivage (non acceptants).\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Les tables comprimées sont toujours archivées.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "erreur d'écriture du fichier de sauvegarde %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "erreur de fermeture du fichier de sauvegarde %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "« %s » version %s, statistiques d'utilisation :\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  options de l'analyseur lexical : -"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d états NFA\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d états AFD (%d mots)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d règles\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Pas d'archivage\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d états d'archivage (si non acceptants)\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Les tables comprimées sont toujours archivées\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Modèles utilisés en début de ligne\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d conditions de départ\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d états epsilon, %d états double epsilon\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  pas de classes de caractères\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d classes de caractères nécessaires %d/%d mots-mémoire, %d recyclés\n"
+msgstr ""
+"  %d/%d classes de caractères nécessaires %d/%d mots-mémoire, %d recyclés\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d paires state/nextstate produites\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d transitions uniques/dupliquées\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d entrées dans la table\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d entrées base-def produites\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (max. %d) entrées nxt-chk produites\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (max. %d) entrées de modèle nxt-chk produites\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d entrées vides dans la table\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototypes produits\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d modèles produits, %d usages\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d classes d'équivalence produites\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d classes de métaéquivalence produites\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d sauvés) collisions durant dispersion, %d AFD égaux\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d ensembles de réallocations nécessaires\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d entrées nécessaires dans la table, au total\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Erreur interne. Les options « flexopts » sont mal composées.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
-msgstr "Exécutez « %s --help » pour obtenir des renseignements complémentaires.\n"
+msgstr ""
+"Exécutez « %s --help » pour obtenir des renseignements complémentaires.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "l'option -C « %c » inconnue"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "erreur de lecture fatale"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "impossible de créer le fichier d'informations d'archivage %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr ""
 "L'option -l de compatibilité avec le « lex » d'AT&T entraîne une importante\n"
 "perte de performance\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " et peuvent être cause d'autres vices de performance observés\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
 msgstr ""
 "%%option yylineno n'entraîne une importante perte de performance QUE sur\n"
 "les règles pouvant correspondre avec le caractère de changement de ligne\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "l'option -I (interactif) entraîne une faible perte de performance\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() entraîne une faible baisse de performance\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT entraîne une importante baisse de performance\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr ""
 "Les règles de contexte traîné variable entraînent une importante baisse de\n"
 "performance\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT ne peut pas être utilisé avec -f ou -F"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno ne peut être utilisé avec REJECT"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr ""
 "les règles de contexte traîné variable ne peuvent pas être utilisées avec\n"
 "-f ou -F"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass n'a de sens qu'avec les analyseurs C++"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Utilisation : %s [OPTIONS] [FICHIER]...\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -560,13 +572,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -588,8 +603,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -600,17 +613,23 @@
 "  -h, --help              produce this help message\n"
 "  -V, --version           report %s version\n"
 msgstr ""
-"Génération de programmes qui réalisent des correspondances de motif de texte.\n"
+"Génération de programmes qui réalisent des correspondances de motif de "
+"texte.\n"
 "\n"
 "Compression de table :\n"
-"  -Ca, --align      négocier grandes tables pour un meilleur alignement mémoire\n"
+"  -Ca, --align      négocier grandes tables pour un meilleur alignement "
+"mémoire\n"
 "  -Ce, --ecs        construire des équivalences de classes\n"
-"  -Cf               ne pas compresser les tables ; utiliser la représentation -f\n"
-"  -CF               ne pas compresser les tables ; utiliser la représentation -F\n"
+"  -Cf               ne pas compresser les tables ; utiliser la "
+"représentation -f\n"
+"  -CF               ne pas compresser les tables ; utiliser la "
+"représentation -F\n"
 "  -Cm, --meta-ecs   construire des métaéquivalences de classes\n"
-"  -Cr, --read       utiliser read() au lieu de stdio pour le scanner d'entrée\n"
+"  -Cr, --read       utiliser read() au lieu de stdio pour le scanner "
+"d'entrée\n"
 "  -f, --full        générer rapidement, un grand scanner. Identique à -Cfr\n"
-"  -F, --fast        utiliser une table alternative de représentation. Comme -CFr\n"
+"  -F, --fast        utiliser une table alternative de représentation. Comme -"
+"CFr\n"
 "  -Cem              compression par défaut (identique à --ecs --meta-ecs)\n"
 "\n"
 "Mise au point (mode débogage) :\n"
@@ -621,14 +640,16 @@
 "                              le texte non correspondant par ECHO\n"
 "  -T, --trace                 %s devrait s'exécuter en mode trace\n"
 "  -w, --nowarn                ne pas générer d'avertissements\n"
-"  -v, --verbose               produire des statistiques du scanner sur stdout\n"
+"  -v, --verbose               produire des statistiques du scanner sur "
+"stdout\n"
 "\n"
 "Fichiers :\n"
 "  -o, --outfile=FICHIER       indiquer un nom de fichier de sortie\n"
 "  -S, --skel=FICHIER          indiquer le fichier du squelette\n"
 "  -t, --stdout                produire le scanner sur stdout au lieu de %s\n"
 "      --yyclass=NOM           nom de la classe C++\n"
-"      --header-file=FICHIER   créer le fichier d'en-tête C en plus du scanner\n"
+"      --header-file=FICHIER   créer le fichier d'en-tête C en plus du "
+"scanner\n"
 "      --tables-file[=FICHIER] écrire les tables dans le FICHIER\n"
 "\n"
 "Comportement du scanner :\n"
@@ -636,8 +657,10 @@
 "  -8, --8bit              générer un scanner de 8 bits\n"
 "  -B, --batch             générer un scanner par lot (contraire de -I)\n"
 "  -i, --case-insensitive  ignorer la casse dans les patrons\n"
-"  -l, --lex-compat        établir une compatibilité maximale avec lex d'origine\n"
-"  -X, --posix-compat      établir une compatibilité maximale avec lex de POSIX\n"
+"  -l, --lex-compat        établir une compatibilité maximale avec lex "
+"d'origine\n"
+"  -X, --posix-compat      établir une compatibilité maximale avec lex de "
+"POSIX\n"
 "  -I, --interactive       générer un scanner interactif (contraire de -B)\n"
 "      --yylineno          suivre le compte de lignes dans yylineno\n"
 "\n"
@@ -645,7 +668,8 @@
 "  -+,  --c++               générer la classe C++ du scanner\n"
 "  -Dmacro[=def]            définition macro #define (« 1 » par défaut)\n"
 "  -L,  --noline            supprimer les directives #line dans le scanner\n"
-"  -P,  --prefix=CHAÎNE     utiliser la CHAÎNE comme préfixe au lieu de « yy »\n"
+"  -P,  --prefix=CHAÎNE     utiliser la CHAÎNE comme préfixe au lieu de "
+"« yy »\n"
 "  -R,  --reentrant         générer un scanner C en code rentrant\n"
 "       --bison-bridge      scanner pour l'analyseur pur bison\n"
 "       --bison-locations   inclure la prise en charge de yylloc.\n"
@@ -660,51 +684,53 @@
 "  -h, --help              afficher l'aide-mémoire\n"
 "  -V, --version           afficher la version %s du logiciel\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "échec d'allocation de sko_stack"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "le nom « %s » est ridiculement long"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "échec d'allocation mémoire dans allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "mauvais caractère « %s » détecté dans check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
-msgstr "l'analyseur nécessite l'option -8 pour pouvoir utiliser le caractère %s"
+msgstr ""
+"l'analyseur nécessite l'option -8 pour pouvoir utiliser le caractère %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "échec de mémoire dynamique dans copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "échec d'allocation mémoire dans allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s : erreur interne fatale, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "échec de la tentative d'augmenter la taille du tableau"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "mauvaise ligne dans le fichier canevas"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "échec d'allocation mémoire dans yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -715,230 +741,243 @@
 "\n"
 "********** début du vidage de nfa avec %d pour état de départ\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "état nº %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** fin du vidage\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "machine vide dans dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Règle de contexte traîné variable à la ligne %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "mauvais type d'état dans mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "les règles d'entrée sont trop compliquées (>= %d états NFA)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "il y a trop de transitions dans mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "trop de règles (> %d)."
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "erreur inconnue de traitement à la section 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "mauvaise liste de conditions de départ"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "règle non reconnue"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "contexte traîné utilisé deux fois"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "valeurs d'itération erronée"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "la valeur d'itération doit être positive"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la casse"
+msgstr ""
+"l'étendue de caractères [%c-%c] est ambiguë pour un scanner insensible à la "
+"casse"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "plage négative dans la classe de caractères"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] est ambigu pour un scanner insensible à la casse"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] est ambigu pour un scanner insensible à la casse"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "ligne d'entrée trop longue\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "directive « %top » mal composée"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "directive « % » inconnue"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Nom de définition trop long\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "« { » non apparié"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Valeur de définition trop longue pour {%s}\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "définition de nom incomplète"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Ligne d'option trop longue\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "%%option non reconnue : %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "mauvaise classe de caractères"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "définition {%s} non définie"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "mauvaise <condition de départ> : %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "guillemet manquant"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "mauvaise expression de classe de caractères : %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "mauvais caractère entre accolades « {} »"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "« } » manquante"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "Fin de fichier rencontrée à l'intérieur d'une action"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "Fin de fichier rencontrée à l'intérieur d'un modèle"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "mauvais caractère : %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "impossible d'ouvrir %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Utilisation : %s [OPTIONS]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "l'option « %s » ne permet pas d'argument\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "l'option « %s » nécessite un argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "l'option « %s » est ambiguë\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Option « %s » non reconnue\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Erreur inconnue=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "échec d'allocation mémoire de la table des symboles"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "nom défini deux fois"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "condition de départ %s déclarée deux fois"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "fin de fichier inattendue"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Marqueur de fin\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Très bizarre* — tok : %d val : %d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "échec de mémoire dynamique dans copy_string()"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "le contrôle de cohérence a échoué dans symfollowset()"
 
@@ -970,8 +1009,10 @@
 #~ msgid "-C flag must be given separately"
 #~ msgstr "L'option -C doit être utilisée séparément"
 
-#~ msgid "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
-#~ msgstr "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osortie -Ppréfixe -Scanevas]\n"
+#~ msgid ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
+#~ msgstr ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -osortie -Ppréfixe -Scanevas]\n"
 
 #~ msgid "\t[--help --version] [file ...]\n"
 #~ msgstr "\t[--help --version] [fichier ...]\n"
@@ -1004,10 +1045,12 @@
 #~ msgstr "\t-p  affiche un rapport de performance sur stderr\n"
 
 #~ msgid "\t-s  suppress default rule to ECHO unmatched text\n"
-#~ msgstr "\t-s  supprime la règle par défaut qui AFFICHE le texte non reconnu\n"
+#~ msgstr ""
+#~ "\t-s  supprime la règle par défaut qui AFFICHE le texte non reconnu\n"
 
 #~ msgid "\t-t  write generated scanner on stdout instead of %s\n"
-#~ msgstr "\t-t  écrit l'analyseur généré sur la sortie standard au lieu de %s\n"
+#~ msgstr ""
+#~ "\t-t  écrit l'analyseur généré sur la sortie standard au lieu de %s\n"
 
 #~ msgid "\t-v  write summary of scanner statistics to f\n"
 #~ msgstr "\t-v  écrit un résumé des statistiques de l'analyseur sur f\n"
@@ -1046,7 +1089,8 @@
 #~ msgstr "\t-?  affiche ce message d'aide\n"
 
 #~ msgid "\t-C  specify degree of table compression (default is -Cem):\n"
-#~ msgstr "\t-C  spécifie le degré de compression des tables (-Cem par défaut) :\n"
+#~ msgstr ""
+#~ "\t-C  spécifie le degré de compression des tables (-Cem par défaut) :\n"
 
 #~ msgid "\t\t-Ca  trade off larger tables for better memory alignment\n"
 #~ msgstr ""
@@ -1057,16 +1101,21 @@
 #~ msgstr "\t\t-Ce  construit des classes d'équivalence\n"
 
 #~ msgid "\t\t-Cf  do not compress scanner tables; use -f representation\n"
-#~ msgstr "\t\t-Cf  ne comprime pas les tables de l'analyseur ; utilise la représentation -f\n"
+#~ msgstr ""
+#~ "\t\t-Cf  ne comprime pas les tables de l'analyseur ; utilise la "
+#~ "représentation -f\n"
 
 #~ msgid "\t\t-CF  do not compress scanner tables; use -F representation\n"
-#~ msgstr "\t\t-CF  ne comprime pas les tables de l'analyseur ; utilise la représentation -F\n"
+#~ msgstr ""
+#~ "\t\t-CF  ne comprime pas les tables de l'analyseur ; utilise la "
+#~ "représentation -F\n"
 
 #~ msgid "\t\t-Cm  construct meta-equivalence classes\n"
 #~ msgstr "\t\t-Cm  construit des classes de meta-équivalence\n"
 
 #~ msgid "\t\t-Cr  use read() instead of stdio for scanner input\n"
-#~ msgstr "\t\t-Cr  utilise read() au lieu de stdio pour l'entrée de l'analyseur\n"
+#~ msgstr ""
+#~ "\t\t-Cr  utilise read() au lieu de stdio pour l'entrée de l'analyseur\n"
 
 #~ msgid "\t-o  specify output filename\n"
 #~ msgstr "\t-o  spécifie le nom du fichier de sortie\n"
diff --git a/po/ga.po b/po/ga.po
index e2d8706..32ef518 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2017-01-10 09:37-0500\n"
 "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
 "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@@ -16,43 +16,43 @@
 "Content-Transfer-Encoding: 8bit\n"
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Níorbh fhéidir spás a leagan amach chun teaghrán a phriontáil"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Níorbh fhéidir spás a leagan amach do threoir líne"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Níorbh fhéidir spás a leagan amach do shainmhíniú m4"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Níorbh fhéidir spás a leagan amach do dhí-shainmhíniú m4"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Níl an staid #%d ina staid ghlactha -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "comhthéacs leantach baolach"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " líne-uimhreacha de na rialacha gaolmhara:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " athruithe amach: "
 
 # weak, I know -- KPS
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -61,11 +61,11 @@
 "\n"
 " athruithe plúchta: comhadchríoch "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "níorbh fhéidir comhsheasmhacht a sheiceáil in epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -77,24 +77,24 @@
 "Dumpa DFA:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "níorbh fhéidir staid shainiúil a chruthú ag deireadh maoláin"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "staid # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Níorbh fhéidir yynxt_tbl[][] a scríobh"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "carachtar trasdula neamhbhailí i sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -106,29 +106,29 @@
 "Aicmí Coibhéise:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "glacann staid # %d le: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "glacann staid # %d le: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Níorbh fhéidir yyacclist_tbl a scríobh"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Níorbh fhéidir yyacc_tbl a scríobh"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Níorbh fhéidir ecstbl a scríobh"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -138,393 +138,404 @@
 "\n"
 "Aicmí Meiteachoibhéise:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Níorbh fhéidir yymeta_tbl a scríobh"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Níorbh fhéidir yybase_tbl a scríobh"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Níorbh fhéidir yydef_tbl a scríobh"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Níorbh fhéidir yynxt_tbl a scríobh"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Níorbh fhéidir yychk_tbl a scríobh"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Níorbh fhéidir ftbl a scríobh"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Níorbh fhéidir ssltbl a scríobh"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Níorbh fhéidir eoltbl a scríobh"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Níorbh fhéidir yynultrans_tbl a scríobh"
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "ní féidir an riail a mheaitseáil"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "tugadh rogha -s ach is féidir riail réamhshocraithe a mheaitseáil"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Níl -+ ar fáil in éineacht le rogha -l"
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Níl -f nó -F ar fáil in éineacht le -l"
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Níl --reentrant nó --bison-bridge ar fáil in éineacht le rogha -l"
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "Ní féidir -Cf/-CF agus -Cm a úsáid le chéile"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "Ní féidir -Cf/-CF agus -I a úsáid le chéile"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "Níl -Cf/-CF ar fáil i mód comhoiriúnachta lex"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "Is comheisiatach iad na roghanna -Cf agus -CF"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Níl -+ ar fáil in éineacht le rogha -CF"
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "Ní féidir %array a úsáid le rogha -+"
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Is comheisiatach iad na roghanna -+ agus --reentrant."
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "níl bison bridge ar fáil don scanóir C++."
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "níorbh fhéidir %s a chruthú"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "níorbh fhéidir ceanntásc táblaí a scríobh"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "ní féidir creatchomhad %s a oscailt"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "níorbh fhéidir spás a leagan amach do shainmhíniú an mhacra"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "earráid agus creatchomhaid %s á léamh"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "earráid agus creatchomhaid %s á dhúnadh"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "earráid agus comhad ceanntáisc %s á chruthú"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "earráid agus aschomhaid %s á scríobh"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "earráid agus aschomhad %s á dhúnadh"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "earráid agus aschomhaid %s á scriosadh"
 
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Gan cúlú.\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d staid chúlaithe (nach bhfuil ina staid ghlactha).\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Cúlaíonn táblaí comhbhrúite i gcónaí.\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "earráid agus comhad cúltaca %s á scríobh"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "earráid agus comhad cúltaca %s á dhúnadh"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s leagan %s staitistic d'úsáid:\n"
 
 # fr uses "lexical analyzer"; scanóir seems fine though --KPS
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  roghanna don scanóir: -"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d staid NFA\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d staid DFA (%d focal)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d riail\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Gan cúlú\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d staid chúlaithe (níl ina staid ghlactha)\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Cúlaíonn táblaí comhbhrúite i gcónaí\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Patrúin úsáidte ag tús na líne\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d coinníoll tosaigh\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d staid eipsealóin, %d staid eipsealóin dúbailte\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  níl aon aicme charachtair ann\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  tá gá le %d/%d aicme charachtair %d/%d focal stórála, %d athúsáidte\n"
+msgstr ""
+"  tá gá le %d/%d aicme charachtair %d/%d focal stórála, %d athúsáidte\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d péire state/nextstate\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d athrú sainiúil/dúblach\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d iontráil sa tábla\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d iontráil base-def\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (buaic %d) iontráil nxt-chk\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (buaic %d) iontráil teimpléid nxt-chk\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d iontráil tábla folamh\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d fréamhshamhail\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d teimpléad, %d i bhfeidhm\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d aicme choibhéise\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d aicme mheiteachoibhéise\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d sábháilte) tuairt haiseála, %d DFA comhionann le chéile\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  tá gá le %d sraith athdháilte\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  tá gá le %d iontráil tábla ar fad\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Earráid inmheánach (flexopts míchumtha).\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "rogha -C anaithnid '%c'"
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "earráid pharsála mharfach"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "níorbh fhéidir comhad %s a chruthú don eolas faoin chúlú"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr "is cúis le moilliú mór an rogha -l (comhoiriúnacht le AT&T lex)\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " agus b'fhéidir gur cúis le fadhbanna luais eile é\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "is cúis le moilliú mór an %%rogha yylineno, MÁ tá rialacha ann a bhfuil línte nua iontu\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"is cúis le moilliú mór an %%rogha yylineno, MÁ tá rialacha ann a bhfuil "
+"línte nua iontu\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "is cúis le moilliú beag an rogha -I (idirghníomhach)\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "is cúis le moilliú beag an fheidhm yymore()\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "is cúis le moilliú mór é REJECT\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "is cúis le moilliú na rialacha maidir le comhthéacs leantach athraitheach\n"
+msgstr ""
+"is cúis le moilliú na rialacha maidir le comhthéacs leantach athraitheach\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "Níl REJECT ar fáil leis na roghanna -f nó -F"
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "níl %option yylineno ar fáil le REJECT"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "níl rialacha maidir le comhthéacs leantach athraitheach ar fáil le -f nó -F"
+msgstr ""
+"níl rialacha maidir le comhthéacs leantach athraitheach ar fáil le -f nó -F"
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "tá an %option yyclass gan bhrí ach amháin le scanóirí C++"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Úsáid: %s [ROGHANNA] [COMHAD]...\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -547,13 +558,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -575,8 +589,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -607,21 +619,24 @@
 "  -s, --nodefault         ná déan macalla de théacs neamh-chomhoiriúnach\n"
 "  -T, --trace             ba chóir do %s a rith sa mhód loirg\n"
 "  -w, --nowarn            ná taispeáin rabhaidh\n"
-"  -v, --verbose           taispeáin achoimre ar staitistic scanóra chuig stdout\n"
+"  -v, --verbose           taispeáin achoimre ar staitistic scanóra chuig "
+"stdout\n"
 "\n"
 "Comhaid:\n"
 "  -o, --outfile=COMHAD    roghnaigh ainm comhaid le haghaidh aschuir\n"
 "  -S, --skel=COMHAD       roghnaigh creatchomhad\n"
 "  -t, --stdout            scríobh an scanóir chuig stdout in ionad %s\n"
 "      --yyclass=COMHAD    ainm de `class' C++\n"
-"      --header-file=COMHAD scríobh comhad ceanntáisc C i dteannta an scanóra\n"
+"      --header-file=COMHAD scríobh comhad ceanntáisc C i dteannta an "
+"scanóra\n"
 "      --tables-file[=COMHAD] scríobh na táblaí chuig COMHAD\n"
 "\n"
 "Scanóir:\n"
 "  -7, --7bit              gin scanóir 7-giotán\n"
 "  -8, --8bit              gin scanóir 8-giotán\n"
 "  -B, --batch             gin scanóir baisce (i gcodarsnacht le -I)\n"
-"  -i, --case-insensitive  déan neamhshuim ar cheannlitreacha/litreacha beaga\n"
+"  -i, --case-insensitive  déan neamhshuim ar cheannlitreacha/litreacha "
+"beaga\n"
 "  -l, --lex-compat        comhoiriúnacht le lex bunúsach, a mhéad is féidir\n"
 "  -X, --posix-compat      comhoiriúnacht le lex POSIX, a mhéad is féidir\n"
 "  -I, --interactive       gin scanóir idirghníomhach (i gcodarsnacht le -B)\n"
@@ -648,51 +663,52 @@
 "  -h, --help              taispeáin an chabhair seo\n"
 "  -V, --version           taispeáin leagan %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "níorbh fhéidir spás a leagan amach do sko_stack"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "tá an t-ainm \"%s\" i bhfad Éireann rófhada"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "theip ar dháileadh na cuimhne i allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "aimsíodh carachtar neamhbhailí '%s' i check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "teastaíonn rogha -8 ón scanóir chun carachtar %s a úsáid"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "theip ar chuimhne dhinimiciúil i copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "theip ar dháileadh na cuimhne i allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: earráid inmheánach mharfach, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "theip ar mhéadú an eagair"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "drochlíne i gcreatchomhad"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "theip ar dháileadh cuimhne i yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -703,229 +719,246 @@
 "\n"
 "********** ag tosú dumpála de nfa le staid tosaigh %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "staid # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** deireadh an dumpa\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "meaisín folamh i dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Riail maidir le comhthéacs leantach athraitheach ag líne %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "drochstaid i mark_beginning_as_normal()"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "is róchasta na rialacha ionchuir (>= %d staid NFA)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "an iomarca athruithe i mkxtion()"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "an iomarca rialacha (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "earráid anaithnid agus an chéad pháirt á próiseáil"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "is neamhbhailí liosta na gcoinníollacha tosaigh"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "riail anaithnid"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "baineadh úsáid as comhthéacs leantach faoi dhó"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "luachanna timthrialla neamhbhailí"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "ní foláir luach timthrialla deimhneach"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha agus litreacha beaga"
+msgstr ""
+"tá an raon carachtair [%c-%c] débhríoch i scanóir a dhéanann neamhshuim ar "
+"cheannlitreacha agus litreacha beaga"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "raon diúltach in aicme charachtair"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
-msgstr "tá [:^lower:] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha agus litreacha beaga"
+msgstr ""
+"tá [:^lower:] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha "
+"agus litreacha beaga"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
-msgstr "tá [:^upper:] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha agus litreacha beaga"
+msgstr ""
+"tá [:^upper:] débhríoch i scanóir a dhéanann neamhshuim ar cheannlitreacha "
+"agus litreacha beaga"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Líne ionchurtha rófhada\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "treoir '%top' míchumtha"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "treoir '%' anaithnid"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Ainm an tsainmhínithe rófhada\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "'{' corr"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Luach an tsainmhínithe {%s} rófhada\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "is neamhiomlán sainmhíniú an ainm"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Líne roghanna rófhada\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "rogha %% anaithnid: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "aicme charachtair neamhbhailí"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "sainmhíniú neamhshainithe {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "<coinníoll tosaigh> neamhbhailí: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "comhartha athfhriotal ar iarraidh"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "is neamhbhailí an slonn aicme carachtair: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "carachtar neamhbhailí idir {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "} ar iarraidh."
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "Buaileadh comhadchríoch laistigh de ghníomh"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "Buaileadh comhadchríoch laistigh de phatrún"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "carachtar neamhbhailí: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "ní féidir %s a oscailt"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Úsáid: %s [ROGHANNA]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "ní cheadaítear argóint i ndiaidh na rogha `%s'\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "tá argóint de dhíth i ndiaidh na rogha `%s'\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "tá an rogha `%s' débhríoch\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Rogha anaithnid `%s'\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Earráid anaithnid=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "theip ar dháileadh na cuimhne don tábla na siombailí"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "sainmhíníodh an t-ainm faoi dhó"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "fógraíodh an coinníoll tosaigh %s faoi dhó"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "comhadchríoch gan súil leis"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Comhartha Deiridh\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Rud Éigin Aisteach* - tok: %d val: %d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "theip ar chuimhne dhinimiciúil i copy_string()"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "theip ar sheiceáil chomhionannais i symfollowset"
diff --git a/po/hr.po b/po/hr.po
index 74de819..4c6beec 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,65 +7,66 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-10-05 16:48+0200\n"
 "Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
 "Language: hr\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 1.4\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr ""
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr ""
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr ""
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr ""
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr ""
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr ""
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr ""
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr ""
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
 " jam-transitions: EOF "
 msgstr ""
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr ""
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -73,24 +74,24 @@
 "\n"
 msgstr ""
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr ""
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr ""
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr ""
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr ""
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -98,420 +99,426 @@
 "\n"
 msgstr ""
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr ""
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr ""
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr ""
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr ""
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr ""
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
 "Meta-Equivalence Classes:\n"
 msgstr ""
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr ""
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr ""
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr ""
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr ""
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr ""
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr ""
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr ""
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr ""
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr ""
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr ""
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr ""
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr ""
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr ""
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr ""
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr ""
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr ""
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr ""
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr ""
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr ""
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr ""
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr ""
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr ""
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr ""
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr ""
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr ""
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr ""
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr ""
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "greška pri zatvaranju datoteke predloška %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "greška pri stvaranju datoteke zaglavlja %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "greška pri pisanju izlazne datoteke %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "greška pri zatvaranju izlazne datoteke %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "greška pri uklanjanju izlazne datoteke %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr ""
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr ""
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr ""
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr ""
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr ""
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr ""
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr ""
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr ""
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr ""
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr ""
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr ""
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr ""
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr ""
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr ""
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr ""
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr ""
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr ""
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr ""
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr ""
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr ""
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr ""
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr ""
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr ""
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr ""
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr ""
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr ""
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr ""
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr ""
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr ""
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr ""
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr ""
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr ""
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr ""
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Pokušajte „%s --help” za više informacija.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "nepoznata -C opcija „%c”"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "fatalna greška analize"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr ""
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr ""
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr ""
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
 msgstr ""
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr ""
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr ""
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr ""
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr ""
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr ""
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr ""
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr ""
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr ""
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Uporaba: %s [OPCIJE] [DATOTEKA]...\n"
 
-#: main.c:1805
+#: src/main.c:1794
 #, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
@@ -535,13 +542,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -563,8 +573,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -576,51 +584,52 @@
 "  -V, --version           report %s version\n"
 msgstr ""
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr ""
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr ""
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr ""
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr ""
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr ""
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr ""
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "alokacija memorije za tablicu simbola nije uspjela"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr ""
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr ""
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "neispravan redak u datoteci predloška"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr ""
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -628,226 +637,234 @@
 "********** beginning dump of nfa with start state %d\n"
 msgstr ""
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr ""
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr ""
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr ""
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr ""
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr ""
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr ""
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr ""
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "previše pravila (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr ""
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr ""
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "neprepoznato pravilo"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr ""
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "neispravne vrijednosti iteracije"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "vrijednost iteracije mora biti pozitivna"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr ""
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr ""
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr ""
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr ""
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Ulazni redak je predugačak\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr ""
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr ""
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Ime definicije je predugačko\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Neuparena „{”"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr ""
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "nepotpuna definicija imena"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Redak opcija je predugačak\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr ""
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "neispravan razred znakova"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "nedefinirana definicija {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr ""
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "nedostaje navodnik"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr ""
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "neispravan znak unutar {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "nedostaje }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr ""
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr ""
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "neispravan znak: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "ne mogu otvoriti %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Uporaba: %s [OPCIJE]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "opcija „%s” ne dozvoljava argument\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "opcija „%s” zahtijeva argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "opcija „%s” je višeznačna\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Neprepoznata opcija „%s”\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Nepoznata greška=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "alokacija memorije za tablicu simbola nije uspjela"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "ime je dvaput definirano"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr ""
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "preuranjen EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Oznaka kraja\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Nešto je čudno* - simbol: %d vrijednost: %d\n"
diff --git a/po/ko.po b/po/ko.po
index ad7ff45..4043a36 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -5,651 +5,1034 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: flex 2.5.2\n"
+"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 1997-02-05 20:30\n"
 "Last-Translator: Choi Jun Ho <junker@jazz.snu.ac.kr>\n"
 "Language-Team: Korean <ko@li.org>\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Language: ko\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=EUC-KR\n"
 "Content-Transfer-Encoding: 8-bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: main.c:361
-msgid "input error reading skeleton file %s"
-msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ Àд µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
-
-#: main.c:898
-msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " ±×¸®°í ¾Æ¸¶µµ ´Ù¸¥ º¸°íµÈ ¼º´É ÀúÇÏÀÇ ½ÇÁ¦ ¿øÀÎÀÏ °ÍÀÔ´Ï´Ù\n"
-
-#: main.c:814
-msgid ""
-"%s: unknown flag '%c'.  For usage, try\n"
-"\t%s --help\n"
+#: src/buf.c:79
+msgid "Allocation of buffer to print string failed"
 msgstr ""
-"%s: ¾Ë ¼ö ¾ø´Â ¿É¼Ç '%c'.  »ç¿ë¹ýÀ» º¸·Á¸é \n"
-"\t%s --help¶ó°í Çϼ¼¿ä.\n"
 
-#: dfa.c:211
-msgid " out-transitions: "
-msgstr " ³ª°¡´Â ÂÊ ÀüÀÌ: "
+#: src/buf.c:107
+msgid "Allocation of buffer for line directive failed"
+msgstr ""
 
-#: main.c:394
-msgid "Compressed tables always back up.\n"
-msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù.\n"
+#: src/buf.c:177
+msgid "Allocation of buffer for m4 def failed"
+msgstr ""
 
-#: main.c:896
-msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "-l AT&T lex ȣȯ ¿É¼ÇÀº Å« ¼º´É ÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
+#: src/buf.c:198
+msgid "Allocation of buffer for m4 undef failed"
+msgstr ""
 
-#: scan.l:493
-msgid "missing quote"
-msgstr "Àοë±âÈ£ ºüÁü"
-
-#: dfa.c:130
-msgid "dangerous trailing context"
-msgstr "À§ÇèÇÑ ÃßÀû ¹®¸Æ"
-
-#: main.c:556
-msgid "  %d/%d equivalence classes created\n"
-msgstr "  %d/%d°³ÀÇ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
-
-#: main.c:158
-msgid "-s option given but default rule can be matched"
-msgstr "-s ¿É¼ÇÀÌ ÁÖ¾îÁ³Áö¸¸ ±âº» ±ÔÄ¢ÀÌ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù"
-
-#: main.c:762
-msgid "-P flag must be given separately"
-msgstr "-P Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
-
-#: gen.c:426 gen.c:902
-msgid "state # %d accepts: [%d]\n"
-msgstr "»óŹøÈ£ %d´Â [%d]¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù\n"
-
-#: main.c:401
-msgid "error closing backup file %s"
-msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
-
-#: main.c:753
-msgid "-o flag must be given separately"
-msgstr "-o Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
-
-#: main.c:774
-msgid "-S flag must be given separately"
-msgstr "-S Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
-
-#: main.c:302
-msgid "can't open skeleton file %s"
-msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:545
-msgid "  %d protos created\n"
-msgstr "  %d°³ÀÇ ¿øÇüÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n"
-
-#: dfa.c:1043
-msgid "bad transition character detected in sympartition()"
-msgstr "sympartition()¿¡¼­ À߸øµÈ ÀüÀÌ ¹®ÀÚ¸¦ ã¾Ò½À´Ï´Ù"
-
-#: dfa.c:606
-msgid "state # %d:\n"
-msgstr "»óŹøÈ£ %d:\n"
-
-#: main.c:662
-msgid "-C flag must be given separately"
-msgstr "-C Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
-
-#: main.c:390
-msgid "%d backing up (non-accepting) states.\n"
-msgstr "%d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ.\n"
-
-#: scan.l:136
-msgid "unrecognized '%' directive"
-msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ"
-
-#: main.c:543
-msgid "  %d empty table entries\n"
-msgstr "  %d°³ÀÇ ºó Å×ÀÌºí ¿£Æ®¸®\n"
-
-#: main.c:539
-msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
-msgstr "  %d/%d (ÃÖ´ë %d) ÅÛÇø®Æ® nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
-
-#: main.c:533
-msgid "  %d/%d base-def entries created\n"
-msgstr "  %d/%d base-def ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
-
-#: dfa.c:173
-msgid " associated rule line numbers:"
-msgstr " °ü·Ã ±ÔÄ¢ Çà¹øÈ£:"
-
-#: scan.l:286
-msgid "unrecognized %%option: %s"
-msgstr "¾Ë ¼ö ¾ø´Â %%option: %s"
-
-#: main.c:496
-msgid "  Compressed tables always back-up\n"
-msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù\n"
-
-#: main.c:573
-msgid "  %d total table entries needed\n"
-msgstr "  ÃÑ %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®°¡ ÇÊ¿äÇÕ´Ï´Ù\n"
-
-#: main.c:519
-msgid "  %d/%d unique/duplicate transitions\n"
-msgstr "  %d/%d°³ÀÇ À¯ÀÏÇÑ/Áߺ¹µÇ´Â ÀüÀÌ\n"
-
-#: dfa.c:990
-msgid "consistency check failed in symfollowset"
-msgstr "symfollowset¿¡¼­ ÀÏ°ü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù"
-
-#: scan.l:533
-msgid "bad character class expression: %s"
-msgstr "À߸øµÈ ¹®ÀÚ ÁýÇÕ ½Ä: %s"
-
-#: scan.l:444
-msgid "undefined definition {%s}"
-msgstr "Á¤ÀǵÇÁö ¾ÊÀº Á¤ÀÇ {%s}"
-
-#: main.c:397
-msgid "error writing backup file %s"
-msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
-
-#: scan.l:628
-msgid "EOF encountered inside an action"
-msgstr "µ¿ÀÛ µµÁß¿¡ EOF¸¦ ¸¸³µ½À´Ï´Ù"
-
-#: main.c:874
-msgid "could not create backing-up info file %s"
-msgstr "µÇµ¹¸² Á¤º¸ ÆÄÀÏ %s¸¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù"
-
-#: main.c:548
-msgid "  %d templates created, %d uses\n"
-msgstr "  %d°³ÀÇ ÅÛÇø®Æ®°¡ ¸¸µé¾îÁö°í, %d°³¸¦ ¾¹´Ï´Ù\n"
-
-#: main.c:228
-msgid "-Cf/-CF are incompatible with lex-compatibility mode"
-msgstr "-Cf/-CF ´Â lexȣȯ ¸ðµå¿Í´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: scan.l:677
-msgid "can't open %s"
-msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:489
-msgid "  No backing up\n"
-msgstr "  µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù\n"
-
-#: scan.l:555
-msgid "missing }"
-msgstr "}ÀÌ ºüÁ³½À´Ï´Ù"
-
-#: main.c:483
-msgid "  %d/%d DFA states (%d words)\n"
-msgstr "  %d/%d°³ÀÇ DFA »óÅ (%d ´Ü¾î)\n"
-
-#: scan.l:648
-msgid "bad character: %s"
-msgstr "À߸øµÈ ¹®ÀÚ: %s"
-
-#: gen.c:925
-msgid "\n\nMeta-Equivalence Classes:\n"
-msgstr "\n\n¸ÞŸ-µ¿Ä¡·ùµé:\n"
-
-#: main.c:232
-msgid "-Cf/-CF and %option yylineno are incompatible"
-msgstr "-Cf/-CF¿Í %option yylineno ´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:296
-msgid "could not create %s"
-msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
-
-#: dfa.c:585
-msgid "could not create unique end-of-buffer state"
-msgstr "À¯ÀÏÇÑ ¹öÆÛÀÇ ³¡(end-of-buffer)»óŸ¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù"
-
-#: main.c:365
-msgid "error closing skeleton file %s"
-msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
-
-#: main.c:911
-msgid "-I (interactive) entails a minor performance penalty\n"
-msgstr "-I (´ëÈ­Çü) Àº ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
-
-#: main.c:536
-msgid "  %d/%d (peak %d) nxt-chk entries created\n"
-msgstr "  %d/%d (ÃÖ´ë %d) nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
-
-#: main.c:235
-msgid "-Cf and -CF are mutually exclusive"
-msgstr "-Cf¿Í -CF´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:407
-msgid "%s version %s usage statistics:\n"
-msgstr "%s ¹öÀü %s »ç¿ë Åë°è:\n"
-
-#: main.c:221
-msgid "-Cf/-CF and -Cm don't make sense together"
-msgstr "-Cf/-CF´Â -Cm¿Í °°ÀÌ ¾²¸é Àǹ̰¡ ¾ø½À´Ï´Ù"
-
-#: main.c:512
-msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d ¹®ÀÚ ÁýÇÕ¿¡ %d/%d°³ÀÇ ÀúÀå¿ë ¹®ÀÚ°¡ ÇÊ¿äÇß°í, %d°³´Â Àç»ç¿ëµÇ¾ú½À´Ï´Ù.\n"
-
-#: main.c:380
-msgid "error deleting output file %s"
-msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ Áö¿ì´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
-
-#: dfa.c:356
-msgid "consistency check failed in epsclosure()"
-msgstr "epsclosure()¿¡¼­ ÀÏ°ü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù"
-
-#: main.c:481
-msgid "  %d/%d NFA states\n"
-msgstr "  %d/%d°³ÀÇ NFA »óÅÂ\n"
-
-#: main.c:509
-msgid "  no character classes\n"
-msgstr "  ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n"
-
-#: main.c:904
-msgid "%%option yylineno entails a large performance penalty\n"
-msgstr "%%option yylineno´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
-
-#: main.c:182
-msgid "Can't use -+ with -l option"
-msgstr "-l¿É¼Ç¿¡´Â -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: dfa.c:439
-msgid "\n\nDFA Dump:\n\n"
-msgstr "\n\nDFA Ãâ·Â:\n\n"
-
-#: main.c:410
-msgid "  scanner options: -"
-msgstr "  ½ºÄ³³Ê ¿É¼Ç: -"
-
-#: gen.c:823
-msgid "state # %d accepts: "
-msgstr "»óŹøÈ£ %d´Â ´ÙÀ½À» ¹Þ¾ÆµéÀÔ´Ï´Ù: "
-
-#: main.c:224
-msgid "-Cf/-CF and -I are incompatible"
-msgstr "-Cf/-CF¿Í -I´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: scan.l:480
-msgid "bad <start condition>: %s"
-msgstr "À߸øµÈ <½ÃÀÛ Á¶°Ç>: %s"
-
-#: main.c:492
-msgid "  %d backing-up (non-accepting) states\n"
-msgstr "  %d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ\n"
-
-#: main.c:505
-msgid "  %d epsilon states, %d double epsilon states\n"
-msgstr "  %d°³ÀÇ ¿¦½Ç·Ð »óÅÂ, %d°³ÀÇ ÀÌÁß ¿¦½Ç·Ð »óÅÂ\n"
-
-#: main.c:239
-msgid "Can't use -+ with -CF option"
-msgstr "-CF¿É¼Ç¿¡ -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:153
-msgid "rule cannot be matched"
-msgstr "¸Â´Â ±ÔÄ¢À» ãÀ» ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:796
-msgid "%s version %s\n"
-msgstr "%s ¹öÀü %s\n"
-
-#: main.c:525
-msgid "  %d table entries\n"
-msgstr "  %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®\n"
-
-#: main.c:702
-msgid "unknown -C option '%c'"
-msgstr "¾Ë ¼ö ¾ø´Â -C ¿É¼Ç '%c'"
-
-#: scan.l:412 scan.l:512
-msgid "bad character class"
-msgstr "À߸øµÈ ¹®ÀÚ·ù"
-
-#: main.c:185
-msgid "Can't use -f or -F with -l option"
-msgstr "-l¿É¼Ç¿¡ -f³ª -F¿É¼ÇÀ» ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:571
-msgid "  %d sets of reallocations needed\n"
-msgstr "  %d°³ÀÇ ÀçÇÒ´ç ÁýÇÕÀÌ ÇÊ¿äÇÕ´Ï´Ù\n"
-
-#: main.c:387
-msgid "No backing up.\n"
-msgstr "µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù.\n"
-
-#: main.c:243
-msgid "%array incompatible with -+ option"
-msgstr "%array´Â -+¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
-
-#: main.c:485
-msgid "  %d rules\n"
-msgstr "  %d°³ÀÇ ±ÔÄ¢\n"
-
-#: main.c:517
-msgid "  %d state/nextstate pairs created\n"
-msgstr "  %d°³ÀÇ »óÅÂ/´ÙÀ½ »óÅ ½ÖÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n"
-
-#: scan.l:549
-msgid "bad character inside {}'s"
-msgstr "{}¾ÈÀÇ À߸øµÈ ¹®ÀÚ"
-
-#: dfa.c:63
+#: src/dfa.c:59
+#, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "»óŹøÈ£ %d´Â ¹Þ¾ÆµéÀÌÁö ¾Ê´Â -ÀÔ´Ï´Ù\n"
 
-#: dfa.c:219
-msgid "\n jam-transitions: EOF "
-msgstr "\n Àë-ÀüÀÌ: EOF "
+#: src/dfa.c:119
+msgid "dangerous trailing context"
+msgstr "À§ÇèÇÑ ÃßÀû ¹®¸Æ"
 
-#: main.c:500
-msgid "  Beginning-of-line patterns used\n"
-msgstr "  Çà ½ÃÀÛ(beginning-of-line) À¯ÇüÀ» »ç¿ëÇÏ¿´½À´Ï´Ù\n"
+#: src/dfa.c:159
+#, c-format
+msgid " associated rule line numbers:"
+msgstr " °ü·Ã ±ÔÄ¢ Çà¹øÈ£:"
 
-#: main.c:564
-msgid "  %d/%d meta-equivalence classes created\n"
-msgstr "  %d/%d ¸ÞŸ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+#: src/dfa.c:193
+#, c-format
+msgid " out-transitions: "
+msgstr " ³ª°¡´Â ÂÊ ÀüÀÌ: "
 
-#: main.c:372
+#: src/dfa.c:201
+#, c-format
+msgid ""
+"\n"
+" jam-transitions: EOF "
+msgstr ""
+"\n"
+" Àë-ÀüÀÌ: EOF "
+
+#: src/dfa.c:331
+msgid "consistency check failed in epsclosure()"
+msgstr "epsclosure()¿¡¼­ ÀÏ°ü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù"
+
+#: src/dfa.c:419
+msgid ""
+"\n"
+"\n"
+"DFA Dump:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"DFA Ãâ·Â:\n"
+"\n"
+
+#: src/dfa.c:587
+msgid "could not create unique end-of-buffer state"
+msgstr "À¯ÀÏÇÑ ¹öÆÛÀÇ ³¡(end-of-buffer)»óŸ¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù"
+
+#: src/dfa.c:608
+#, c-format
+msgid "state # %d:\n"
+msgstr "»óŹøÈ£ %d:\n"
+
+#: src/dfa.c:768
+msgid "Could not write yynxt_tbl[][]"
+msgstr ""
+
+#: src/dfa.c:1028
+msgid "bad transition character detected in sympartition()"
+msgstr "sympartition()¿¡¼­ À߸øµÈ ÀüÀÌ ¹®ÀÚ¸¦ ã¾Ò½À´Ï´Ù"
+
+#: src/gen.c:480
+msgid ""
+"\n"
+"\n"
+"Equivalence Classes:\n"
+"\n"
+msgstr ""
+"\n"
+"\n"
+"µ¿Ä¡·ù:\n"
+"\n"
+
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
+#, c-format
+msgid "state # %d accepts: [%d]\n"
+msgstr "»óŹøÈ£ %d´Â [%d]¸¦ ¹Þ¾ÆµéÀÔ´Ï´Ù\n"
+
+#: src/gen.c:1115
+#, c-format
+msgid "state # %d accepts: "
+msgstr "»óŹøÈ£ %d´Â ´ÙÀ½À» ¹Þ¾ÆµéÀÔ´Ï´Ù: "
+
+#: src/gen.c:1162
+msgid "Could not write yyacclist_tbl"
+msgstr ""
+
+#: src/gen.c:1236
+msgid "Could not write yyacc_tbl"
+msgstr ""
+
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
+#, fuzzy
+msgid "Could not write ecstbl"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/gen.c:1271
+msgid ""
+"\n"
+"\n"
+"Meta-Equivalence Classes:\n"
+msgstr ""
+"\n"
+"\n"
+"¸ÞŸ-µ¿Ä¡·ùµé:\n"
+
+#: src/gen.c:1293
+msgid "Could not write yymeta_tbl"
+msgstr ""
+
+#: src/gen.c:1352
+#, fuzzy
+msgid "Could not write yybase_tbl"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/gen.c:1384
+msgid "Could not write yydef_tbl"
+msgstr ""
+
+#: src/gen.c:1422
+msgid "Could not write yynxt_tbl"
+msgstr ""
+
+#: src/gen.c:1456
+msgid "Could not write yychk_tbl"
+msgstr ""
+
+#: src/gen.c:1608 src/gen.c:1637
+#, fuzzy
+msgid "Could not write ftbl"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/gen.c:1614
+#, fuzzy
+msgid "Could not write ssltbl"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/gen.c:1665
+#, fuzzy
+msgid "Could not write eoltbl"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/gen.c:1722
+msgid "Could not write yynultrans_tbl"
+msgstr ""
+
+#: src/main.c:178
+msgid "rule cannot be matched"
+msgstr "¸Â´Â ±ÔÄ¢À» ãÀ» ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:183
+msgid "-s option given but default rule can be matched"
+msgstr "-s ¿É¼ÇÀÌ ÁÖ¾îÁ³Áö¸¸ ±âº» ±ÔÄ¢ÀÌ Àû¿ëµÉ ¼ö ÀÖ½À´Ï´Ù"
+
+#: src/main.c:221
+msgid "Can't use -+ with -l option"
+msgstr "-l¿É¼Ç¿¡´Â -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:224
+msgid "Can't use -f or -F with -l option"
+msgstr "-l¿É¼Ç¿¡ -f³ª -F¿É¼ÇÀ» ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:228
+#, fuzzy
+msgid "Can't use --reentrant or --bison-bridge with -l option"
+msgstr "-l¿É¼Ç¿¡ -f³ª -F¿É¼ÇÀ» ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:260
+msgid "-Cf/-CF and -Cm don't make sense together"
+msgstr "-Cf/-CF´Â -Cm¿Í °°ÀÌ ¾²¸é Àǹ̰¡ ¾ø½À´Ï´Ù"
+
+#: src/main.c:263
+msgid "-Cf/-CF and -I are incompatible"
+msgstr "-Cf/-CF¿Í -I´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:267
+msgid "-Cf/-CF are incompatible with lex-compatibility mode"
+msgstr "-Cf/-CF ´Â lexȣȯ ¸ðµå¿Í´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:272
+msgid "-Cf and -CF are mutually exclusive"
+msgstr "-Cf¿Í -CF´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:276
+msgid "Can't use -+ with -CF option"
+msgstr "-CF¿É¼Ç¿¡ -+¿É¼ÇÀ» °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:279
+#, c-format
+msgid "%array incompatible with -+ option"
+msgstr "%array´Â -+¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:284
+#, fuzzy
+msgid "Options -+ and --reentrant are mutually exclusive."
+msgstr "-Cf¿Í -CF´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:287
+msgid "bison bridge not supported for the C++ scanner."
+msgstr ""
+
+#: src/main.c:336 src/main.c:419
+#, c-format
+msgid "could not create %s"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:431
+#, fuzzy
+msgid "could not write tables header"
+msgstr "%s¸¦ ¸¸µé ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:435
+#, c-format
+msgid "can't open skeleton file %s"
+msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
+msgid "allocation of macro definition failed"
+msgstr ""
+
+#: src/main.c:521
+#, c-format
+msgid "input error reading skeleton file %s"
+msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ Àд µµÁß ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
+
+#: src/main.c:525
+#, c-format
+msgid "error closing skeleton file %s"
+msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
+
+#: src/main.c:709
+#, fuzzy, c-format
+msgid "error creating header file %s"
+msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
+
+#: src/main.c:717
+#, c-format
 msgid "error writing output file %s"
 msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ ¾²´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
 
-#: gen.c:248
-msgid "\n\nEquivalence Classes:\n\n"
-msgstr "\n\nµ¿Ä¡·ù:\n\n"
-
-#: main.c:376
+#: src/main.c:721
+#, c-format
 msgid "error closing output file %s"
 msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
 
-#: main.c:862
-msgid "fatal parse error"
-msgstr "Ä¡¸íÀûÀÎ ÆÄ½Ì ¿¡·¯"
+#: src/main.c:725
+#, c-format
+msgid "error deleting output file %s"
+msgstr "Ãâ·ÂÆÄÀÏ %s¸¦ Áö¿ì´Â µ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
 
-#: main.c:502
+#: src/main.c:732
+#, c-format
+msgid "No backing up.\n"
+msgstr "µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù.\n"
+
+#: src/main.c:736
+#, c-format
+msgid "%d backing up (non-accepting) states.\n"
+msgstr "%d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ.\n"
+
+#: src/main.c:740
+#, c-format
+msgid "Compressed tables always back up.\n"
+msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù.\n"
+
+#: src/main.c:743
+#, c-format
+msgid "error writing backup file %s"
+msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ¾²´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
+
+#: src/main.c:747
+#, c-format
+msgid "error closing backup file %s"
+msgstr "¹é¾÷ ÆÄÀÏ %s¸¦ ´Ý´Âµ¥ ¿À·ù°¡ ¹ß»ýÇß½À´Ï´Ù"
+
+#: src/main.c:752
+#, c-format
+msgid "%s version %s usage statistics:\n"
+msgstr "%s ¹öÀü %s »ç¿ë Åë°è:\n"
+
+#: src/main.c:755
+#, c-format
+msgid "  scanner options: -"
+msgstr "  ½ºÄ³³Ê ¿É¼Ç: -"
+
+#: src/main.c:834
+#, c-format
+msgid "  %d/%d NFA states\n"
+msgstr "  %d/%d°³ÀÇ NFA »óÅÂ\n"
+
+#: src/main.c:836
+#, c-format
+msgid "  %d/%d DFA states (%d words)\n"
+msgstr "  %d/%d°³ÀÇ DFA »óÅ (%d ´Ü¾î)\n"
+
+#: src/main.c:838
+#, c-format
+msgid "  %d rules\n"
+msgstr "  %d°³ÀÇ ±ÔÄ¢\n"
+
+#: src/main.c:843
+#, c-format
+msgid "  No backing up\n"
+msgstr "  µÇµ¹¸²ÀÌ ¾ø½À´Ï´Ù\n"
+
+#: src/main.c:847
+#, c-format
+msgid "  %d backing-up (non-accepting) states\n"
+msgstr "  %d°³ÀÇ µÇµ¹¸²(¹Þ¾ÆµéÀÌÁö ¾Ê´Â) »óÅÂ\n"
+
+#: src/main.c:852
+#, c-format
+msgid "  Compressed tables always back-up\n"
+msgstr " ¾ÐÃàµÈ Å×À̺íÀº Ç×»ó ¹é¾÷ÇÕ´Ï´Ù\n"
+
+#: src/main.c:856
+#, c-format
+msgid "  Beginning-of-line patterns used\n"
+msgstr "  Çà ½ÃÀÛ(beginning-of-line) À¯ÇüÀ» »ç¿ëÇÏ¿´½À´Ï´Ù\n"
+
+#: src/main.c:858
+#, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d°³ÀÇ ½ÃÀÛÁ¶°Ç\n"
 
-#: main.c:569
+#: src/main.c:862
+#, c-format
+msgid "  %d epsilon states, %d double epsilon states\n"
+msgstr "  %d°³ÀÇ ¿¦½Ç·Ð »óÅÂ, %d°³ÀÇ ÀÌÁß ¿¦½Ç·Ð »óÅÂ\n"
+
+#: src/main.c:866
+#, c-format
+msgid "  no character classes\n"
+msgstr "  ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n"
+
+#: src/main.c:870
+#, c-format
+msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
+msgstr ""
+"  %d/%d ¹®ÀÚ ÁýÇÕ¿¡ %d/%d°³ÀÇ ÀúÀå¿ë ¹®ÀÚ°¡ ÇÊ¿äÇß°í, %d°³´Â Àç»ç¿ëµÇ¾ú½À´Ï"
+"´Ù.\n"
+
+#: src/main.c:875
+#, c-format
+msgid "  %d state/nextstate pairs created\n"
+msgstr "  %d°³ÀÇ »óÅÂ/´ÙÀ½ »óÅ ½ÖÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:878
+#, c-format
+msgid "  %d/%d unique/duplicate transitions\n"
+msgstr "  %d/%d°³ÀÇ À¯ÀÏÇÑ/Áߺ¹µÇ´Â ÀüÀÌ\n"
+
+#: src/main.c:883
+#, c-format
+msgid "  %d table entries\n"
+msgstr "  %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®\n"
+
+#: src/main.c:891
+#, c-format
+msgid "  %d/%d base-def entries created\n"
+msgstr "  %d/%d base-def ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:895
+#, c-format
+msgid "  %d/%d (peak %d) nxt-chk entries created\n"
+msgstr "  %d/%d (ÃÖ´ë %d) nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:899
+#, c-format
+msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
+msgstr "  %d/%d (ÃÖ´ë %d) ÅÛÇø®Æ® nxt-chk ¿£Æ®¸®°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:903
+#, c-format
+msgid "  %d empty table entries\n"
+msgstr "  %d°³ÀÇ ºó Å×ÀÌºí ¿£Æ®¸®\n"
+
+#: src/main.c:905
+#, c-format
+msgid "  %d protos created\n"
+msgstr "  %d°³ÀÇ ¿øÇüÀÌ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:908
+#, c-format
+msgid "  %d templates created, %d uses\n"
+msgstr "  %d°³ÀÇ ÅÛÇø®Æ®°¡ ¸¸µé¾îÁö°í, %d°³¸¦ ¾¹´Ï´Ù\n"
+
+#: src/main.c:916
+#, c-format
+msgid "  %d/%d equivalence classes created\n"
+msgstr "  %d/%d°³ÀÇ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:924
+#, c-format
+msgid "  %d/%d meta-equivalence classes created\n"
+msgstr "  %d/%d ¸ÞŸ µ¿Ä¡·ù°¡ ¸¸µé¾îÁ³½À´Ï´Ù\n"
+
+#: src/main.c:930
+#, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d(%d ÀúÀåµÊ)°³ÀÇ ÇØ½Ì Ãæµ¹·Î %d°³ÀÇ DFA°¡ °°°Ô 󸮵˴ϴÙ\n"
 
-#: scan.l:203
-msgid "incomplete name definition"
-msgstr "ºÒ¿ÏÀüÇÑ À̸§ Á¤ÀÇ"
+#: src/main.c:932
+#, c-format
+msgid "  %d sets of reallocations needed\n"
+msgstr "  %d°³ÀÇ ÀçÇÒ´ç ÁýÇÕÀÌ ÇÊ¿äÇÕ´Ï´Ù\n"
 
-#: main.c:915
+#: src/main.c:934
+#, c-format
+msgid "  %d total table entries needed\n"
+msgstr "  ÃÑ %d°³ÀÇ Å×ÀÌºí ¿£Æ®¸®°¡ ÇÊ¿äÇÕ´Ï´Ù\n"
+
+#: src/main.c:1008
+#, c-format
+msgid "Internal error. flexopts are malformed.\n"
+msgstr ""
+
+#: src/main.c:1018
+#, c-format
+msgid "Try `%s --help' for more information.\n"
+msgstr ""
+
+#: src/main.c:1075
+#, c-format
+msgid "unknown -C option '%c'"
+msgstr "¾Ë ¼ö ¾ø´Â -C ¿É¼Ç '%c'"
+
+#: src/main.c:1204
+#, fuzzy, c-format
+msgid "%s %s\n"
+msgstr "%s ¹öÀü %s\n"
+
+#: src/main.c:1476
+msgid "fatal parse error"
+msgstr "Ä¡¸íÀûÀÎ ÆÄ½Ì ¿¡·¯"
+
+#: src/main.c:1508
+#, c-format
+msgid "could not create backing-up info file %s"
+msgstr "µÇµ¹¸² Á¤º¸ ÆÄÀÏ %s¸¦ ¸¸µé ¼ö ¾ø¾ú½À´Ï´Ù"
+
+#: src/main.c:1529
+#, c-format
+msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
+msgstr "-l AT&T lex ȣȯ ¿É¼ÇÀº Å« ¼º´É ÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
+
+#: src/main.c:1532
+#, c-format
+msgid " and may be the actual source of other reported performance penalties\n"
+msgstr " ±×¸®°í ¾Æ¸¶µµ ´Ù¸¥ º¸°íµÈ ¼º´É ÀúÇÏÀÇ ½ÇÁ¦ ¿øÀÎÀÏ °ÍÀÔ´Ï´Ù\n"
+
+#: src/main.c:1538
+#, fuzzy, c-format
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr "%%option yylineno´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
+
+#: src/main.c:1545
+#, c-format
+msgid "-I (interactive) entails a minor performance penalty\n"
+msgstr "-I (´ëÈ­Çü) Àº ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
+
+#: src/main.c:1550
+#, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore()´Â ¼Ò±Ô¸ðÀÇ ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
 
-#: main.c:920
+#: src/main.c:1556
+#, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT´Â Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
 
-#: main.c:924
+#: src/main.c:1561
+#, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº Å« ¼º´ÉÀúÇϸ¦ ÀÏÀ¸Åµ´Ï´Ù\n"
 
-#: main.c:937
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT´Â -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: main.c:940
-msgid "%option yylineno cannot be used with -f or -F"
+#: src/main.c:1576
+#, fuzzy, c-format
+msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylinenoÀº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: main.c:943
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr "°¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢Àº -f³ª -F¿É¼Ç°ú °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
 
-#: main.c:1038
+#: src/main.c:1704
+#, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass´Â C++½ºÄ³³Ê¿¡°Ô¸¸ Àǹ̰¡ ÀÖ½À´Ï´Ù"
 
-#: main.c:1117
-msgid "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
-msgstr "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oÃâ·ÂÆÄÀÏ -PÁ¢µÎ»ç -S½ºÄÌ·¹Åæ]\n"
+#: src/main.c:1791
+#, c-format
+msgid "Usage: %s [OPTIONS] [FILE]...\n"
+msgstr ""
 
-#: main.c:1119
-msgid "\t[--help --version] [file ...]\n"
-msgstr "\t[--help --version] [ÆÄÀÏ ...]\n"
+#: src/main.c:1794
+#, c-format
+msgid ""
+"Generates programs that perform pattern-matching on text.\n"
+"\n"
+"Table Compression:\n"
+"  -Ca, --align      trade off larger tables for better memory alignment\n"
+"  -Ce, --ecs        construct equivalence classes\n"
+"  -Cf               do not compress tables; use -f representation\n"
+"  -CF               do not compress tables; use -F representation\n"
+"  -Cm, --meta-ecs   construct meta-equivalence classes\n"
+"  -Cr, --read       use read() instead of stdio for scanner input\n"
+"  -f, --full        generate fast, large scanner. Same as -Cfr\n"
+"  -F, --fast        use alternate table representation. Same as -CFr\n"
+"  -Cem              default compression (same as --ecs --meta-ecs)\n"
+"\n"
+"Debugging:\n"
+"  -d, --debug             enable debug mode in scanner\n"
+"  -b, --backup            write backing-up information to %s\n"
+"  -p, --perf-report       write performance report to stderr\n"
+"  -s, --nodefault         suppress default rule to ECHO unmatched text\n"
+"  -T, --trace             %s should run in trace mode\n"
+"  -w, --nowarn            do not generate warnings\n"
+"  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
+"\n"
+"Files:\n"
+"  -o, --outfile=FILE      specify output filename\n"
+"  -S, --skel=FILE         specify skeleton file\n"
+"  -t, --stdout            write scanner on stdout instead of %s\n"
+"      --yyclass=NAME      name of C++ class\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
+"      --tables-file[=FILE] write tables to FILE\n"
+"\n"
+"Scanner behavior:\n"
+"  -7, --7bit              generate 7-bit scanner\n"
+"  -8, --8bit              generate 8-bit scanner\n"
+"  -B, --batch             generate batch scanner (opposite of -I)\n"
+"  -i, --case-insensitive  ignore case in patterns\n"
+"  -l, --lex-compat        maximal compatibility with original lex\n"
+"  -X, --posix-compat      maximal compatibility with POSIX lex\n"
+"  -I, --interactive       generate interactive scanner (opposite of -B)\n"
+"      --yylineno          track line count in yylineno\n"
+"\n"
+"Generated code:\n"
+"  -+,  --c++               generate C++ scanner class\n"
+"  -Dmacro[=defn]           #define macro defn  (default defn is '1')\n"
+"  -L,  --noline            suppress #line directives in scanner\n"
+"  -P,  --prefix=STRING     use STRING as prefix instead of \"yy\"\n"
+"  -R,  --reentrant         generate a reentrant C scanner\n"
+"       --bison-bridge      scanner for bison pure parser.\n"
+"       --bison-locations   include yylloc support.\n"
+"       --stdinit           initialize yyin/yyout to stdin/stdout\n"
+"       --nounistd          do not include <unistd.h>\n"
+"       --noFUNCTION        do not generate a particular FUNCTION\n"
+"\n"
+"Miscellaneous:\n"
+"  -c                      do-nothing POSIX option\n"
+"  -n                      do-nothing POSIX option\n"
+"  -?\n"
+"  -h, --help              produce this help message\n"
+"  -V, --version           report %s version\n"
+msgstr ""
 
-#: main.c:1121
-msgid "\t-b  generate backing-up information to %s\n"
-msgstr "\t-b  %s¿¡ µÇµ¹¸² Á¤º¸¸¦ ¸¸µì´Ï´Ù.\n"
+#: src/misc.c:64
+msgid "allocation of sko_stack failed"
+msgstr ""
 
-#: main.c:1123
-msgid "\t-c  do-nothing POSIX option\n"
-msgstr "\t-c  ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â POSIX¿É¼Ç\n"
-
-#: main.c:1124
-msgid "\t-d  turn on debug mode in generated scanner\n"
-msgstr "\t-d  ¸¸µé¾îÁø ½ºÄ³³Ê¿¡¼­ µð¹ö±× ¸ðµå·Î ¹Ù²ß´Ï´Ù\n"
-
-#: main.c:1125
-msgid "\t-f  generate fast, large scanner\n"
-msgstr "\t-f  ºü¸£Áö¸¸ Å« ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1126
-msgid "\t-h  produce this help message\n"
-msgstr "\t-h  ÀÌ µµ¿ò¸» ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù\n"
-
-#: main.c:1127
-msgid "\t-i  generate case-insensitive scanner\n"
-msgstr "\t-i  ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1128
-msgid "\t-l  maximal compatibility with original lex\n"
-msgstr "\t-l  ¿À¸®Áö³Î lex¿Í ÃÖ´ëÇÑÀÇ È£È¯¼ºÀ» Á¦°øÇÕ´Ï´Ù\n"
-
-#: main.c:1129
-msgid "\t-n  do-nothing POSIX option\n"
-msgstr "\t-n  ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â POSIX¿É¼Ç\n"
-
-#: main.c:1130
-msgid "\t-p  generate performance report to stderr\n"
-msgstr "\t-p  ¼º´É º¸°í¸¦ Ç¥ÁØ ¿¡·¯·Î Ãâ·ÂÇÕ´Ï´Ù\n"
-
-#: main.c:1132
-msgid "\t-s  suppress default rule to ECHO unmatched text\n"
-msgstr "\t-s  ±âº» ±ÔÄ¢À» 'ECHO ãÁö¸øÇÑ ±Û'·Î Á¦ÇÑÇÕ´Ï´Ù\n"
-
-#: main.c:1142
-msgid "\t-t  write generated scanner on stdout instead of %s\n"
-msgstr "\t-t  %s ´ë½Å ¸¸µé¾îÁø ½ºÄ³³Ê¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î ¾¹´Ï´Ù\n"
-
-#: main.c:1146
-msgid "\t-v  write summary of scanner statistics to f\n"
-msgstr "\t-v  ½ºÄ³³Ê Åë°è ¿ä¾àÀ» f¿¡ ¾¹´Ï´Ù\n"
-
-#: main.c:1147
-msgid "\t-w  do not generate warnings\n"
-msgstr "\t-w  °æ°í¸¦ ³»Áö ¾Ê½À´Ï´Ù\n"
-
-#: main.c:1148
-msgid "\t-B  generate batch scanner (opposite of -I)\n"
-msgstr "\t-B  ÀÏ°ýó¸® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù(-I¿Í ¹Ý´ë)\n"
-
-#: main.c:1150
-msgid "\t-F  use alternative fast scanner representation\n"
-msgstr "\t-F  ´Ù¸¥ ¹æ¹ýÀÇ ºü¸¥ ½ºÄ³³Ê Ç¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n"
-
-#: main.c:1152
-msgid "\t-I  generate interactive scanner (opposite of -B)\n"
-msgstr "\t-I  ´ëÈ­Çü ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù(-B¿Í ¹Ý´ë)\n"
-
-#: main.c:1153
-msgid "\t-L  suppress #line directives in scanner\n"
-msgstr "\t-L  ½ºÄ³³Ê¿¡¼­ #lineÁö½ÃÀÚ¸¦ ³»Áö ¾Êµµ·Ï ÇÕ´Ï´Ù\n"
-
-#: main.c:1154
-msgid "\t-T  %s should run in trace mode\n"
-msgstr "\t-T  %s´Â ÃßÀû ¸ðµå¿¡¼­ ½ÇÇàµÇµµ·Ï ÇÕ´Ï´Ù\n"
-
-#: main.c:1155
-msgid "\t-V  report %s version\n"
-msgstr "\t-V  %sÀÇ ¹öÀüÀ» Ãâ·ÂÇÕ´Ï´Ù\n"
-
-#: main.c:1156
-msgid "\t-7  generate 7-bit scanner\n"
-msgstr "\t-7  7ºñÆ® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1157
-msgid "\t-8  generate 8-bit scanner\n"
-msgstr "\t-8  8ºñÆ® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1158
-msgid "\t-+  generate C++ scanner class\n"
-msgstr "\t-+  C++ ½ºÄ³³Ê Ŭ·¡½º¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1159
-msgid "\t-?  produce this help message\n"
-msgstr "\t-?  ÀÌ µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n"
-
-#: main.c:1161
-msgid "\t-C  specify degree of table compression (default is -Cem):\n"
-msgstr "\t-C  Å×ÀÌºí ¾ÐÃàÁ¤µµ¸¦ ÁöÁ¤ÇÕ´Ï´Ù(±âº»°ªÀº -Cem):\n"
-
-#: main.c:1163
-msgid "\t\t-Ca  trade off larger tables for better memory alignment\n"
-msgstr "\t\t-Ca  ´õ ÁÁÀº ¸Þ¸ð¸® Á¤·ÄÀ» À§ÇØ Å« Å×À̺íÀ» ¸¸µì´Ï´Ù\n"
-
-#: main.c:1164
-msgid "\t\t-Ce  construct equivalence classes\n"
-msgstr "\t\t-Ce  µ¿Ä¡·ù¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1166
-msgid "\t\t-Cf  do not compress scanner tables; use -f representation\n"
-msgstr "\t\t-Cf  ½ºÄ³³Ê Å×À̺íÀ» ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù. -fÇ¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n"
-
-#: main.c:1168
-msgid "\t\t-CF  do not compress scanner tables; use -F representation\n"
-msgstr "\t\t-CF  ½ºÄ³³Ê Å×À̺íÀ» ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù. -FÇ¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n"
-
-#: main.c:1169
-msgid "\t\t-Cm  construct meta-equivalence classes\n"
-msgstr "\t\t-Cm  ¸ÞŸ µ¿Ä¡·ù¸¦ ¸¸µì´Ï´Ù\n"
-
-#: main.c:1171
-msgid "\t\t-Cr  use read() instead of stdio for scanner input\n"
-msgstr "\t\t-Cr  ½ºÄ³³Ê ÀÔ·ÂÀ» stdio¶óÀ̺귯¸® ´ë½Å read()½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇÕ´Ï´Ù\n"
-
-#: main.c:1172
-msgid "\t-o  specify output filename\n"
-msgstr "\t-o  Ãâ·Â ÆÄÀÏÀ̸§À» ÁöÁ¤ÇÕ´Ï´Ù\n"
-
-#: main.c:1173
-msgid "\t-P  specify scanner prefix other than \"yy\"\n"
-msgstr "\t-P  \"yy\"´ë½Å¿¡ ´Ù¸¥ ½ºÄ³³Ê Á¢µÎ»ç¸¦ ÁöÁ¤ÇÕ´Ï´Ù\n"
-
-#: main.c:1174
-msgid "\t-S  specify skeleton file\n"
-msgstr "\t-S  ½ºÄÌ·¹Åæ ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù\n"
-
-#: main.c:1175
-msgid "\t--help     produce this help message\n"
-msgstr "\t--help     ÀÌ µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n"
-
-#: main.c:1176
-msgid "\t--version  report %s version\n"
-msgstr "\t--version  %sÀÇ ¹öÀüÀ» Ãâ·ÂÇÕ´Ï´Ù\n"
-
-#: misc.c:42
+#: src/misc.c:100
+#, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "À̸§ \"%s\"´Â ºñÁ¤»óÀûÀ¸·Î ±é´Ï´Ù"
 
-#: misc.c:91
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "allocate_array()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù"
 
-#: misc.c:169
+#: src/misc.c:205
+#, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "check_char()¿¡¼­ À߸øµÈ ¹®ÀÚ '%s'¸¦ ã¾Ò½À´Ï´Ù"
 
-#: misc.c:174
+#: src/misc.c:210
+#, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "½ºÄ³³Ê¿¡¼­ ¹®ÀÚ %s¸¦ ¾²±â À§Çؼ­´Â -8¿É¼ÇÀÌ ÇÊ¿äÇÕ´Ï´Ù"
 
-#: misc.c:207
-msgid "dynamic memory failure in copy_string()"
-msgstr "copy_string()¿¡¼­ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "allocate_array()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù"
 
-#: misc.c:339
+#: src/misc.c:303
+#, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: Ä¡¸íÀûÀÎ ³»ºÎ ¿¡·¯, %s\n"
 
-#: misc.c:765
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "¹è¿­ Å©±â¸¦ ´Ã¸®·Á´Â ½Ãµµ°¡ ½ÇÆÐÇß½À´Ï´Ù"
 
-#: misc.c:811
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "½ºÄÌ·¹Åæ ÆÄÀÏ¿¡ À߸øµÈ Çà"
 
-#: misc.c:864
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "yy_flex_xmalloc()¿¡¼­ ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù"
 
-#: nfa.c:100
-msgid "\n\n********** beginning dump of nfa with start state %d\n"
-msgstr "\n\n********** ½ÃÀÛ »óÅ %d¿¡¼­ nfaÃâ·Â ½ÃÀÛ\n"
+#: src/nfa.c:100
+#, c-format
+msgid ""
+"\n"
+"\n"
+"********** beginning dump of nfa with start state %d\n"
+msgstr ""
+"\n"
+"\n"
+"********** ½ÃÀÛ »óÅ %d¿¡¼­ nfaÃâ·Â ½ÃÀÛ\n"
 
-#: nfa.c:112
+#: src/nfa.c:111
+#, c-format
 msgid "state # %4d\t"
 msgstr "»óÅÂ ¹øÈ£ %4d\t"
 
-#: nfa.c:127
+#: src/nfa.c:126
+#, c-format
 msgid "********** end of dump\n"
 msgstr "********** Ãâ·Â ³¡\n"
 
-#: nfa.c:173
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "dupmachine()¿¡¼­ÀÇ ºó ¸Ó½Å"
 
-#: nfa.c:225
+#: src/nfa.c:234
+#, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "%dÇà¿¡¼­ °¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢\n"
 
-#: nfa.c:347
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "mark_beginning_as_normal()¿¡¼­ À߸øµÈ »óÅÂÇü"
 
-#: nfa.c:600
+#: src/nfa.c:595
+#, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "ÀÔ·Â ±ÔÄ¢ÀÌ ³Ê¹« º¹ÀâÇÕ´Ï´Ù(>= NFA»óÅ %d°³)"
 
-#: nfa.c:679
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "mkxtion()¿¡ ÀüÀÌ°¡ ³Ê¹« ¸¹½À´Ï´Ù"
 
-#: nfa.c:705
+#: src/nfa.c:699
+#, c-format
 msgid "too many rules (> %d)!"
 msgstr "±ÔÄ¢ÀÌ ³Ê¹« ¸¹½À´Ï´Ù (> %d)!"
 
-#: sym.c:78
+#: src/parse.y:159
+msgid "unknown error processing section 1"
+msgstr ""
+
+#: src/parse.y:184 src/parse.y:353
+#, fuzzy
+msgid "bad start condition list"
+msgstr "À߸øµÈ <½ÃÀÛ Á¶°Ç>: %s"
+
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
+#, fuzzy
+msgid "unrecognized rule"
+msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ"
+
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
+#, fuzzy
+msgid "trailing context used twice"
+msgstr "%dÇà¿¡¼­ °¡º¯ ÃßÀû ¹®¸Æ ±ÔÄ¢\n"
+
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
+msgid "bad iteration values"
+msgstr ""
+
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
+msgid "iteration value must be positive"
+msgstr ""
+
+#: src/parse.y:806 src/parse.y:816
+#, c-format
+msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
+msgstr ""
+
+#: src/parse.y:821
+#, fuzzy
+msgid "negative range in character class"
+msgstr "  ¹®ÀÚ·ù°¡ ¾ø½À´Ï´Ù\n"
+
+#: src/parse.y:918
+#, fuzzy
+msgid "[:^lower:] is ambiguous in case insensitive scanner"
+msgstr "\t-i  ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
+
+#: src/parse.y:924
+#, fuzzy
+msgid "[:^upper:] ambiguous in case insensitive scanner"
+msgstr "\t-i  ´ë¼Ò¹®ÀÚ ±¸º°¾ø´Â ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
+
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
+msgid "Input line too long\n"
+msgstr ""
+
+#: src/scan.l:183
+#, fuzzy, c-format
+msgid "malformed '%top' directive"
+msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ"
+
+#: src/scan.l:205
+#, no-c-format
+msgid "unrecognized '%' directive"
+msgstr "¾Ë ¼ö ¾ø´Â '%' Áö½ÃÀÚ"
+
+#: src/scan.l:214
+msgid "Definition name too long\n"
+msgstr ""
+
+#: src/scan.l:309
+msgid "Unmatched '{'"
+msgstr ""
+
+#: src/scan.l:325
+#, c-format
+msgid "Definition value for {%s} too long\n"
+msgstr ""
+
+#: src/scan.l:342
+msgid "incomplete name definition"
+msgstr "ºÒ¿ÏÀüÇÑ À̸§ Á¤ÀÇ"
+
+#: src/scan.l:467
+msgid "Option line too long\n"
+msgstr ""
+
+#: src/scan.l:475
+#, c-format
+msgid "unrecognized %%option: %s"
+msgstr "¾Ë ¼ö ¾ø´Â %%option: %s"
+
+#: src/scan.l:659 src/scan.l:832
+msgid "bad character class"
+msgstr "À߸øµÈ ¹®ÀÚ·ù"
+
+#: src/scan.l:709
+#, c-format
+msgid "undefined definition {%s}"
+msgstr "Á¤ÀǵÇÁö ¾ÊÀº Á¤ÀÇ {%s}"
+
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
+#, c-format
+msgid "bad <start condition>: %s"
+msgstr "À߸øµÈ <½ÃÀÛ Á¶°Ç>: %s"
+
+#: src/scan.l:800
+msgid "missing quote"
+msgstr "Àοë±âÈ£ ºüÁü"
+
+#: src/scan.l:866
+#, c-format
+msgid "bad character class expression: %s"
+msgstr "À߸øµÈ ¹®ÀÚ ÁýÇÕ ½Ä: %s"
+
+#: src/scan.l:888
+msgid "bad character inside {}'s"
+msgstr "{}¾ÈÀÇ À߸øµÈ ¹®ÀÚ"
+
+#: src/scan.l:894
+msgid "missing }"
+msgstr "}ÀÌ ºüÁ³½À´Ï´Ù"
+
+#: src/scan.l:972
+msgid "EOF encountered inside an action"
+msgstr "µ¿ÀÛ µµÁß¿¡ EOF¸¦ ¸¸³µ½À´Ï´Ù"
+
+#: src/scan.l:977
+#, fuzzy
+msgid "EOF encountered inside pattern"
+msgstr "µ¿ÀÛ µµÁß¿¡ EOF¸¦ ¸¸³µ½À´Ï´Ù"
+
+#: src/scan.l:1010
+#, c-format
+msgid "bad character: %s"
+msgstr "À߸øµÈ ¹®ÀÚ: %s"
+
+#: src/scan.l:1038
+#, c-format
+msgid "can't open %s"
+msgstr "%s¸¦ ¿­ ¼ö ¾ø½À´Ï´Ù"
+
+#: src/scanopt.c:259
+#, c-format
+msgid "Usage: %s [OPTIONS]...\n"
+msgstr ""
+
+#: src/scanopt.c:524
+#, c-format
+msgid "option `%s' doesn't allow an argument\n"
+msgstr ""
+
+#: src/scanopt.c:529
+#, c-format
+msgid "option `%s' requires an argument\n"
+msgstr ""
+
+#: src/scanopt.c:533
+#, c-format
+msgid "option `%s' is ambiguous\n"
+msgstr ""
+
+#: src/scanopt.c:537
+#, fuzzy, c-format
+msgid "Unrecognized option `%s'\n"
+msgstr "¾Ë ¼ö ¾ø´Â %%option: %s"
+
+#: src/scanopt.c:541
+#, c-format
+msgid "Unknown error=(%d)\n"
+msgstr ""
+
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "½Éº¼ Å×ÀÌºí ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù"
 
-#: sym.c:188
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "À̸§À» µÎ¹ø Á¤ÀÇÇß½À´Ï´Ù"
 
-#: sym.c:243
+#: src/sym.c:231
+#, c-format
 msgid "start condition %s declared twice"
 msgstr "½ÃÀÛÁ¶°Ç %s¸¦ µÎ¹ø ¼±¾ðÇß½À´Ï´Ù"
 
-#: yylex.c:55
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "°©ÀÛ½º·± EOF"
 
-#: yylex.c:204
+#: src/yylex.c:200
+#, c-format
 msgid "End Marker\n"
 msgstr "Á¾·á Ç¥½Ã\n"
 
-#: yylex.c:209
+#: src/yylex.c:206
+#, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*¹«¾ð°¡ ÀÌ»óÇÕ´Ï´Ù* - tok: %d val: %d\n"
 
+#~ msgid ""
+#~ "%s: unknown flag '%c'.  For usage, try\n"
+#~ "\t%s --help\n"
+#~ msgstr ""
+#~ "%s: ¾Ë ¼ö ¾ø´Â ¿É¼Ç '%c'.  »ç¿ë¹ýÀ» º¸·Á¸é \n"
+#~ "\t%s --help¶ó°í Çϼ¼¿ä.\n"
+
+#~ msgid "-P flag must be given separately"
+#~ msgstr "-P Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
+
+#~ msgid "-o flag must be given separately"
+#~ msgstr "-o Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
+
+#~ msgid "-S flag must be given separately"
+#~ msgstr "-S Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
+
+#~ msgid "-C flag must be given separately"
+#~ msgstr "-C Ç÷¡±×´Â µû·Î ÁÖ¾î¾ß ÇÕ´Ï´Ù"
+
+#~ msgid "consistency check failed in symfollowset"
+#~ msgstr "symfollowset¿¡¼­ ÀÏ°ü¼º °Ë»ç°¡ ½ÇÆÐÇß½À´Ï´Ù"
+
+#~ msgid "-Cf/-CF and %option yylineno are incompatible"
+#~ msgstr "-Cf/-CF¿Í %option yylineno ´Â °°ÀÌ ¾µ ¼ö ¾ø½À´Ï´Ù"
+
+#~ msgid ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -ooutput -Pprefix -Sskeleton]\n"
+#~ msgstr ""
+#~ "%s [-bcdfhilnpstvwBFILTV78+? -C[aefFmr] -oÃâ·ÂÆÄÀÏ -PÁ¢µÎ»ç -S½ºÄÌ·¹Åæ]\n"
+
+#~ msgid "\t[--help --version] [file ...]\n"
+#~ msgstr "\t[--help --version] [ÆÄÀÏ ...]\n"
+
+#~ msgid "\t-b  generate backing-up information to %s\n"
+#~ msgstr "\t-b  %s¿¡ µÇµ¹¸² Á¤º¸¸¦ ¸¸µì´Ï´Ù.\n"
+
+#~ msgid "\t-c  do-nothing POSIX option\n"
+#~ msgstr "\t-c  ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â POSIX¿É¼Ç\n"
+
+#~ msgid "\t-d  turn on debug mode in generated scanner\n"
+#~ msgstr "\t-d  ¸¸µé¾îÁø ½ºÄ³³Ê¿¡¼­ µð¹ö±× ¸ðµå·Î ¹Ù²ß´Ï´Ù\n"
+
+#~ msgid "\t-f  generate fast, large scanner\n"
+#~ msgstr "\t-f  ºü¸£Áö¸¸ Å« ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t-h  produce this help message\n"
+#~ msgstr "\t-h  ÀÌ µµ¿ò¸» ¸Þ½ÃÁö¸¦ Ãâ·ÂÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-l  maximal compatibility with original lex\n"
+#~ msgstr "\t-l  ¿À¸®Áö³Î lex¿Í ÃÖ´ëÇÑÀÇ È£È¯¼ºÀ» Á¦°øÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-n  do-nothing POSIX option\n"
+#~ msgstr "\t-n  ¾Æ¹« Àϵµ ÇÏÁö ¾Ê´Â POSIX¿É¼Ç\n"
+
+#~ msgid "\t-p  generate performance report to stderr\n"
+#~ msgstr "\t-p  ¼º´É º¸°í¸¦ Ç¥ÁØ ¿¡·¯·Î Ãâ·ÂÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-s  suppress default rule to ECHO unmatched text\n"
+#~ msgstr "\t-s  ±âº» ±ÔÄ¢À» 'ECHO ãÁö¸øÇÑ ±Û'·Î Á¦ÇÑÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-t  write generated scanner on stdout instead of %s\n"
+#~ msgstr "\t-t  %s ´ë½Å ¸¸µé¾îÁø ½ºÄ³³Ê¸¦ Ç¥ÁØ Ãâ·ÂÀ¸·Î ¾¹´Ï´Ù\n"
+
+#~ msgid "\t-v  write summary of scanner statistics to f\n"
+#~ msgstr "\t-v  ½ºÄ³³Ê Åë°è ¿ä¾àÀ» f¿¡ ¾¹´Ï´Ù\n"
+
+#~ msgid "\t-w  do not generate warnings\n"
+#~ msgstr "\t-w  °æ°í¸¦ ³»Áö ¾Ê½À´Ï´Ù\n"
+
+#~ msgid "\t-B  generate batch scanner (opposite of -I)\n"
+#~ msgstr "\t-B  ÀÏ°ýó¸® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù(-I¿Í ¹Ý´ë)\n"
+
+#~ msgid "\t-F  use alternative fast scanner representation\n"
+#~ msgstr "\t-F  ´Ù¸¥ ¹æ¹ýÀÇ ºü¸¥ ½ºÄ³³Ê Ç¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-I  generate interactive scanner (opposite of -B)\n"
+#~ msgstr "\t-I  ´ëÈ­Çü ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù(-B¿Í ¹Ý´ë)\n"
+
+#~ msgid "\t-L  suppress #line directives in scanner\n"
+#~ msgstr "\t-L  ½ºÄ³³Ê¿¡¼­ #lineÁö½ÃÀÚ¸¦ ³»Áö ¾Êµµ·Ï ÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-T  %s should run in trace mode\n"
+#~ msgstr "\t-T  %s´Â ÃßÀû ¸ðµå¿¡¼­ ½ÇÇàµÇµµ·Ï ÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-V  report %s version\n"
+#~ msgstr "\t-V  %sÀÇ ¹öÀüÀ» Ãâ·ÂÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-7  generate 7-bit scanner\n"
+#~ msgstr "\t-7  7ºñÆ® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t-8  generate 8-bit scanner\n"
+#~ msgstr "\t-8  8ºñÆ® ½ºÄ³³Ê¸¦ ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t-+  generate C++ scanner class\n"
+#~ msgstr "\t-+  C++ ½ºÄ³³Ê Ŭ·¡½º¸¦ ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t-?  produce this help message\n"
+#~ msgstr "\t-?  ÀÌ µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-C  specify degree of table compression (default is -Cem):\n"
+#~ msgstr "\t-C  Å×ÀÌºí ¾ÐÃàÁ¤µµ¸¦ ÁöÁ¤ÇÕ´Ï´Ù(±âº»°ªÀº -Cem):\n"
+
+#~ msgid "\t\t-Ca  trade off larger tables for better memory alignment\n"
+#~ msgstr "\t\t-Ca  ´õ ÁÁÀº ¸Þ¸ð¸® Á¤·ÄÀ» À§ÇØ Å« Å×À̺íÀ» ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t\t-Ce  construct equivalence classes\n"
+#~ msgstr "\t\t-Ce  µ¿Ä¡·ù¸¦ ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t\t-Cf  do not compress scanner tables; use -f representation\n"
+#~ msgstr "\t\t-Cf  ½ºÄ³³Ê Å×À̺íÀ» ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù. -fÇ¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n"
+
+#~ msgid "\t\t-CF  do not compress scanner tables; use -F representation\n"
+#~ msgstr "\t\t-CF  ½ºÄ³³Ê Å×À̺íÀ» ¾ÐÃàÇÏÁö ¾Ê½À´Ï´Ù. -FÇ¥Çö¹ýÀ» »ç¿ëÇÕ´Ï´Ù\n"
+
+#~ msgid "\t\t-Cm  construct meta-equivalence classes\n"
+#~ msgstr "\t\t-Cm  ¸ÞŸ µ¿Ä¡·ù¸¦ ¸¸µì´Ï´Ù\n"
+
+#~ msgid "\t\t-Cr  use read() instead of stdio for scanner input\n"
+#~ msgstr ""
+#~ "\t\t-Cr  ½ºÄ³³Ê ÀÔ·ÂÀ» stdio¶óÀ̺귯¸® ´ë½Å read()½Ã½ºÅÛ ÄÝÀ» »ç¿ëÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-o  specify output filename\n"
+#~ msgstr "\t-o  Ãâ·Â ÆÄÀÏÀ̸§À» ÁöÁ¤ÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-P  specify scanner prefix other than \"yy\"\n"
+#~ msgstr "\t-P  \"yy\"´ë½Å¿¡ ´Ù¸¥ ½ºÄ³³Ê Á¢µÎ»ç¸¦ ÁöÁ¤ÇÕ´Ï´Ù\n"
+
+#~ msgid "\t-S  specify skeleton file\n"
+#~ msgstr "\t-S  ½ºÄÌ·¹Åæ ÆÄÀÏÀ» ÁöÁ¤ÇÕ´Ï´Ù\n"
+
+#~ msgid "\t--help     produce this help message\n"
+#~ msgstr "\t--help     ÀÌ µµ¿ò¸»À» Ãâ·ÂÇÕ´Ï´Ù\n"
+
+#~ msgid "\t--version  report %s version\n"
+#~ msgstr "\t--version  %sÀÇ ¹öÀüÀ» Ãâ·ÂÇÕ´Ï´Ù\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "copy_string()¿¡¼­ µ¿Àû ¸Þ¸ð¸® ÇÒ´çÀÌ ½ÇÆÐÇß½À´Ï´Ù"
diff --git a/po/nl.po b/po/nl.po
index 740ffd7..78ee429 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,54 +9,54 @@
 msgstr ""
 "Project-Id-Version: flex-2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2014-02-13 22:25+0100\n"
 "Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "Language: nl\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: Lokalize 1.0\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Geheugenreservering voor stringprintbuffer is mislukt"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Geheugenreservering voor line-commandobuffer is mislukt"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Geheugenreservering voor buffer voor m4 def is mislukt"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Geheugenreservering voor buffer voor m4 undef is mislukt"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Toestand #%d is niet-accepterend -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "gevaarlijke nakomende context"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " regelnummers van de betrokken voorschriften:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " uit-transities: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -65,11 +65,11 @@
 "\n"
 " vastlopende transities: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "consistentiecontrole is mislukt in epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -81,24 +81,24 @@
 "DFA-dump:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "kon geen unieke toestand voor einde-van-buffer aanmaken"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "toestand # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Kan yynxt_tbl[][] niet schrijven"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "onjuist transitieteken in sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -110,29 +110,29 @@
 "Equivalentieklassen:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "toestand # %d accepteert: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "toestand # %d accepteert: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Kan yyacclist_tbl niet schrijven"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Kan yyacc_tbl niet schrijven"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Kan ecstbl niet schrijven"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -142,392 +142,410 @@
 "\n"
 "Meta-equivalentieklassen:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Kan yymeta_tbl niet schrijven"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Kan yybase_tbl niet schrijven"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Kan yydef_tbl niet schrijven"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Kan yynxt_tbl niet schrijven"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Kan yychk_tbl niet schrijven"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Kan ftbl niet schrijven"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Kan ssltbl niet schrijven"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Kan eoltbl niet schrijven"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Kan yynultrans_tbl niet schrijven"
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "voorschrift geeft geen overeenkomsten"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
-msgstr "optie '-s' is gegeven, maar het standaardvoorschrift geeft overeenkomsten"
+msgstr ""
+"optie '-s' is gegeven, maar het standaardvoorschrift geeft overeenkomsten"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Optie '-+' gaat niet samen met '-l'"
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Optie '-f' of '-F' gaat niet samen met '-l'"
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Optie '--reentrant' of '--bison-bridge' gaat niet samen met '-l'"
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "Opties -Cf/-CF en -Cm gaan niet samen"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "Opties -Cf/-CF en -I gaan niet samen"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "Optie -Cf of -CF gaat niet samen met lex-compatibiliteitsmodus"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "Opties -Cf en -CF sluiten elkaar uit"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Optie '-+' gaat niet samen met '-CF'"
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "Optie '-+' gaat niet samen met %array"
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Opties '-+' en '--reentrant' sluiten elkaar uit."
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison bridge wordt niet ondersteund voor de C++-scanner."
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "kan %s niet aanmaken"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "kan tabellenkop niet schrijven"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "kan skeletbestand %s niet openen"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "geheugenreservering voor macrodefinitie is mislukt"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "invoerfout tijdens lezen van skeletbestand %s"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "fout tijdens sluiten van skeletbestand %s"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "fout tijdens aanmaken van headerbestand %s"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "fout tijdens schrijven van uitvoerbestand %s"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "fout tijdens sluiten van uitvoerbestand %s"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "fout tijdens verwijderen van uitvoerbestand %s"
 
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Terugstappen is niet mogelijk.\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d terugstappende (niet-accepterende) toestanden.\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Gecomprimeerde tabellen kunnen altijd terugstappen.\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "fout tijdens schrijven van terugstapbestand %s"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "fout tijdens sluiten van terugstapbestand %s"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s versie %s gebruiksstatistieken:\n"
 
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  scanneropties: -"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA-toestanden\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA-toestanden (%d woorden)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d voorschriften\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Terugstappen is niet mogelijk\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d terugstappende (niet-accepterende) toestanden\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Gecomprimeerde tabellen kunnen altijd terugstappen\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Begin-van-regel-patronen gebruikt\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d startvoorwaarden\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d epsilontoestanden, %d dubbele epsilontoestanden\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  geen tekenklassen\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d tekenklassen hadden %d/%d opslagwoorden nodig, %d hergebruikt\n"
+msgstr ""
+"  %d/%d tekenklassen hadden %d/%d opslagwoorden nodig, %d hergebruikt\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d toestand/volgtoestand-paren aangemaakt\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d unieke/dubbele transities\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d tabelitems\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d base-def-items aangemaakt\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (piek %d) nxt-chk-items aangemaakt\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (piek %d) sjabloon-nxt-chk-items aangemaakt\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d lege tabelitems\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototypes aangemaakt\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d sjablonen aangemaakt, %d keer gebruikt\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d equivalentieklassen aangemaakt\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d meta-equivalentieklassen aangemaakt\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d bewaarde) hash-botsingen, %d DFA's gelijk\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d sets van herallocaties waren nodig\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  in totaal %d tabelitems nodig\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "*Interne fout*: ongeldige flexopts.\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Typ '%s --help' voor meer informatie.\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "onbekende -C-optie '%c'"
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "fatale ontledingsfout"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "kon terugstapbestand %s niet aanmaken"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "de AT&T-lexcompatibiliteitsoptie '-l' betekent een grote prestatievermindering\n"
+msgstr ""
+"de AT&T-lexcompatibiliteitsoptie '-l' betekent een grote "
+"prestatievermindering\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " en zou de eigenlijke bron kunnen zijn van andere gemelde prestatieverminderingen\n"
+msgstr ""
+" en zou de eigenlijke bron kunnen zijn van andere gemelde "
+"prestatieverminderingen\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "de %%optie yylineno betekent een prestatievermindering, maar ALLEEN voor voorschriften die met het regeleindeteken overeen kunnen komen\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"de %%optie yylineno betekent een prestatievermindering, maar ALLEEN voor "
+"voorschriften die met het regeleindeteken overeen kunnen komen\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "optie '-I' (interactief) betekent een kleine prestatievermindering\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() betekent een kleine prestatievermindering\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT betekent een grote prestatievermindering\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Voorschriften met variabele nakomende context betekenen een grote prestatievermindering\n"
+msgstr ""
+"Voorschriften met variabele nakomende context betekenen een grote "
+"prestatievermindering\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT gaat niet samen met -f of -F"
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%optie yylineno gaat niet samen met REJECT"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "voorschriften met variabele nakomende context gaan niet samen met '-f' of '-F'"
+msgstr ""
+"voorschriften met variabele nakomende context gaan niet samen met '-f' of '-"
+"F'"
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%optie yyclass heeft alleen betekenis voor C++-scanners"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Gebruik:  %s [OPTIE...] [BESTAND...]\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -550,13 +568,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -578,8 +599,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -595,8 +614,10 @@
 "Tabelcompressie:\n"
 "  -Ca, --align      meer geheugen gebruiken voor beter uitgelijnde tabellen\n"
 "  -Ce, --ecs        equivalentieklassen construeren\n"
-"  -Cf               tabellen niet comprimeren; de -f-representatie gebruiken\n"
-"  -CF               tabellen niet comprimeren; de -F-representatie gebruiken\n"
+"  -Cf               tabellen niet comprimeren; de -f-representatie "
+"gebruiken\n"
+"  -CF               tabellen niet comprimeren; de -F-representatie "
+"gebruiken\n"
 "  -Cm, --meta-ecs   meta-equivalentieklassen construeren\n"
 "  -Cr, --read       read() gebruiken in plaats van stdio voor scannerinvoer\n"
 "  -f, --full        een snelle, grote scanner genereren (zelfde als -Cfr)\n"
@@ -607,7 +628,8 @@
 "  -d, --debug         debugmodus in scanner aanzetten\n"
 "  -b, --backup        terugstap-informatie naar %s schrijven\n"
 "  -p, --perf-report   prestatierapport naar standaardfoutuitvoer schrijven\n"
-"  -s, --nodefault     standaardvoorschrift dat onherkende tekst ECHO-t uitzetten\n"
+"  -s, --nodefault     standaardvoorschrift dat onherkende tekst ECHO-t "
+"uitzetten\n"
 "  -T, --trace         %s uitvoeren in tracemodus\n"
 "  -w, --nowarn        geen waarschuwingen geven\n"
 "  -v, --verbose       scannerstatistieken naar standaarduitvoer schrijven\n"
@@ -615,15 +637,18 @@
 "Bestanden:\n"
 "  -o, --outfile=BESTAND   dit uitvoerbestand gebruiken\n"
 "  -S, --skel=BESTAND      dit skeletbestand gebruiken\n"
-"  -t, --stdout            scanner naar standaarduitvoer schrijven, niet naar %s\n"
+"  -t, --stdout            scanner naar standaarduitvoer schrijven, niet naar "
+"%s\n"
 "      --yyclass=NAAM      naam van de C++-klasse\n"
-"      --header-file=BESTAND    behalve de scanner ook een C-headerbestand maken\n"
+"      --header-file=BESTAND    behalve de scanner ook een C-headerbestand "
+"maken\n"
 "      --tables-file[=BESTAND]  tabellen schrijven (naar dit BESTAND)\n"
 "\n"
 "Scannergedrag:\n"
 "  -7, --7bit              een 7-bits-scanner genereren\n"
 "  -8, --8bit              een 8-bits-scanner genereren\n"
-"  -B, --batch             een batch-scanner genereren (tegengestelde van -I)\n"
+"  -B, --batch             een batch-scanner genereren (tegengestelde van -"
+"I)\n"
 "  -i, --case-insensitive  hoofd-/kleine letters in patronen negeren\n"
 "  -l, --lex-compat        maximale compatibiliteit met de originele 'lex'\n"
 "  -X, --posix-compat      maximale compatibiliteit met de POSIX 'lex'\n"
@@ -651,51 +676,52 @@
 "  -h, --help              deze hulptekst tonen\n"
 "  -V, --version           de versie van %s tonen\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "geheugenreservering voor 'sko_stack' is mislukt"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "naam is belachelijk lang: \"%s\""
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "geheugenreservering is mislukt in allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "onjuist teken '%s' in check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "scanner heeft de optie '-8' nodig om teken %s te kunnen gebruiken"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamische geheugenfout in copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "geheugenreservering is mislukt in allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: **fatale interne programmafout**, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "vergroting van array is mislukt"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "onjuiste regel in skeletbestand"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "geheugenreservering is mislukt in yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -706,226 +732,239 @@
 "\n"
 "********** begin van dump van NFA met starttoestand %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "toestand # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** einde van de dump\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "lege machine in dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Voorschrift met variabele nakomende context op regel %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "onjuist toestandstype in mark_beginning_as_normal()"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "invoervoorschriften zijn te ingewikkeld (>= %d NFA-toestanden)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "te veel transities gevonden in mkxtion()"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "te veel voorschriften (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "onbekende fout tijdens verwerken van sectie 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "onjuiste lijst van startvoorwaarden"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "onbekend voorschrift"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "nakomende context twee keer gebruikt"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "onjuiste iteratiewaarden"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "iteratiewaarde moet positief zijn"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "het tekenbereik [%c-%c] is niet eenduidig in een hoofdletterongevoelige scanner"
+msgstr ""
+"het tekenbereik [%c-%c] is niet eenduidig in een hoofdletterongevoelige "
+"scanner"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "negatief bereik in tekenklasse"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] is niet eenduidig in een hoofdletterongevoelige scanner"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] is niet eenduidig in een hoofdletterongevoelige scanner"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Invoerregel is te lang\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "verkeerde opbouw van '%top'-commando"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "onbekend '%'-commando"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Definitienaam is te lang\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Ongepaarde '{'"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Definitiewaarde voor {%s} is te lang\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "onvolledige naamsdefinitie"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Optiesregel is te lang\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "onbekende %%option: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "onjuiste tekenklasse"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "ongedefinieerde definitie {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "onjuiste <startvoorwaarde>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "ontbrekend aanhalingsteken"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "onjuiste expressie '%s' in tekenklasse"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "onjuist teken tussen {}'s"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "ontbrekende }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "EOF werd bereikt tijdens een actie"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "EOF werd bereikt binnen een patroon"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "onjuist teken: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "kan %s niet openen"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Gebruik:  %s [OPTIE...]\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "optie '%s' staat geen argument toe\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "optie '%s' vereist een argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "optie '%s' is niet eenduidig\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Onbekende optie '%s'\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Onbekende fout=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "geheugenreservering voor symbolentabel is mislukt"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "naam is twee keer gedefinieerd"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "startvoorwaarde %s is twee keer vermeld"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "voortijdig einde van bestand"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Eindmarkering\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Iets Raars* - token: %d waarde:%d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "dynamische geheugenfout in copy_string()"
diff --git a/po/pl.po b/po/pl.po
index f940b5f..bb51298 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,52 +7,52 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.36\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2012-08-02 18:15+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "Language: pl\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Przydzielenie bufora do wypisania ³añcucha nie powiod³o siê"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Przydzielenie bufora dla dyrektywy linii nie powiod³o siê"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Przydzielenie bufora dla polecenia m4 def powiod³o siê"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Przydzielenie bufora dla polecenia m4 undef powiod³o siê"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Stan #%d jest nieakceptuj±cy -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "niebezpieczny kontekst koñcowy"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " numery linii powi±zanych regu³:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " przej¶cia-wyj¶ciowe: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -61,11 +61,11 @@
 "\n"
 " przej¶cia-zapêtlaj±ce: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "kontrola spójno¶ci nie powiod³a siê w epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -77,24 +77,24 @@
 "Zrzut DFA:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "nie mo¿na utworzyæ unikalnego stanu koñca bufora"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "stan # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Nie mo¿na zapisaæ yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "wykryto b³êdny znak przej¶cia w sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -106,29 +106,29 @@
 "Klasy równowa¿no¶ci:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "stan # %d akceptuje: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "stan # %d akceptuje: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Nie mo¿na zapisaæ yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Nie mo¿na zapisaæ yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Nie mo¿na zapisaæ ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -138,392 +138,402 @@
 "\n"
 "Klasy meta-równowa¿no¶ci:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Nie mo¿na zapisaæ yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Nie mo¿na zapisaæ yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Nie mo¿na zapisaæ yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Nie mo¿na zapisaæ yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Nie mo¿na zapisaæ yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Nie mo¿na zapisaæ ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Nie mo¿na zapisaæ ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Nie mo¿na zapisaæ eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Nie mo¿na zapisaæ yynultrans_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "nie mo¿na dopasowaæ regu³y"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "podano opcjê -s, ale domy¶lna regu³a mo¿e byæ dopasowana"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Nie mo¿na u¿yæ -+ z opcj± -l"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Nie mo¿na u¿yæ -f ani -F z opcj± -l"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Nie mo¿na u¿yæ --reentrant ani --bison-bridge z opcj± -l"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF i -Cm razem nie maj± sensu"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF i -I s± niekompatybilne"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF s± niekompatybilne z trybem kompatybilno¶ci z leksem"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf i -CF wykluczaj± siê wzajemnie"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Nie mo¿na u¿yæ -+ z opcj± -CF"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array jest niekompatybilne z opcj± -+"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Opcje -+ i --reentrant wykluczaj± siê wzajemnie."
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "pomost dla bisona nie jest obs³ugiwany dla skanera C++."
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "nie mo¿na utworzyæ %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "nie mo¿na zapisaæ nag³ówka tablic"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "nie mo¿na otworzyæ pliku szablonu %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "przydzielenie pamiêci dla definicji makra nie powiod³o siê"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "b³±d wej¶cia podczas odczytu pliku szablonu %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "b³±d podczas zamykania pliku szablonu %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "b³±d podczas tworzenia pliku nag³ówkowego %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "b³±d podczas zapisu pliku wyj¶ciowego %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "b³±d podczas zamykania pliku wyj¶ciowego %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "b³±d podczas usuwania pliku wyj¶ciowego %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Bez zapamiêtywania.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d zapamiêtywanych stanów (nie akceptuj±cych).\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Skompresowane tablice zawsze zapamiêtuj±.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "b³±d podczas zapisu pliku raportu z zapamiêtywania %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "b³±d podczas zamykania pliku raportu z zapamiêtywania %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s w wersji %s - statystyka u¿ycia:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  opcje skanera: -"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d stanów NFA\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d stanów DFA (%d s³ów)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d regu³\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Bez zapamiêtywania\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d zapamiêtywanych stanów (nie akceptuj±cych)\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Skompresowane tablice zawsze zapamiêtuj±\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  U¿ytych wzorców pocz±tek-linii\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d warunków pocz±tkowych\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d stanów epsilonowych, %d stanów podwójnie epsilonowych\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  bez klas znaków\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d klas znaków potrzebuje %d/%d s³ów pamiêci, %d ponownie u¿ytych\n"
+msgstr ""
+"  %d/%d klas znaków potrzebuje %d/%d s³ów pamiêci, %d ponownie u¿ytych\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d utworzonych par stan/nastêpny-stan\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d przej¶æ unikalny/duplikat\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d elementów tablicy\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d utworzonych elementów base-def\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (maksymalnie %d) utworzonych elementów nxt-chk\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (maksymalnie %d) utworzonych szablonowych elementów nxt-chk\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d pustych elementów tablicy\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d utworzonych prototypów\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d utworzonych szablonów, %d u¿yæ\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d utworzonych klas równowa¿no¶ci\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d utworzonych klas meta-równowa¿no¶ci\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d zachowanych) kolizji haszy, %d jednakowych DFA\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d potrzebnych zbiorów realokacji\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d potrzebnych ogó³em elementów tablicy\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "B³±d wewnêtrzny. ¬le sformu³owane flexopts.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "`%s --help' poda wiêcej informacji.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "nieznana opcja -C '%c'"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "krytyczny b³±d analizy sk³adni"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "nie mo¿na utworzyæ pliku informacji o zapamiêtywaniu %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr "opcja -l zgodno¶ci z leksem AT&T powoduje du¿± stratê wydajno¶ci\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " i mo¿e byæ przyczyn± innych zg³aszanych strat wydajno¶ci\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno powoduje straty wydajno¶ci TYLKO dla regu³ dopasowuj±cych znak koñca linii\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno powoduje straty wydajno¶ci TYLKO dla regu³ dopasowuj±cych "
+"znak koñca linii\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interaktywny) powoduje ma³± stratê wydajno¶ci\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() powoduje ma³± stratê wydajno¶ci\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT powoduje du¿± stratê wydajno¶ci\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Regu³y ze zmiennym koñcowym kontekstem powoduj± du¿± stratê wydajno¶ci\n"
+msgstr ""
+"Regu³y ze zmiennym koñcowym kontekstem powoduj± du¿± stratê wydajno¶ci\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT nie mo¿e byæ u¿yte z -f ani -F"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno nie mo¿e byæ u¿yte z REJECT"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr "regu³y ze zmiennym koñcowym kontekstem nie mog± byæ u¿yte z -f ani -F"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass ma znaczenie tylko dla skanerów C++"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Sk³adnia: %s [OPCJE] [PLIK]...\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -546,13 +556,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -574,8 +587,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -595,19 +606,24 @@
 "  -CF               nie kompresowanie tablic; u¿ycie reprezentacji -F\n"
 "  -Cm, --meta-ecs   konstruowanie klas meta-równowa¿no¶ci\n"
 "  -Cr, --read       u¿ycie read() zamiast stdio dla wej¶cia skanera\n"
-"  -f, --full        wygenerowanie szybkiego, wielkiego skanera. To samo co -Cfr\n"
-"  -F, --fast        u¿ycie alternatywnej reprezentacji tablic. To samo co -CFr\n"
+"  -f, --full        wygenerowanie szybkiego, wielkiego skanera. To samo co -"
+"Cfr\n"
+"  -F, --fast        u¿ycie alternatywnej reprezentacji tablic. To samo co -"
+"CFr\n"
 "  -Cem              domy¶lne kompresowanie (to samo co --ecs --meta-ecs)\n"
 "\n"
 "Diagnostyka:\n"
-"  -d, --debug             w³±czenie trybu diagnostycznego (debug) w skanerze\n"
+"  -d, --debug             w³±czenie trybu diagnostycznego (debug) w "
+"skanerze\n"
 "  -b, --backup            zapisanie informacji o zapamiêtywaniu do %s\n"
 "  -p, --perf-report       wypisanie raportu o wydajno¶ci na stderr\n"
-"  -s, --nodefault         pominiêcie domy¶lnej regu³y ECHO dla niedopasowanego\n"
+"  -s, --nodefault         pominiêcie domy¶lnej regu³y ECHO dla "
+"niedopasowanego\n"
 "                            tekstu\n"
 "  -T, --trace             %s powinien dzia³aæ w trybie ¶ledzenia\n"
 "  -w, --nowarn            nie generowanie ostrze¿eñ\n"
-"  -v, --verbose           wypisanie podsumowania statystyk skanera na stdout\n"
+"  -v, --verbose           wypisanie podsumowania statystyk skanera na "
+"stdout\n"
 "\n"
 "Pliki:\n"
 "  -o, --outfile=PLIK      podanie nazwy pliku wyj¶ciowego\n"
@@ -620,11 +636,13 @@
 "Zachowanie skanera:\n"
 "  -7, --7bit              wygenerowanie skanera 7-bitowego\n"
 "  -8, --8bit              wygenerowanie skanera 8-bitowego\n"
-"  -B, --batch             wygenerowanie skanera wsadowego (przeciwieñstwo -I)\n"
+"  -B, --batch             wygenerowanie skanera wsadowego (przeciwieñstwo -"
+"I)\n"
 "  -i, --case-insensitive  ignorowanie wielko¶ci liter we wzorcach\n"
 "  -l, --lex-compat        maksymalna kompatybilno¶æ z oryginalnym leksem\n"
 "  -X, --posix-compat      maksymalna kompatybilno¶æ z leksem POSIX\n"
-"  -I, --interactive       wygenerowanie skanera interaktywnego (przeciw. -B)\n"
+"  -I, --interactive       wygenerowanie skanera interaktywnego (przeciw. -"
+"B)\n"
 "      --yylineno          ¶ledzenie liczby linii w yylineno\n"
 "\n"
 "Generowany kod:\n"
@@ -648,51 +666,52 @@
 "  -h, --help              wy¶wietlenie tego pomocnego opisu\n"
 "  -V, --version           podanie wersji programu %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "przydzielenie sko_stack nie powiod³o siê"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "nazwa \"%s\" jest ¶miesznie d³uga"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "nie uda³o siê przydzieliæ pamiêci w allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "b³êdny znak '%s' usuniêty w check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "skaner wymaga flagi -8 aby u¿yæ znaku %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "niepowodzenie dynamicznej pamiêci w copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "nie uda³o siê przydzieliæ pamiêci w allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: krytyczny b³±d wewnêtrzny: %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "próba zwiêkszenia rozmiaru tablicy nie powiod³a siê"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "b³êdna linia w pliku szablonu"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "nie uda³o siê przydzieliæ pamiêci w yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -703,226 +722,243 @@
 "\n"
 "********** pocz±tek zrzutu NFA ze stanem pocz±tkowym %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "stan # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** koniec zrzutu\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "pusty automat w dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regu³a ze zmiennym koñcowym kontekstem w linii %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "b³êdny typ stanu w mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "regu³y wej¶ciowe s± zbyt skomplikowane (>= %d stanów NFA)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "znaleziono zbyt du¿o przej¶æ w mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "zbyt du¿o regu³ (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "nieznany b³±d podczas przetwarzania sekcji 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "b³êdna lista warunków pocz±tkowych"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "nierozpoznana regu³a"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "koñcowy kontekst u¿yty dwukrotnie"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "b³êdne warto¶ci iteracji"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "warto¶æ iteracji musi byæ dodatnia"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "przedzia³ znaków [%c-%c] jest niejednoznaczny w skanerze ignoruj±cym wielko¶æ liter"
+msgstr ""
+"przedzia³ znaków [%c-%c] jest niejednoznaczny w skanerze ignoruj±cym "
+"wielko¶æ liter"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "ujemny przedzia³ w klasie znaków"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
-msgstr "[:^lower:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ liter"
+msgstr ""
+"[:^lower:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ "
+"liter"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
-msgstr "[:^upper:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ liter"
+msgstr ""
+"[:^upper:] jest niejednoznaczne w przypadku skanera ignoruj±cego wielko¶æ "
+"liter"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Linia wej¶ciowa zbyt d³uga\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "¼le sformu³owana dyrektywa '%top'"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "nierozpoznana dyrektywa '%'"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Nazwa definizji zbyt d³uga\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Niesparowany '{'"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Definicja warto¶ci dla {%s} zbyt d³uga\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "niekompletna definicja nazwy"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Linia opcji zbyt d³uga\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "nierozpoznane %%option: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "b³êdna klasa znaków"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "niezdefiniowana definicja {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "b³êdny <warunek pocz±tkowy>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "brak cudzys³owu"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "b³êdne wyra¿enie klasy znaków: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "b³êdny znak wewn±trz {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "brak }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "EOF napotkany wewn±trz akcji"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "EOF napotkany wewn±trz wzorca"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "b³êdny znak: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "nie mo¿na otworzyæ %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Sk³adnia: %s [OPCJE]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "opcja `%s' nie przyjmuje argumentu\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "opcja `%s' wymaga argumentu\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "opcja `%s' jest niejednoznaczna\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Nierozpoznana opcja `%s'\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Nieznany b³±d=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "nie uda³o siê przydzieliæ pamiêci dla tablicy symboli"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "nazwa zdefiniowana dwukrotnie"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "warunek pocz±tkowy %s zadeklarowany dwukrotnie"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "przedwczesny EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Znacznik koñca\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Co¶ dziwnego* - tok: %d val: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "niepowodzenie dynamicznej pamiêci w copy_string()"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 63b7a1a..fd9aa11 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,54 +8,55 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2013-11-27 08:09-0300\n"
 "Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
-"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge.net>\n"
+"Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
+"net>\n"
 "Language: pt_BR\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: Poedit 1.5.7\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "A alocação de buffer para retornar string falhou"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "A alocação de buffer para diretiva de linha falhou"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "A alocação de buffer para m4 def falhou"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "A alocação de buffer para m4 undef falhou"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "O estado #%d é não-aceita -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "texto final perigoso"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " números de linha de regras associadas:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " transações de saída: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -64,11 +65,11 @@
 "\n"
 " transições presas: Fim de Arquivo "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "verificação de consistência falhou em epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -80,24 +81,24 @@
 "Despejo DFA:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "não foi possível criar um estado único de final de buffer"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "estado # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Não foi possível escrever yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "caractere de transição inválido detectado em sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -109,29 +110,29 @@
 "Classes de Equivalência:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "estado # %d aceita: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "estado # %d aceita: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Não foi possível escrever yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Não foi possível escrever yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Não foi possível escrever ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -141,392 +142,409 @@
 "\n"
 "Classes de Meta-Equivalência:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Não foi possível escrever yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Não foi possível escrever yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Não foi possível escrever yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Não foi possível escrever yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Não foi possível escrever yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Não foi possível escrever ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Não foi possível escrever ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Não foi possível escrever eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Não foi possível escrever yynultrans_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "aplicação da regra não gerou nenhum resultado"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "a opção -s foi fornecida, mas a regra padrão pode ser aplicada"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Não é possível usar -+ com a opção -l"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Não é possível usar -f ou -F com a opção -l"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Não é possível usar --reentrant ou --bison-bridge com a opção -l"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF e -Cm não fazem sentido juntos"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF e -I são incompatíveis"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF são incompatíveis com o modo de compatibilidade lex"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf e -CF são mutuamente exclusivos"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Não é possível usar -+ com a opção -CF"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array é incompatível com a opção -+"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "As opções -+ e --reentrant são mutuamente exclusivas."
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "sem suporte à ponte bison pelo scanner de C++."
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "não foi possível criar %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "não foi possível escrever o cabeçalho das tabelas"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "não é possível abrir o arquivo esqueleto %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "a alocação de definição de macro falhou"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "erro lendo o arquivo esqueleto %s"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "erro fechando o arquivo esqueleto %s"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "erro ao criar o arquivo cabeçalho %s"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "erro ao gravar o arquivo de saída %s"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "erro ao fechar o arquivo de saída %s"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "erro ao remover o arquivo de saída %s"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Impossível restaurar.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d fazendo cópia de segurança de estados (não-aceita).\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Tabelas compactadas sempre têm cópias de segurança.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "erro ao gravar a cópia de segurança %s"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "erro ao fechar a cópia de segurança %s"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s versão %s estatísticas de uso:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  opções de scanner: -"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d estados NFA\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d estados DFA (%d palavras)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d regras\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Sem cópia de segurança\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d fazendo cópia de segurança de estados (não-aceita)\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Tabelas compactadas sempre têm cópias de segurança\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Padrões de início-de-linha usados\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d condições de início\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d estados epsilon, %d estados epsilon duplo\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  nenhuma classe de caracteres\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d classes de caracteres precisaram de %d/%d palavras de armazenamento, %d reusadas\n"
+msgstr ""
+"  %d/%d classes de caracteres precisaram de %d/%d palavras de armazenamento, "
+"%d reusadas\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d pares estado/próximoestado criados\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d transições únicas/duplicadas\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d entradas de tabela\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d entradas base-def criadas\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (pico %d) entradas nxt-chk criadas\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (pico %d) modelos de entradas nxt-chk criadas\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d entradas vazias na tabela\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d protos criados\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d modelos criados, %d usos\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d classes de equivalência criadas\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d classes de meta-equivalência criadas\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d salvas) colisões de hash, %d DFAs iguais\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d conjuntos de realocação necessários\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d total de entradas de tabela necessárias\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Erro interno. flexopts estão malformados.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Tente \"%s --help\" para maiores informações.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "opção -C \"%c\" desconhecida"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "erro fatal de análise"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
-msgstr "não foi possível criar arquivo de cópia de segurança das informações %s"
+msgstr ""
+"não foi possível criar arquivo de cópia de segurança das informações %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "a opção de compatibilidade com lex da AT&T \"-l\" acarreta em uma grande penalidade na performance\n"
+msgstr ""
+"a opção de compatibilidade com lex da AT&T \"-l\" acarreta em uma grande "
+"penalidade na performance\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " e pode ser a fonte real de outras penalidades de performance reportadas\n"
+msgstr ""
+" e pode ser a fonte real de outras penalidades de performance reportadas\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno acarreta em uma penalidade na performance APENAS em regras que podem bater caracteres de nova linha\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno acarreta em uma penalidade na performance APENAS em regras "
+"que podem bater caracteres de nova linha\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interativo) acarreta em uma pequena penalidade na performance\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() acarreta em uma pequena penalidade na performance\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT acarreta em uma grande penalidade na performance\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Variável seguindo regras de contexto implicam em grande perda de performance\n"
+msgstr ""
+"Variável seguindo regras de contexto implicam em grande perda de "
+"performance\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT não pode ser usado com -f ou -F"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno não pode ser usada com REJECT"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "variáveis seguindo regras de contexto não podem ser usadas com -f ou -F"
+msgstr ""
+"variáveis seguindo regras de contexto não podem ser usadas com -f ou -F"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass só tem sentido para scanners C++"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Uso: %s [OPÇÕES] [ARQUIVO]...\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -549,13 +567,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -577,8 +598,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -599,7 +618,8 @@
 "  -Cm, --meta-ecs   construct meta-equivalence classes\n"
 "  -Cr, --read       use read() em vez da stdio para a entrada do scanner\n"
 "  -f, --full        gera scanner grande e rápido. O mesmo que -Cfr\n"
-"  -F, --fast        usa representação de tabela alternativa. O mesmo que -CFr\n"
+"  -F, --fast        usa representação de tabela alternativa. O mesmo que -"
+"CFr\n"
 "  -Cem              compressão padrão (mesmo que --ecs --meta-ecs)\n"
 "\n"
 "Depuração:\n"
@@ -610,7 +630,8 @@
 "                          correspondente\n"
 "  -T, --trace             %s deveria executar em modo de ratro\n"
 "  -w, --nowarn            não gera avisos\n"
-"  -v, --verbose           escreve um resumo das estatísticas do scanner para\n"
+"  -v, --verbose           escreve um resumo das estatísticas do scanner "
+"para\n"
 "                          stdout\n"
 "\n"
 "Arquivos:\n"
@@ -654,51 +675,52 @@
 "  -h, --help              produz esta mensagem de ajuda\n"
 "  -V, --version           informa a versão do %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "alocação de sko_stack falhou"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "nome \"%s\" ridiculamente longo"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "alocação de memória falhou em allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "caractere inválido \"%s\" detectado em check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "o scanner precisa da opção -8 para usar o caractere %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "falha dinâmica de memória em copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "alocação de memória falhou em allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: erro interno fatal, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "tentativa de aumentar o tamanho do vetor falhou"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "linha inválida no arquivo de esqueleto"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "alocação de memória falhou em yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -709,235 +731,248 @@
 "\n"
 "********** iniciando despejo de nfa com estado inicial %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "estado # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** final do despejo\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "máquina vazia em dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regra de final de contexto variável na linha %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "estado de tipo inválido em mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "regras de entrada são muito complicadas (>= %d estados NFA)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "muitas transições em mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "muitas regras (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "erro desconhecido processando a seção 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "lista de condições de início inválida"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "regra não reconhecida"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "contexto final usado duas vezes"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "valores de iteração inválidos"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "valor de iteração deve ser positivo"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "a faixa de caracteres [%c-%c] é ambígua em um scanner \"case-insensitive\""
+msgstr ""
+"a faixa de caracteres [%c-%c] é ambígua em um scanner \"case-insensitive\""
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "faixa negativa na classe de caracteres"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] é ambígua em um scanner \"case-insensitive\""
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] é ambígua em um scanner \"case-insensitive\""
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Linha de entrada muito longa\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "diretiva \"%top\" malformada"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "diretiva \"%\" não reconhecida"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Nome de definição muito longo\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "'{' sem fechamento"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Valor de definição para {%s} muito longo\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "definição de nome incompleta"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Linha de opção muito longa\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "%%option não reconhecida: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "classe de caractere inválida"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "definição indefinida {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "<condição de início> inválida: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "faltou aspa"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "expressão de classe de caractere inválida: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "caracatere inválido entre {}'s"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "faltou }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "Fim de Arquivo encontrado dentro de uma ação"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "Fim de Arquivo encontrado dentro do padrão"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "caracter inválido: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "não foi possível abrir %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Uso: %s [OPÇÕES]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "opção \"%s\" não permite argumentos\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "opção \"%s\" requer um argumento\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "opção \"%s\" é ambígua\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Opção \"%s\" desconhecida\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Erro desconhecido=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "alocação da memória da tabela de símbolos falhou"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "nome definido duas vezes"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "condição de início %s declarada duas vezes"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "Fim-de-Arquivo prematuro"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Marca de Fim\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Algo Estranho* - tok: %d val: %d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "falha dinâmica de memória em copy_string()"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "verificação de consistência falhou em symfollowset"
 
 #~ msgid "Can't specify header option if writing to stdout."
-#~ msgstr "Impossível especificar a opção de cabeçalho se escrevendo em stdout."
+#~ msgstr ""
+#~ "Impossível especificar a opção de cabeçalho se escrevendo em stdout."
 
 #~ msgid "unknown -R option '%c'"
 #~ msgstr "opção -R '%c' desconecida"
diff --git a/po/ro.po b/po/ro.po
index cd65cf9..76d4edd 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,33 +5,54 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: flex 2.5.31\n"
-"POT-Creation-Date: 2003-04-01 11:33-0500\n"
+"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2003-11-22 11:07+0200\n"
 "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Language: ro\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO-8859-2\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: dfa.c:61
+#: src/buf.c:79
+msgid "Allocation of buffer to print string failed"
+msgstr ""
+
+#: src/buf.c:107
+msgid "Allocation of buffer for line directive failed"
+msgstr ""
+
+#: src/buf.c:177
+msgid "Allocation of buffer for m4 def failed"
+msgstr ""
+
+#: src/buf.c:198
+msgid "Allocation of buffer for m4 undef failed"
+msgstr ""
+
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Starea #%d este de neacceptat. -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "context de sfârºit(trailing) periculos"
 
-#: dfa.c:166
+#: src/dfa.c:159
+#, c-format
 msgid " associated rule line numbers:"
 msgstr " numerele de linie asociate regulii:"
 
-#: dfa.c:202
+#: src/dfa.c:193
+#, c-format
 msgid " out-transitions: "
 msgstr " tranziþii exterioare(out): "
 
-#: dfa.c:210
+#: src/dfa.c:201
+#, c-format
 msgid ""
 "\n"
 " jam-transitions: EOF "
@@ -39,11 +60,11 @@
 "\n"
 " tranziþii jam: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "verificare de consistenþã eºuatã în epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -55,28 +76,24 @@
 "Rezultat(dump) DFA:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "nu am putut crea sfârºit unic pentru starea buffer-ului"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "stare # %d:\n"
 
-#: dfa.c:800
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Nu am putut scrie yynxt_tbl[][]"
 
-#: dfa.c:1023
-msgid "consistency check failed in symfollowset"
-msgstr "verificare de consistenþã eºuatã în symfollowset"
-
-#: dfa.c:1071
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "caracter greºit de tranziþie detectat în sympartition()"
 
-#: gen.c:484
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -88,29 +105,29 @@
 "Clase de Echivalenþã:\n"
 "\n"
 
-#: gen.c:668 gen.c:697 gen.c:1221
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "starea # %d acceptã: [%d]\n"
 
-#: gen.c:1116
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "starea # %d acceptã: "
 
-#: gen.c:1163
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Nu am putut scrie yyacclist_tbl"
 
-#: gen.c:1239
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Nu am putut scrie yyacc_tbl"
 
-#: gen.c:1254 gen.c:1639 gen.c:1662
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Nu am putut scrie ecstbl"
 
-#: gen.c:1277
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -120,374 +137,406 @@
 "\n"
 "Clase de Meta-Echivalenþã:\n"
 
-#: gen.c:1299
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Nu am putut scrie yymeta_tbl"
 
-#: gen.c:1360
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Nu am putut scrie yybase_tbl"
 
-#: gen.c:1394
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Nu am putut scrie yydef_tbl"
 
-#: gen.c:1434
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Nu am putut scrie yynxt_tbl"
 
-#: gen.c:1470
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Nu am putut scrie yychk_tbl"
 
-#: gen.c:1624 gen.c:1653
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Nu am putut scrie ftbl"
 
-#: gen.c:1630
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Nu am putut scrie ssltbl"
 
-#: gen.c:1681
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Nu am putut scrie eoltbl"
 
-#: gen.c:1741
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Nu am putut scrie yynultrans_tbl"
 
-#: main.c:176
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "regula nu se potriveºte cu nimic"
 
-#: main.c:181
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "a fost datã opþiunea -s dar regula implicitã se poate potrivi"
 
-#: main.c:217
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Nu se poate folosi -+ cu opþiunea -l"
 
-#: main.c:220
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Nu se poate folosi -f sau -F cu opþiunea -l"
 
-#: main.c:224
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Nu se poate folosi --reentrant sau --bison-bridge cu opþiunea -l"
 
-#: main.c:261
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF ºi -Cm nu au sens folosite împreunã"
 
-#: main.c:264
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF ºi -I sunt incompatibile"
 
-#: main.c:268
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF sunt incompatibile cu module de compatibilitate lex"
 
-#: main.c:273
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf ºi -CF se exclud reciproc"
 
-#: main.c:277
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Nu se poate folosi -+ cu opþiunea -CF"
 
-#: main.c:280
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array incompatibil cu opþiunea -+"
 
-#: main.c:285
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Opþiunile -+ and --reentrant se exclud reciproc"
 
-#: main.c:288
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bridge bison nu este suportat pentru scannerul C++."
 
-#: main.c:340 main.c:385
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "nu am putut crea %s"
 
-#: main.c:398
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "Nu am putut scrie capul de tabel"
 
-#: main.c:402
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "nu am putut deschide fiºierul schelet %s"
 
-#: main.c:483
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
+msgid "allocation of macro definition failed"
+msgstr ""
+
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "eroare de intrare(input) în timpul citirii fiºierului schelet %s"
 
-#: main.c:487
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "eroare în închiderea fiºierului schelet %s"
 
-#: main.c:671
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "eroare în crearea fiºierului de header %s"
 
-#: main.c:679
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "eroare în scrierea fiºierului de output %s"
 
-#: main.c:683
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "eroare în închiderea fiºierului de output %s"
 
-#: main.c:687
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "eroare în ºtergerea fiºierului de output %s"
 
-#: main.c:694
+#: src/main.c:732
+#, c-format
 msgid "No backing up.\n"
 msgstr "Nu se revine (backing-up).\n"
 
-#: main.c:698
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d salvare de (inacceptabile) stãri.\n"
 
-#: main.c:702
+#: src/main.c:740
+#, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Tabelele compresate întotdeauna au back-up.\n"
 
-#: main.c:705
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "eroare în scrierea fiºierului de backup %s"
 
-#: main.c:709
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "eroare în închiderea fiºierului de backup %s"
 
-#: main.c:714
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s versiunea %s statistici de folosire:\n"
 
-#: main.c:717
+#: src/main.c:755
+#, c-format
 msgid "  scanner options: -"
 msgstr "  opþiuni de scanner: -"
 
-#: main.c:796
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d stãri NFA\n"
 
-#: main.c:798
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d stãri DFA (%d cuvinte)\n"
 
-#: main.c:800
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d reguli\n"
 
-#: main.c:805
+#: src/main.c:843
+#, c-format
 msgid "  No backing up\n"
 msgstr "  Nu se face backup\n"
 
-#: main.c:809
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d salvare de (inacceptabile) stãri\n"
 
-#: main.c:814
+#: src/main.c:852
+#, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Tabelele compresate întotdeauna au back-up\n"
 
-#: main.c:818
+#: src/main.c:856
+#, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Tipare de începuturi de linie folosite\n"
 
-#: main.c:820
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d condiþii de start\n"
 
-#: main.c:824
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d stãri epsilon, %d stãri dublu epsilon\n"
 
-#: main.c:828
+#: src/main.c:866
+#, c-format
 msgid "  no character classes\n"
 msgstr "  nici o clasã de caractere\n"
 
-#: main.c:832
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d clase de caractere necesare %d/%d cuvinte de stocare, %d refolosite\n"
+msgstr ""
+"  %d/%d clase de caractere necesare %d/%d cuvinte de stocare, %d refolosite\n"
 
-#: main.c:837
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d perechi de stare/stareurmãtoare create\n"
 
-#: main.c:840
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d tranziþii unice/duplicate\n"
 
-#: main.c:845
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d intrãri în tabele\n"
 
-#: main.c:853
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d base-def intrãri create\n"
 
-#: main.c:857
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (maxim %d) nxt-chk intrãri create\n"
 
-#: main.c:861
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (maxim %d) model nxt-chk intrãri create\n"
 
-#: main.c:865
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d intrãri în tabel goale\n"
 
-#: main.c:867
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototipuri create\n"
 
-#: main.c:870
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d modele create, %d folosiri\n"
 
-#: main.c:878
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d clase de echivalenþã create\n"
 
-#: main.c:886
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d clase de  meta-echivalenþã create\n"
 
-#: main.c:892
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d salvate) coliziuni disipate(hash), %d egaluri de DFA-uril\n"
 
-#: main.c:894
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d seturi de realocãri necesare\n"
 
-#: main.c:896
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d intrãri totale în tabel necesare\n"
 
-#: main.c:971
+#: src/main.c:1008
+#, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Eroare internã. Opþiunile flex(flexopts) sunt malformate.\n"
 
-#: main.c:981
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Încercaþi `%s --help' pentru mai multe informaþii.\n"
 
-#: main.c:1038
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "opþiune -C necunoscutã `%c'"
 
-#: main.c:1167
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1442
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "eroare fatalã de analizã(parse)"
 
-#: main.c:1474
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "nu s-a putut crea fiºierul de informaþii de back-up %s"
 
-#: main.c:1495
+#: src/main.c:1529
+#, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "-l opþiunea de compatibilitate AT&T lex determinã o scãdere drasticã a performanþei\n"
+msgstr ""
+"-l opþiunea de compatibilitate AT&T lex determinã o scãdere drasticã a "
+"performanþei\n"
 
-#: main.c:1498
+#: src/main.c:1532
+#, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr "ºi poate fi sursa realã a altor scãderi de performanþã raportate\n"
 
-#: main.c:1504
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%opþiunea yylineno determinã o scãdere drasticã a performanþei DOAR în regulile care se potrivesc caracterelor linie_nouã(newline)\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%opþiunea yylineno determinã o scãdere drasticã a performanþei DOAR în "
+"regulile care se potrivesc caracterelor linie_nouã(newline)\n"
 
-#: main.c:1511
+#: src/main.c:1545
+#, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interactiãe) determinã o scãdere minorã a performanþei\n"
 
-#: main.c:1516
+#: src/main.c:1550
+#, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() determinã o scãdere minorã a performanþei\n"
 
-#: main.c:1522
+#: src/main.c:1556
+#, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT determinã o scãdere drasticã a performanþei\n"
 
-#: main.c:1527
+#: src/main.c:1561
+#, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Contextul de sfârºit(trailing) variabil determinã o scãdere drasticã a performanþei\n"
+msgstr ""
+"Contextul de sfârºit(trailing) variabil determinã o scãdere drasticã a "
+"performanþei\n"
 
-#: main.c:1539
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT nu poate fi folosit cu -f sau -F"
 
-#: main.c:1542
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%opþiunea yylineno nu poate fi folositã cu REJECT"
 
-#: main.c:1545
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "contextul de sfârºit(trailing) variabil nu poate fi folosit cu -f sau -F"
+msgstr ""
+"contextul de sfârºit(trailing) variabil nu poate fi folosit cu -f sau -F"
 
-#: main.c:1661
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%opþunea yyclass este folositoare doar pentru scannerele C++"
 
-#: main.c:1768
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Folosire: %s [OPÞIUNI] [FIªIER]...\n"
 
-#: main.c:1771
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -510,13 +559,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -538,8 +590,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -553,13 +603,16 @@
 "Genereazã programe care cautã potriviri de tipare pe un text\n"
 "\n"
 "Compresie de tabele:\n"
-"  -Ca, --align      renunþã la tabelele mari în favoarea unui aliniament mai bun al memoriei\n"
+"  -Ca, --align      renunþã la tabelele mari în favoarea unui aliniament mai "
+"bun al memoriei\n"
 "  -Ce, --ecs        construieºte clase de echivalenþã\n"
 "  -Cf               nu compreseazã tabelele; foloseºte reprezentare -f \n"
 "  -CF               nu compreseazã tabelele; foloseºte reprezentare -F\n"
 "  -Cm, --meta-ecs   construieºte clase de meta-echivalenþã\n"
-"  -Cr, --read       foloseºte read() în loc de stdio pentru intrarea de scanner\n"
-"  -F, --fast        foloseºte reprezentare alternativã de tabele. Asemãnãtor lui -CFr\n"
+"  -Cr, --read       foloseºte read() în loc de stdio pentru intrarea de "
+"scanner\n"
+"  -F, --fast        foloseºte reprezentare alternativã de tabele. Asemãnãtor "
+"lui -CFr\n"
 "  -f, --full        genereazã scannere rapide, mari. Asemãnãtor lui -Cfr\n"
 "  -Cem              compresie implicitã (asemãnãtor lui --ecs --meta-ecs)\n"
 "\n"
@@ -567,10 +620,12 @@
 "  -d, --debug             activeazã modul debug în scanner\n"
 "  -b, --backup            scriere de informaþii de backup în %s\n"
 "  -p, --perf-report       scrie raportul de performanþã la stderr\n"
-"  -s, --nodefault         eliminã regula implicitã de ECHO text care nu se potriveºte\n"
+"  -s, --nodefault         eliminã regula implicitã de ECHO text care nu se "
+"potriveºte\n"
 "  -T, --trace             %s ar trebui sã ruleze în mod trace\n"
 "  -w, --nowarn            nu genereazã avertismente\n"
-"  -v, --verbose           scrie cuprinsul statisticilor scanner-ului la stdout\n"
+"  -v, --verbose           scrie cuprinsul statisticilor scanner-ului la "
+"stdout\n"
 "\n"
 "Fiºiere:\n"
 "  -o, --outfile=FIªIER      specificã numele de fiºier de ieºire\n"
@@ -583,7 +638,8 @@
 "Comportament scanner:\n"
 "  -7, --7bit              genereazã scanner pe 7-biþi\n"
 "  -8, --8bit              genereazã scanner pe 8-biþi\n"
-"  -B, --batch             genereazã scanner comandã(batch) (inversul lui -I)\n"
+"  -B, --batch             genereazã scanner comandã(batch) (inversul lui -"
+"I)\n"
 "  -i, --case-insensitive  ignorã cazul în tipare\n"
 "  -l, --lex-compat        compatibilitate maximã cu lex original\n"
 "  -X, --posix-compat      compatibilitate maximã cu lex POSIX\n"
@@ -611,47 +667,52 @@
 "  -h, --help              produce acest mesaj de ajutor\n"
 "  -V, --version           raporteazã versiunea %s\n"
 
-#: misc.c:100 misc.c:126
+#: src/misc.c:64
+msgid "allocation of sko_stack failed"
+msgstr ""
+
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "numele \"%s\" este ridicol de lung"
 
-#: misc.c:175
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "alocare de memorie eºuatã în allocate_array()"
 
-#: misc.c:250
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "caracter greºit `%s' detectat în check_char()"
 
-#: misc.c:255
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "scannerul necesitã parametrul(flag) -8 pentru a folosi caracterul %s"
 
-#: misc.c:288
-msgid "dynamic memory failure in copy_string()"
-msgstr "eroare de memorie dinamicã în copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "alocare de memorie eºuatã în allocate_array()"
 
-#: misc.c:422
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: eroare internã fatalã, %s\n"
 
-#: misc.c:875
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "încercare de a mãri dimensiunea domeniului eºuatã"
 
-#: misc.c:1002
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "linie greºitã în fiºierul schelet"
 
-#: misc.c:1051
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "alocare de memorie eºuatã în yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -662,203 +723,255 @@
 "\n"
 "********** începerea aducerii(dump) nfa cu starea de început %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "stare # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
+#, c-format
 msgid "********** end of dump\n"
 msgstr "********** sfârºit de aducere(dump)\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "maºinã vidã în dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regulã de context de sfârºit variabil la linia %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "tip de stare greºitã în mark_beginning_as_normal()"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "regulile de intrare(input) sunt prea complicate (>= %d stãri NFA)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "s-au gãsit prea multe tranziþii în mkxtion()"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "prea multe reguli (> %d)!"
 
-#: parse.y:183
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "eroare necunoscutã în procesarea secþiunii 1"
 
-#: parse.y:208 parse.y:373
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "listã de stãri în condiþie proastã"
 
-#: parse.y:337
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "regulã necunoscutã"
 
-#: parse.y:456 parse.y:469 parse.y:538
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "context de sfârºit(trailing) utilizat de douã ori"
 
-#: parse.y:574 parse.y:584 parse.y:657 parse.y:667
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "valori de iteraþie greºite"
 
-#: parse.y:602 parse.y:620 parse.y:685 parse.y:703
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "valoarea iteraþiei trebuie sã fie pozitivã"
 
-#: parse.y:817 parse.y:827
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-insenzitiv"
+msgstr ""
+"intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-"
+"insenzitiv"
 
-#: parse.y:832
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "domeniu negativ în clasa de caractere"
 
-#: scan.l:70 scan.l:180 scan.l:267 scan.l:409 scan.l:548 scan.l:598
+#: src/parse.y:918
+#, fuzzy
+msgid "[:^lower:] is ambiguous in case insensitive scanner"
+msgstr ""
+"intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-"
+"insenzitiv"
+
+#: src/parse.y:924
+#, fuzzy
+msgid "[:^upper:] ambiguous in case insensitive scanner"
+msgstr ""
+"intervalul(range) de caracter [%c %c] este ambiguu într-un scanner caz-"
+"insenzitiv"
+
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Linie de intrare(input) prea lungã\n"
 
-#: scan.l:149
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "directivã '%top' malformatã"
 
-#: scan.l:171
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "directivã '%' necunoscutã"
 
-#: scan.l:251
+#: src/scan.l:214
+#, fuzzy
+msgid "Definition name too long\n"
+msgstr "Linie de intrare(input) prea lungã\n"
+
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "'{' fãrã corespondent"
 
-#: scan.l:284
+#: src/scan.l:325
+#, c-format
+msgid "Definition value for {%s} too long\n"
+msgstr ""
+
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "definire de nume incompletã"
 
-#: scan.l:417
+#: src/scan.l:467
+#, fuzzy
+msgid "Option line too long\n"
+msgstr "Linie de intrare(input) prea lungã\n"
+
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "%%opþiune necunoscutã: %s"
 
-#: scan.l:558 scan.l:677
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "clasã de caractere greºitã"
 
-#: scan.l:605
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "definiþie nedefinitã {%s}"
 
-#: scan.l:645
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "<condiþie de start> greºitã: %s"
 
-#: scan.l:658
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "menþionare(quote) lipsã"
 
-#: scan.l:698
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "expresie clasã caracter greºitã: %s"
 
-#: scan.l:720
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "caracter eronat între {}"
 
-#: scan.l:726
+#: src/scan.l:894
 msgid "missing }"
 msgstr "lipseºte }"
 
-#: scan.l:799
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "EOF întâlnit în mijlocul acþiunii"
 
-#: scan.l:819
+#: src/scan.l:977
+#, fuzzy
+msgid "EOF encountered inside pattern"
+msgstr "EOF întâlnit în mijlocul acþiunii"
+
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "caracter eronat: %s"
 
-#: scan.l:848
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "nu pot deschide %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Folosire: %s [OPÞIUNI]...\n"
 
-#: scanopt.c:565
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "opþiunea `%s' nu permite parametri\n"
 
-#: scanopt.c:570
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "opþiunea `%s' necesitã un parametru\n"
 
-#: scanopt.c:574
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "opþiunea `%s' este ambiguã\n"
 
-#: scanopt.c:578
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Opþiune necunoscutã `%s'\n"
 
-#: scanopt.c:582
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Eroare necunoscutã=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "alocare de memorie pentru tabela de simboluri eºuatã"
 
-#: sym.c:203
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "nume definit de douã ori"
 
-#: sym.c:254
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "condiþie de start %s definitã de douã ori"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "EOF prematur"
 
-#: yylex.c:198
+#: src/yylex.c:200
+#, c-format
 msgid "End Marker\n"
 msgstr "Marcaj de sfârºit\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Ceva Ciudat* - tok: %d val: %d\n"
 
+#~ msgid "consistency check failed in symfollowset"
+#~ msgstr "verificare de consistenþã eºuatã în symfollowset"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "eroare de memorie dinamicã în copy_string()"
+
 #~ msgid "Can't specify header option if writing to stdout."
 #~ msgstr "Nu se poate specifica opþiunea de header dacã se scrie la stdout"
 
diff --git a/po/ru.po b/po/ru.po
index 7c7e08e..1a0987b 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,54 +8,55 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2014-02-16 10:00+0400\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@mx.ru>\n"
 "Language: ru\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 1.4\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Не удалось выделить буфер для выводимой строки"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Не удалось выделить буфер для строковой директивы"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Не удалось выделить буфер для m4 def"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Не удалось выделить буфер для m4 undef"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Состояние #%d не допускает -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "опасный замыкающий контекст"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " номера строк ассоциированного правила:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " out-переходы: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -64,11 +65,11 @@
 "\n"
 " jam-переходы: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "ошибка при проверке на целостность в epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -80,24 +81,24 @@
 "Дамп ДКА:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "невозможно создать уникальное состояние конца буфера"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "состояние # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Невозможно записать yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "обнаружен неверный переходный символ в sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -109,29 +110,29 @@
 "Классы эквивалентности:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "состояние # %d допускает: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "состояние # %d допускает: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Невозможно записать yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Невозможно записать yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Невозможно записать ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -141,392 +142,409 @@
 "\n"
 "Мета-эквивалентные Классы:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Невозможно записать yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Невозможно записать yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Невозможно записать yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Невозможно записать yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Невозможно записать yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Невозможно записать ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Невозможно записать ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Невозможно записать eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Невозможно записать yynultrans_tbl"
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "невозможно применить правило"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "указан параметр -s, но правило по умолчанию не может быть применено"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Невозможно использовать -+ с параметром -l"
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Невозможно использовать -f или -F с параметром -l"
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Невозможно использовать --reentrant или --bison-bridge с параметром -l"
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "Параметры -Cf/-CF и -Cm вместе не имеют смысла"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "Параметры -Cf/-CF и -I несовместимы"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "Параметры -Cf/-CF несовместимы с режимом lex-совместимости"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "Параметры -Cf и -CF являются взаимоисключающими"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Невозможно использовать -+ с параметром -CF"
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array несовместим с параметром -+"
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Параметры -+ и --reentrant являются взаимоисключающими."
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison bridge не поддерживается для сканера C++."
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "невозможно создать %s"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "Невозможно записать заголовок таблиц"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "Невозможно открыть файл-каркас %s"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "Не удалось разместить определение макроса"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "ошибка чтения файла-каркаса %s"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "ошибка при закрытии файла-каркаса %s"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "ошибка создания заголовочного файла %s"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "ошибка записи в выходной файл %s"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "ошибка закрытия выходного файла %s"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "ошибка удаления выходного файла %s"
 
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Резервное копирование отключено.\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "резервное копирование %d (недопустимых) состояний.\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Резервное копирование сжатых таблиц выполняется всегда.\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "ошибка записи резервной копии файла %s"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "ошибка закрытия резервной копии файла %s"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "статистика использования %s версии %s:\n"
 
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  параметры сканера: -"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d состояний НКА\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d состояний ДКА (%d слов)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d правил\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Резервное копирование отключено\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  резервное копирование %d (недопустимых) состояний\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Резервное копирование сжатых таблиц выполняется всегда\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Используются шаблоны начала строки\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d начальных условий\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d эпсилон-состояний, %d двойных эпсилон-состояний\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  отсутствуют классы символов\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d классов символов требуют %d/%d слов для хранения, %d повторно использовано\n"
+msgstr ""
+"  %d/%d классов символов требуют %d/%d слов для хранения, %d повторно "
+"использовано\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  создано %d пар состояние/след_состояние\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d уникальных/повторяющихся переходов\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d элементов таблицы\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  создано %d/%d base-def элементов\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  создано %d/%d (пик %d) nxt-chk элементов\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  создано %d/%d (пик %d) шаблонных nxt-chk элементов\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d пустых элементов таблицы\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  создано %d прототипов\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  создано %d шаблонов, %d используются\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  созданы классы эквивалентности %d/%d\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d мета-эквивалентных классов создано\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d записано) коллизий хэш-таблицы, %d эквивалентных ДКА\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  требуется %d наборов повторных размещений\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  всего требуется %d элементов таблицы\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Внутренняя ошибка. Неправильное значение flexopts.\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Попробуйте «%s --help» для получения более подробного описания.\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "неизвестное значение «%c» для -C"
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "фатальная ошибка разбора"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "невозможно создать резервную копию информационного файла %s"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "Параметр -l совместимости с AT&T lex влечёт значительное снижение производительности\n"
+msgstr ""
+"Параметр -l совместимости с AT&T lex влечёт значительное снижение "
+"производительности\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " и также может быть истинным источником проблем с производительностью\n"
+msgstr ""
+" и также может быть истинным источником проблем с производительностью\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno влечёт значительное снижение производительности ТОЛЬКО для правил, которые могут совпадать с символами новой строки\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno влечёт значительное снижение производительности ТОЛЬКО для "
+"правил, которые могут совпадать с символами новой строки\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (интерактивный) влечёт незначительное снижение производительности\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() приводит к небольшому снижению производительности\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT влечёт значительное снижение производительности\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Правила с переменным замыкающим контекстом приводят к значительному снижению производительности\n"
+msgstr ""
+"Правила с переменным замыкающим контекстом приводят к значительному снижению "
+"производительности\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT не может быть использован вместе с -f или -F"
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno не может быть использован с REJECT"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "правила с переменным замыкающим контекстом не могут быть использованы с -f или -F"
+msgstr ""
+"правила с переменным замыкающим контекстом не могут быть использованы с -f "
+"или -F"
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass имеет смысл только для сканеров C++"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Использование: %s [ПАРАМЕТРЫ] [ФАЙЛ]…\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -549,13 +567,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -577,8 +598,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -658,51 +677,52 @@
 "  -h, --help              показать эту справку\n"
 "  -V, --version           показать версию %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "не удалось разместить sko_stack"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "имя «%s» нелепо длинное"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "ошибка выделения памяти в allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "найден неверный символ «%s» в check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "для использования символа %s сканеру требуется параметр -8"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "ошибка при работе с динамической памятью в copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "ошибка выделения памяти в allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: фатальная внутренняя ошибка, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "ошибка при попытке увеличить размер массива"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "неверная строка в файле-каркасе"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "ошибка при выделении памяти в yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -713,230 +733,247 @@
 "\n"
 "******** начало дампа конечного автомата с начальным состоянием %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "состояние # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********* конец дампа\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "пустой автомат в dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Правило с переменным замыкающим контекстом в строке %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "неверный тип состояния в mark_beginning_as_normal()"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "входные правила слишком сложные (>= %d состояний НКА)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "найдено слишком много переходов в mkxtion()"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "слишком много правил (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "неизвестная ошибка при обработке раздела 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "неверный список начальных условий"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "нераспознанное правило"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "замыкающий контекст используется дважды"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "неверные значения итераций"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "значение итераций должно быть положительным"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "использование символьного диапазона [%c-%c] сомнительно в сканере, не чувствительном к регистру"
+msgstr ""
+"использование символьного диапазона [%c-%c] сомнительно в сканере, не "
+"чувствительном к регистру"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "отрицательный диапазон в классе символов"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
-msgstr "использование [:^lower:] сомнительно для сканера, не чувствительного к регистру"
+msgstr ""
+"использование [:^lower:] сомнительно для сканера, не чувствительного к "
+"регистру"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
-msgstr "использование [:^upper:] сомнительно для сканера, не чувствительного к регистру"
+msgstr ""
+"использование [:^upper:] сомнительно для сканера, не чувствительного к "
+"регистру"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Слишком длинная входная строка\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "нераспознанная директива «%top»"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "нераспознанная директива «%»"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Слишком длинное определение имени\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Непарная «{»"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Слишком длинное определение значения для {%s}\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "неполное определение имени"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Слишком длинный параметр\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "нераспознанный %%option: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "неверный класс символа"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "неопределенное определение {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "неверное <начальное условие>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "отсутствуют кавычки"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "неверное выражение класса символа: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "неверный символ внутри {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "отсутствует }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "встречен EOF внутри действия"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "встречен EOF внутри шаблона"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "неверный символ: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "невозможно открыть %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Использование: %s [ПАРАМЕТРЫ]…\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "параметр «%s» должен использоваться без аргумента\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "параметр «%s» должен использоваться с аргументом\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "неоднозначный ключ «%s»\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Нераспознанный параметр «%s»\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Неизвестная ошибка=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "ошибка при выделении памяти для таблицы символов"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "имя определено дважды"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "начальное условие %s описано дважды"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "неожиданный EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Метка конца\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Что-то не так* — tok: %d val: %d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "ошибка при работе с динамической памятью в copy_string()"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "ошибка при проверке на целостность в symfollowset"
 
diff --git a/po/sr.po b/po/sr.po
index ce7cf20..752b49d 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -6,53 +6,54 @@
 msgstr ""
 "Project-Id-Version: flex-2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2013-10-30 18:20+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
 "Language: sr\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Није успело додељивање међумеморије нисци исписивања"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Није успело додељивање међумеморије за одредницу реда"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Није успело додељивање међумеморије за одредницу м4"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Није успело додељивање међумеморије за поништавање одреднице м4"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Стање #%d је не-прихватљиво —\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "опасан пратећи контекст"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " бројеви реда придруженог правила:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " ван-прелаза:"
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -61,11 +62,11 @@
 "\n"
 " јам-прелази: крај датотеке"
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "провера доследности није успела у „epsclosure()“"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -77,24 +78,24 @@
 "ДФА испис:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "не могу да направим јединствено стање краја међумеморије"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "стање # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Не могу да запишем „yynxt_tbl[][]“"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "откривен је лош знак прелаза у „sympartition()“"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -106,29 +107,29 @@
 "Разреди једнакости:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "стање # %d прихвата: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "стање # %d прихвата: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Не могу да запишем „yyacclist_tbl“"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Не могу да запишем „yyacc_tbl“"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Не могу да запишем „ecstbl“"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -138,392 +139,403 @@
 "\n"
 "Разреди мета-једнакости:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Не могу да запишем „yymeta_tbl“"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Не могу да запишем „yybase_tbl“"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Не могу да запишем „yydef_tbl“"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Не могу да запишем „yynxt_tbl“"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Не могу да запишем „ychk_tbl“"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Не могу да запишем „ftbl“"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Не могу да запишем „ssltbl“"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Не могу да запишем „eoltbl“"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Не могу да запишем „yynultrans_tbl“"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "правило не може бити поклопљено"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "дата је опција „-s“ али основно правило може бити поклопљено"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Не могу да користим -+ са опцијом „-l“"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Не могу да користим „-f“ или „-F“ са опцијом „-l“"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "Не могу да користим „--reentrant“ или „--bison-bridge“ са опцијом „-l“"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "„-Cf/-CF“ и „-Cm“ немају смисла заједно"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "„-Cf/-CF“ и „-I“ су несагласне"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "„-Cf/-CF“ су несагласни са режимом лекс-сагласности"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "„-Cf“ и „-CF“ се међусобно искључују"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Не могу да користим -+ са опцијом „-CF“"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%aниз није сагласан са опцијом -+"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Опције -+ и „--reentrant“ се међусобно искључују."
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "бизонов мост није подржан за Ц++ скенер."
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "не могу да направим %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "не могу да запшем бестаблично заглавље"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "Не могу да отворим датотеку окоснице „%s“"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "није успело додељивање одреднице макроа"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "грешка улаза читања датотеке окоснице „%s“"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "грешка затварања датотеке окоснице „%s“"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "грешка стварања датотеке заглавља „%s“"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "грешка записивања излазне датотеке „%s“"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "грешка затварања излазне датотеке „%s“"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "грешка брисања излазне датотеке „%s“"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Не правим резерву.\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d стварам резерве (не-прихватам) стања.\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Сжете табеле увек стварају резерву.\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "грешка записивања датотеке резерве „%s“"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "грешка затварања датотеке резерве „%s“"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "Статистика коришћења %s издања%s:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  опције прегледача: -"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d НФА стања\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d ДФА стања (%d речи)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d правила\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Не правим резерву\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d стварам резерве (не-прихватам) стања\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Сжете табеле увек стварају резерву\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Коришћени су шаблони почетка-реда\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d услови покретања\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d стања ипсилона, %d стања двоструког ипсилона\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  нема разреда знака\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d разредима знака беху потребне %d/%d речи складишта, %d поново коришћених\n"
+msgstr ""
+"  %d/%d разредима знака беху потребне %d/%d речи складишта, %d поново "
+"коришћених\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d пара стања/следећег_стања је направљено\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d јединствена/удвостручена прелаза\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d уноса табеле\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  направљено је %d/%d уноса основне одреднице\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  направљено је %d/%d (врх %d) „nxt-chk“ уноса\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  направљено је %d/%d (врх %d)шаблона „nxt-chk“ уноса\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d празна уноса табеле\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  направљених узорака — %d\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  направљених шаблона - %d, користим %d\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  направљено је %d/%d разреда једнакости\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  направљено је %d/%d разреда мета-једнакости\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (сачуваних %d) сукоба хеша, %d једнак ДФА-су\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  потребна су %d скупа поновног додељивања\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  потребна су укупно %d уноса табеле\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Унутрашња грешка. „flexopts“ је лоше обликован.\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Пробајте „%s --help“ за више података.\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "непозната опција -C „%c“"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "кобна грешка обраде"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "не могу да направим резерву датотеке података „%s“"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr "-l опција сагласности АТ&Т лекса изазива велико смањење учинка\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " и може бити стваран извор других извешених ограничења учинка\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%опција „yylineno“ изазива смањење учинка САМО на правилима која могу да поклопе знакове новог реда\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%опција „yylineno“ изазива смањење учинка САМО на правилима која могу да "
+"поклопе знакове новог реда\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (међудејствено) изазива мање смањење учинка\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "„yymore()“ изазива мање смањење учинка\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "„REJECT“ изазива веће смањење учинка\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "Променљива правила пратећег контекса изазивају веће смањење учинка\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "„REJECT“ не може да се користи са „-f“ или „-F“"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%oпција „yylineno“ не може да се користи са „REJECT“"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "променљива правила пратећег контекста не могу бити коришћена са „-f“ или „-F“"
+msgstr ""
+"променљива правила пратећег контекста не могу бити коришћена са „-f“ или „-F“"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%oпција „yyclass“ има смисла само за Ц++ скенере"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Употреба: %s [ОПЦИЈЕ] [ДАТОТЕКА]...\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -546,13 +558,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -574,8 +589,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -589,31 +602,41 @@
 "Стварајте програме који обављају поклапање према шаблону у тексту.\n"
 "\n"
 "Сабијање табеле:\n"
-"  -Ca, --align                 обрађује веће табеле зарад бољег поравнања меморије\n"
+"  -Ca, --align                 обрађује веће табеле зарад бољег поравнања "
+"меморије\n"
 "  -Ce, --ecs                   изграђује разреде једнакости\n"
-"  -Cf                          не сажима табеле; користи „-f“ representation” представљање\n"
-"  -CF                          не сажима табеле; користи „-F“ representation” представљање\n"
+"  -Cf                          не сажима табеле; користи „-f“ "
+"representation” представљање\n"
+"  -CF                          не сажима табеле; користи „-F“ "
+"representation” представљање\n"
 "  -Cm, --meta-ecs              изграђује разреде мета-једнакости\n"
-"  -Cr, --read                  користи „read()уместо стндардног уи за улаз скенера\n"
+"  -Cr, --read                  користи „read()уместо стндардног уи за улаз "
+"скенера\n"
 "  -f, --full                   ствара брзи, велики скенер. Исто као „-Cfr“\n"
-"  -F, --fast                   користи заменско представљање табеле. Исто као „-CFr“\n"
-"  -Cem                         задато сажимање (исто као „--ecs --meta-ecs“)\n"
+"  -F, --fast                   користи заменско представљање табеле. Исто "
+"као „-CFr“\n"
+"  -Cem                         задато сажимање (исто као „--ecs --meta-"
+"ecs“)\n"
 "\n"
 "Прочишћавање:\n"
 "  -d, --debug                  укључује режим прочишћавања у скенеру\n"
 "  -b, --backup                 записује податке о стварању резерве у „%s“\n"
 "  -p, --perf-report            записује извештај о учинку стандардну грешку\n"
-"  -s, --nodefault              потискује задато правило у „ECHO“ непоклопљени текст\n"
+"  -s, --nodefault              потискује задато правило у „ECHO“ "
+"непоклопљени текст\n"
 "  -T, --trace                  %s треба да ради у режиму праћења\n"
 "  -w, --nowarn                 не ствара упозорења\n"
-"  -v, --verbose                записује сажетак статистике скенера на стандардни излаз\n"
+"  -v, --verbose                записује сажетак статистике скенера на "
+"стандардни излаз\n"
 "\n"
 "Датотеке:\n"
 "  -o, --outfile=ДАТОТЕКА       наводи излазни назив датотеке\n"
 "  -S, --skel=ДАТОТЕКА          наводи датотеку окоснице\n"
-"  -t, --stdout                 записује скенер на стандардни излазуместо на „%s“\n"
+"  -t, --stdout                 записује скенер на стандардни излазуместо на "
+"„%s“\n"
 "      --yyclass=НАЗИВ          назив Ц++ разреда\n"
-"      --header-file=ДАТОТЕКА   ствара датотеку Ц заглавља као додатак скенеру\n"
+"      --header-file=ДАТОТЕКА   ствара датотеку Ц заглавља као додатак "
+"скенеру\n"
 "      --tables-file[=ДАТОТЕКА] записује табеле у ДАТОТЕКУ\n"
 "\n"
 "Понашање скенера:\n"
@@ -623,7 +646,8 @@
 "  -i, --case-insensitive       занемарује величину слова у шаблонима\n"
 "  -l, --lex-compat             највећа сагласност са изворним лексом\n"
 "  -X, --posix-compat           највећа сагласност са лексом ПОСИКС-а\n"
-"  -I, --interactive            ствара међудејствени скенер (супротно од „-B“)\n"
+"  -I, --interactive            ствара међудејствени скенер (супротно од „-"
+"B“)\n"
 "      --yylineno               прати број реда у „yylineno“\n"
 "\n"
 "Створени код:\n"
@@ -647,51 +671,52 @@
 "  -h, --help                   исписује ову помоћ\n"
 "  -V, --version                извештава о издању %s-а\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "није успело додељивање „sko_stack“-а"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "назив „%s“ је смешно дуг"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "није успело додељивање меморије у „allocate_array()“"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "лош знак „%s“ је откривен у „check_char()“"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "скенер захтева -8 обележја да би користио знак „%s“"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "неуспех динамичке меморије у „copy_string()“"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "није успело додељивање меморије у „allocate_array()“"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: кобна унутрашња грешка, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "није успео покушај повећања величине низа"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "лош ред у датотеци окоснице"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "није успело додељивање меморије у „yy_flex_xmalloc()“"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -702,226 +727,237 @@
 "\n"
 "********** започињем испис нфа-а са почетним стањем %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "стање # %4d"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** крај исписа\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "празна машина у „dupmachine()“"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Променљиво правило пратећег контекста на %d. реду\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "лоша врста стања у „mark_beginning_as_normal()“"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "улазна правила су превише сложена (>= %d НФА стања)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "пронађох превише прелаза у „mkxtion()“"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "превише правила (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "непозната грешка обраде одељка 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "лош списак почетног услова"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "непознато правило"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "пратећи контекст је коришћен два пута"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "лоша вредност опетовања"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "вредност опетовања мора бити позитивна"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr "опсег знака [%c-%c] је нејасан у скенеру неосетљивом на величину слова"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "негативан опсег у разреду знака"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] је нејасно у скенеру неосетљивом на величину слова"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] је нејасно у скенеру неосетљивом на величину слова"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Улазни ред је предуг\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "лоша одредница „%top“"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "непозната "
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Назив одреднице је предуг\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Неупарена „{“"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Вредност одреднице за {%s} је предуга\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "непотпуна одредница назива"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "Ред опције је предуг\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "непозната %%опција: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "лош разред знака"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "неодређена одредница {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "лош [почетни услов]: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "недостају наводници"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "лош израз разреда знака: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "лош знак унутар {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "недостаје }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "наишао сам на крај датотеке унутар радње"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "наишао сам на крај датотеке унутар шаблона"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "лош знак: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "не могу да отворим „%s“"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Употреба: %s [ОПЦИЈЕ]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "опција „%s“ не дозвољава аргумент\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "опција „%s“ захтева аргумент\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "опција „%s“ је нејасна\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Непозната опција „%s“\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Непозната грешка=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "није успело додељивање меморије табеле симбола"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "назив је одређен два пута"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "почетни услов „%s“ је објављен два пута"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "прерани крај датотеке"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Завршни означавач\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Нешто је чудно* — ток: %d вред: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "неуспех динамичке меморије у „copy_string()“"
diff --git a/po/sv.po b/po/sv.po
index 28f4324..05cf214 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -11,52 +11,52 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2016-06-06 19:10+0200\n"
 "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "Language: sv\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Allokeringen av buffert för utskriftssträng misslyckades"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Allokeringen av buffert för raddirektiv misslyckades"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Allokeringen av buffert för m4-def misslyckades"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Allokering av buffert för m4-undef misslyckades"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Tillstånd %d är icke-accepterande -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "farlig efterföljande kontext"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " radnummer för associerad regel:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " utövergångar: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -65,11 +65,11 @@
 "\n"
 " stoppövergångar: filslut "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "konsekvenskontrollen misslyckades i epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -81,26 +81,26 @@
 "DFA-utskrift:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "kunde inte skapa ett unikt buffertsluttillstånd"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "tillstånd %d:\n"
 
 # Det här är ju helt sjukt. Har buggrapporterat detta att det bör
 # ersättas med %s
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Kunde inte skriva yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "otillåtet övergångstecken funnet i sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -112,29 +112,29 @@
 "Ekvivalensklasser:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "tillstånd %d accepterar: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "tillstånd %d accepterar: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Kunde inte skriva yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Kunde inte skriva yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Kunde inte skriva ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -144,395 +144,407 @@
 "\n"
 "Metaekvivalensklasser:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Kunde inte skriva yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Kunde inte skriva yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Kunde inte skriva yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Kunde inte skriva yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Kunde inte skriva yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Kunde inte skriva ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Kunde inte skriva ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Kunde inte skriva eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Kunde inte skriva yynultrans_tbl"
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "regeln kan inte matchas"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "flaggan -s angiven men standardregeln kan följas"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "-+ kan inte användas tillsammans med flaggan -l"
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "-f eller -F kan inte användas tillsammans med flaggan -l"
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
-msgstr "--reentrant eller --bison-bridge kan inte användas tillsammans med flaggan -l"
+msgstr ""
+"--reentrant eller --bison-bridge kan inte användas tillsammans med flaggan -l"
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF och -Cm kan inte användas tillsammans"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF och -I kan inte användas tillsammans"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF kan inte användas i lex-kompatibilitetsläge"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf och -CF är ömsesidigt uteslutande"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "-+ kan inte användas tillsammans med flaggan -CF"
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array kan inte användas tillsammans med flaggan -+"
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Flaggorna -+ och --reentrant är ömsesidigt uteslutande."
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bisonbrygga stöds inte för C++-inläsaren."
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "kunde inte skapa %s"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "kunde inte skriva tabellhuvud"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "kan inte öppna mallfilen %s"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "allokering av makrodefinitioner misslyckades"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "indatafel vid läsande av mallfilen %s"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "fel vid stängande av mallfilen %s"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "fel vid skapande av huvudfilen %s"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "fel vid skrivande av utfilen %s"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "fel vid stängande av utfilen %s"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "fel vid borttagning av utfilen %s"
 
 # "Back up" i det här sammanhanget handlar om att flexmaskinen backar.
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Backar inte.\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d backar (icke-accepterande) tillstånd.\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Komprimerade tabeller backar alltid.\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "fel när backningsfilen %s skrevs"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "fel när backningsfilen %s stängdes"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "Statistik över användning av %s version %s:\n"
 
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  inläsarflaggor: -"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA-tillstånd\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA-tillstånd (%d ord)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d regler\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Inget backande\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d backande (icke-accepterande) tillstånd\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Komprimerade tabeller backar alltid\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Början-av-rad-mönster använda\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d startvillkor\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d epsilontillstånd, %d dubbla epsilontillstånd\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  inga teckenklasser\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr "  %d/%d teckenklasser behövde %d/%d ord för lagring, %d återanvända\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d par med tillstånd/nästa-tillstånd skapade\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d unika/duplicerade övergångar\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d tabellposter\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d basstandardposter skapade\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (max %d) poster för nästa kontroll skapade\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (max %d) mallposter för nästa kontroll skapade\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d tomma tabellposter\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototyper skapade\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d mallar skapade, %d användningar\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d ekvivalensklasser skapade\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d metaekvivalensklasser skapade\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d sparade) hashkollisioner, %d DFA lika\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d uppsättningar med omallokeringar krävdes\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d tabellposter krävs totalt\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Internt fel. flexopts är felaktiga.\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Prova \"%s --help\" för mer information.\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "okänd flagga till -C \"%c\""
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "allvarligt fel vid tolkningen"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "kunde inte skapa filen %s med backningsinformation"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "flaggan -l för beteende som AT&T:s lex medför en väsentlig prestandaförlust\n"
+msgstr ""
+"flaggan -l för beteende som AT&T:s lex medför en väsentlig prestandaförlust\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " och kan vara den egentliga orsaken till andra rapporter om detta\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%option yylineno medför en prestandaförlust ENDAST på regler som kan matcha nyradstecken\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%option yylineno medför en prestandaförlust ENDAST på regler som kan matcha "
+"nyradstecken\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (interaktiv) medför en mindre prestandaförlust\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() medför en mindre prestandaförlust\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT medför en väsentlig prestandaförlust\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Regler för varierbar efterföljande kontext medför en väsentlig prestandaförlust\n"
+msgstr ""
+"Regler för varierbar efterföljande kontext medför en väsentlig "
+"prestandaförlust\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT kan inte användas tillsammans med -f eller -F"
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno kan inte användas tillsammans med REJECT"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr ""
 "regler för varierbar efterföljande kontext kan inte användas\n"
 "tillsammans med -f eller -F"
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass är bara meningsfull för C++-inläsare"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Användning: %s [FLAGGOR] [FIL]...\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -555,13 +567,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -583,8 +598,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -658,51 +671,52 @@
 "  -h, --help              visa detta hjälpmeddelande\n"
 "  -V, --version           visa versionsinformation för %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "allokering av sko_stack misslyckades"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "namnet \"%s\" är löjligt långt"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "minnesallokeringen misslyckades i allocate_array()"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "otillåtet tecken \"%s\" funnet i check_char()"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "inläsaren kräver flaggan -8 för att kunna använda tecknet %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamiskt minnesfel i copy_string()"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "minnesallokeringen misslyckades i allocate_array()"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: allvarligt internt fel, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "försök att öka arraystorlek misslyckades"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "otillåten rad i mallfilen"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "minnesallokeringen misslyckades i yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -713,226 +727,238 @@
 "\n"
 "********** början av utskrift av nfa med starttillstånd %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "tillstånd %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** slut på utskrift\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "tom maskin i dupmachine()"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Regel för varierbar efterföljande kontext på rad %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "otillåten tillståndstyp i mark_beginning_as_normal()"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "indatareglerna är för komplicerade (>= %d NFA-tillstånd)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "fann för många övergångar i mkxtion()"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "för många regler (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "okänt fel vid tolkning av avsnitt 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "felaktig lista med startvillkor"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "okänd regel"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "efterföljande kontext används två gånger"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "felaktiga iterationsvärden"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "iterationsvärde måste vara positivt"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare"
+msgstr ""
+"teckenintervallet [%c-%c] är tvetydigt i en skiftlägesokänslig inläsare"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "negativt intervall i teckenklass"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] är tvetydigt i en skiftlägesokänslig inläsare"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] är tvetydigt i en skiftlägesokänslig inläsare"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "För lång indatarad\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "felaktigt \"%top\"-direktiv"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "okänt \"%\"-direktiv"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "För långt definitionsnamn\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Ensamt \"{\""
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Definitionsvärdet för {%s} är för långt\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "ofullständig namndefinition"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "För lång alternativrad\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "okänd %%option: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "otillåten teckenklass"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "odefinierad definition {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "otillåtet <startvillkor>: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "citationstecken saknas"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "otillåtet uttryck för teckenklass: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "otillåtet tecken inom {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "} saknas"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "filslut påträffat inuti en handling"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "filslut påträffat inuti ett mönster"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "otillåtet tecken: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "kan inte öppna %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Användning: %s [FLAGGOR]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "flaggan \"%s\" tar inget argument\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "flaggan \"%s\" kräver ett argument\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "flaggan \"%s\" är tvetydig\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Okänd flagga \"%s\"\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Okänt fel=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "minnesallokering för symboltabell misslyckades"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "namnet definierat två gånger"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "startvillkoret %s deklarerat två gånger"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "för tidigt filslut"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Slutmarkering\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Något märkligt* - tecken: %d värde: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "dynamiskt minnesfel i copy_string()"
diff --git a/po/tr.po b/po/tr.po
index 2b91613..25f0926 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -5,34 +5,55 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: flex 2.5.31\n"
-"POT-Creation-Date: 2003-04-01 11:33-0500\n"
+"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2004-05-16 18:36+0300\n"
 "Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
+"Language: tr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: KBabel 1.0.2\n"
 
-#: dfa.c:61
+#: src/buf.c:79
+msgid "Allocation of buffer to print string failed"
+msgstr ""
+
+#: src/buf.c:107
+msgid "Allocation of buffer for line directive failed"
+msgstr ""
+
+#: src/buf.c:177
+msgid "Allocation of buffer for m4 def failed"
+msgstr ""
+
+#: src/buf.c:198
+msgid "Allocation of buffer for m4 undef failed"
+msgstr ""
+
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Durum #%d kabul etmiyor -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "izleyen bağlam tehlikeli"
 
-#: dfa.c:166
+#: src/dfa.c:159
+#, c-format
 msgid " associated rule line numbers:"
 msgstr " alakalı kural satır numaraları:"
 
-#: dfa.c:202
+#: src/dfa.c:193
+#, c-format
 msgid " out-transitions: "
 msgstr " dış-geçişler: "
 
-#: dfa.c:210
+#: src/dfa.c:201
+#, c-format
 msgid ""
 "\n"
 " jam-transitions: EOF "
@@ -40,11 +61,11 @@
 "\n"
 " sıkışık-geçişler: EOF "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "epsclosure() içindeki tutarlılık kontrolü başarısız"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -56,28 +77,24 @@
 "DFA Dökümü:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "tekil tampon sonu durumu yaratılamadı"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "durum # %d:\n"
 
-#: dfa.c:800
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "yynxt_tbl[][] yazılamadı"
 
-#: dfa.c:1023
-msgid "consistency check failed in symfollowset"
-msgstr "symfollowset içindeki tutarlık kontrolü başarısız"
-
-#: dfa.c:1071
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "sympartition() içinde hatalı geçiş karakterleri saptandı"
 
-#: gen.c:484
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -89,29 +106,29 @@
 "Denklik Sınıfları:\n"
 "\n"
 
-#: gen.c:668 gen.c:697 gen.c:1221
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "durum # %d kabul eder: [%d]\n"
 
-#: gen.c:1116
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "durum # %d kabul eder: "
 
-#: gen.c:1163
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "yyacclist_tbl yazılamadı"
 
-#: gen.c:1239
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "yyacc_tbl yazılamadı"
 
-#: gen.c:1254 gen.c:1639 gen.c:1662
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "ecstbl yazılamadı"
 
-#: gen.c:1277
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -121,374 +138,404 @@
 "\n"
 "Ara-Denklik Sınıfları:\n"
 
-#: gen.c:1299
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "yymeta_tbl yazılamadı"
 
-#: gen.c:1360
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "yybase_tbl yazılamadı"
 
-#: gen.c:1394
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "yydef_tbl yazılamadı"
 
-#: gen.c:1434
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "yynxt_tbl yazılamadı"
 
-#: gen.c:1470
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "yychk_tbl yazılamadı"
 
-#: gen.c:1624 gen.c:1653
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "ftbl yazılamadı"
 
-#: gen.c:1630
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "ssltbl yazılamadı"
 
-#: gen.c:1681
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "eoltbl yazılamadı"
 
-#: gen.c:1741
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "yynultrans_tbl yazılamadı"
 
-#: main.c:176
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "kural eşlenemedi"
 
-#: main.c:181
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "-s seçeneği verilmiş fakat öntanımlı kural eşlenebiliyor"
 
-#: main.c:217
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "-+'yi -l seçeneği ile kullanma"
 
-#: main.c:220
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "-f veya -F'yi -l seçeneği ile kullanma"
 
-#: main.c:224
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "-l seçeneği ile --reentrant veya --bison-bridge bir arada kullanılamaz"
 
-#: main.c:261
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF ve -Cm birlikte anlam ifade etmiyor"
 
-#: main.c:264
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF ve -I uyumsuz"
 
-#: main.c:268
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF lex-uyumluluk kipi ile uyumsuz"
 
-#: main.c:273
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf ve -CF bir arada kullanılamaz"
 
-#: main.c:277
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "-+, -CF seçeneği ile kullanılamaz"
 
-#: main.c:280
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array, -+ seçeneği ile uyumsuz"
 
-#: main.c:285
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "-+ ve --reentrant seçenekleri bir arada kullanılamaz"
 
-#: main.c:288
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison bridge, C++ tarayıcısı için desteklenmiyor."
 
-#: main.c:340 main.c:385
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "%s oluşturulamadı"
 
-#: main.c:398
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "tablo başlığı yazılamadı"
 
-#: main.c:402
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "iskelet dosyası %s açılamadı"
 
-#: main.c:483
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
+msgid "allocation of macro definition failed"
+msgstr ""
+
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "iskelet dosyası %s okunurken girdi hatası"
 
-#: main.c:487
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "iskelet dosyası %s kapatılırken hata"
 
-#: main.c:671
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "başlık dosyası %s oluşturulurken hata"
 
-#: main.c:679
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "çıktı dosyası %s yazılırken hata"
 
-#: main.c:683
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "çıktı dosyası %s kapatılırken hata"
 
-#: main.c:687
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "çıktı dosyası %s silinirken hata"
 
-#: main.c:694
+#: src/main.c:732
+#, c-format
 msgid "No backing up.\n"
 msgstr "Yedekleme yok.\n"
 
-#: main.c:698
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d yedeklenen (kabul-etmeyen) durumlar.\n"
 
-#: main.c:702
+#: src/main.c:740
+#, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Sıkıştırılmış tablolar daima yedeklidir.\n"
 
-#: main.c:705
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "yedek dosyası %s yazılırken hata"
 
-#: main.c:709
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "yedek dosyası %s kapatılırken hata"
 
-#: main.c:714
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s sürüm %s kullanım istatistikleri:\n"
 
-#: main.c:717
+#: src/main.c:755
+#, c-format
 msgid "  scanner options: -"
 msgstr "  tarayıcı seçenekleri: -"
 
-#: main.c:796
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA durumu\n"
 
-#: main.c:798
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA durumu (%d sözcük)\n"
 
-#: main.c:800
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d kural\n"
 
-#: main.c:805
+#: src/main.c:843
+#, c-format
 msgid "  No backing up\n"
 msgstr "  Yedekleme yok\n"
 
-#: main.c:809
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d yedeklenmiş (kabul-edilmeyen) durum\n"
 
-#: main.c:814
+#: src/main.c:852
+#, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Sıkıştırılmış tablolar daima yedeklenir\n"
 
-#: main.c:818
+#: src/main.c:856
+#, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Başlangıç-satırı kalıpları kullanıldı\n"
 
-#: main.c:820
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d başlangıç şartları\n"
 
-#: main.c:824
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d epsilon durumu, %d çift epsilon durumu\n"
 
-#: main.c:828
+#: src/main.c:866
+#, c-format
 msgid "  no character classes\n"
 msgstr "  karakter sınıfı yok\n"
 
-#: main.c:832
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
-msgstr "  %d/%d ihtiyaç duyulan karakter sınıfı %d/%d depolanan sözcük, %d yeniden kullanıldı\n"
+msgstr ""
+"  %d/%d ihtiyaç duyulan karakter sınıfı %d/%d depolanan sözcük, %d yeniden "
+"kullanıldı\n"
 
-#: main.c:837
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d durumu/sonrakidurum çifti yaratıldı\n"
 
-#: main.c:840
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d tekil/çift geçişler\n"
 
-#: main.c:845
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d tablo girdileri\n"
 
-#: main.c:853
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d temel-tanım girdileri yaratıldı\n"
 
-#: main.c:857
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (en yüksek %d) nxt-chk girdileri yaratıldı\n"
 
-#: main.c:861
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (en yüksek %d) şablon nxt-chk girdileri yaratıldı\n"
 
-#: main.c:865
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d boş tablo girdileri\n"
 
-#: main.c:867
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d prototip yaratıldı\n"
 
-#: main.c:870
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d şablon yaratıldı, %d kullanıldı\n"
 
-#: main.c:878
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d denklik sınıfı yaratıldı\n"
 
-#: main.c:886
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d ara-denklik sınıfı yaratıldı\n"
 
-#: main.c:892
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d kaydedildi) saçılma çarpışması, %d DFA denk\n"
 
-#: main.c:894
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  %d tekrar ayırım kümesine ihtiyaç var\n"
 
-#: main.c:896
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  %d toplam tablo girdisine ihtiyaç var\n"
 
-#: main.c:971
+#: src/main.c:1008
+#, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "İç hata. flexopt'lar bozuk.\n"
 
-#: main.c:981
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Daha fazla bilgi için `%s --help' yazın.\n"
 
-#: main.c:1038
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "bilinmeyen -C seçeneği '%c'"
 
-#: main.c:1167
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1442
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "ölümcül ayrıştırma hatası"
 
-#: main.c:1474
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "yedekleme bilgi dosyası %s oluşturulamadı"
 
-#: main.c:1495
+#: src/main.c:1529
+#, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr "-l AT&T lex uyumluluğu seçeneği önemli ölçüde yavaşlamaya yol açar\n"
 
-#: main.c:1498
-msgid " and may be the actual source of other reported performance penalties\n"
-msgstr " ve belki bildirilen başka performans kayıplarının da kaynağı olabilir\n"
-
-#: main.c:1504
+#: src/main.c:1532
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "yylineno %%seçeneği YALNIZCA yenisatır karakterlerini de eşleyen satırlarda yavaşlar.\n"
+msgid " and may be the actual source of other reported performance penalties\n"
+msgstr ""
+" ve belki bildirilen başka performans kayıplarının da kaynağı olabilir\n"
 
-#: main.c:1511
+#: src/main.c:1538
+#, c-format
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"yylineno %%seçeneği YALNIZCA yenisatır karakterlerini de eşleyen satırlarda "
+"yavaşlar.\n"
+
+#: src/main.c:1545
+#, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (etkileşimli) küçük ölçekli bir yavaşlamaya neden olur\n"
 
-#: main.c:1516
+#: src/main.c:1550
+#, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() küçük ölçekli bir yavaşlamaya neden olur\n"
 
-#: main.c:1522
+#: src/main.c:1556
+#, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT büyük ölçekli bir yavaşlamaya neden olur\n"
 
-#: main.c:1527
+#: src/main.c:1561
+#, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
-msgstr "Değişken izleyen bağlam kuralları, büyük ölçekli yavaşlamaya neden olur\n"
+msgstr ""
+"Değişken izleyen bağlam kuralları, büyük ölçekli yavaşlamaya neden olur\n"
 
-#: main.c:1539
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT, -f veya -F ile kullanılamaz"
 
-#: main.c:1542
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno, REJECT ile birlikte kullanılamaz"
 
-#: main.c:1545
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr "değişken izleme ortamı kuralları, -f veya -F ile birlikte kullanılamaz"
 
-#: main.c:1661
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass, sadece C++ tarayıcıları için anlamlıdır"
 
-#: main.c:1768
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Kullanım: %s [SEÇENEKLER...] [DOSYA...]\n"
 
-#: main.c:1771
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -511,13 +558,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -539,8 +589,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -613,47 +661,52 @@
 "  -h, --help              bu yardım bilgisini gösterir\n"
 "  -V, --version           %s sürümünü bildirir\n"
 
-#: misc.c:100 misc.c:126
+#: src/misc.c:64
+msgid "allocation of sko_stack failed"
+msgstr ""
+
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "\"%s\" ismi gülünç derecede uzun"
 
-#: misc.c:175
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "allocate_array() içinde bellek ayırımı başarısız"
 
-#: misc.c:250
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "check_char() içinde hatalı karakter '%s' saptandı"
 
-#: misc.c:255
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "tarayıcı %s karakterini kullanmak için -8 bayrağına ihtiyaç duyar"
 
-#: misc.c:288
-msgid "dynamic memory failure in copy_string()"
-msgstr "copy_string() içinde dinamik bellek hatası"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "allocate_array() içinde bellek ayırımı başarısız"
 
-#: misc.c:422
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: ölümcül iç hata, %s\n"
 
-#: misc.c:875
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "dizi boyutunu artırma denemesi başarısız"
 
-#: misc.c:1002
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "iskelet dosya içinde hatalı satır"
 
-#: misc.c:1051
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "yy_flex_xmalloc() içinde bellek ayırımı başarısız"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -664,201 +717,251 @@
 "\n"
 "********** başlangıç durumu %d olan nfa'nın dökümüne başlanıyor\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "durum # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
+#, c-format
 msgid "********** end of dump\n"
 msgstr "********** döküm sonu\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "dupmachine() içinde boş makine"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "%d satırında değişken izleyen bağlam kuralı\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "mark_beginning_as_normal() içinde hatalı durum türü"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "girdi kuralları fazla karışık (>= %d NFA durumu)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "mkxtion() içinde çok fazla geçiş bulundu"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "çok fazla kural (> %d)!"
 
-#: parse.y:183
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "1. bölüm işlenirken bilinmeyen hata oluştu"
 
-#: parse.y:208 parse.y:373
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "hatalı başlangıç şart listesi"
 
-#: parse.y:337
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "bilinmeyen kural"
 
-#: parse.y:456 parse.y:469 parse.y:538
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "izleyen bağlam iki defa kullanılmış"
 
-#: parse.y:574 parse.y:584 parse.y:657 parse.y:667
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "hatalı yineleme değerleri"
 
-#: parse.y:602 parse.y:620 parse.y:685 parse.y:703
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "yineleme değeri pozitif olmalı"
 
-#: parse.y:817 parse.y:827
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr ""
 "[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n"
 "belirsiz anlamlı"
 
-#: parse.y:832
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "karakter sınıflarında negatif aralık"
 
-#: scan.l:70 scan.l:180 scan.l:267 scan.l:409 scan.l:548 scan.l:598
+#: src/parse.y:918
+#, fuzzy
+msgid "[:^lower:] is ambiguous in case insensitive scanner"
+msgstr ""
+"[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n"
+"belirsiz anlamlı"
+
+#: src/parse.y:924
+#, fuzzy
+msgid "[:^upper:] ambiguous in case insensitive scanner"
+msgstr ""
+"[%c-%c] karakter aralığı, büyük/küçük harf farkı gözetmeyen bir tarayıcıda\n"
+"belirsiz anlamlı"
+
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "Girdi satırı fazla uzun\n"
 
-#: scan.l:149
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "hatalı `%top' yönergesi"
 
-#: scan.l:171
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "'%' yönergesi bilinmiyor"
 
-#: scan.l:251
+#: src/scan.l:214
+#, fuzzy
+msgid "Definition name too long\n"
+msgstr "Girdi satırı fazla uzun\n"
+
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "'{' eşleşmiyor"
 
-#: scan.l:284
+#: src/scan.l:325
+#, c-format
+msgid "Definition value for {%s} too long\n"
+msgstr ""
+
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "eksik isim tanımlaması"
 
-#: scan.l:417
+#: src/scan.l:467
+#, fuzzy
+msgid "Option line too long\n"
+msgstr "Girdi satırı fazla uzun\n"
+
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "geçersiz %%seçenek: %s"
 
-#: scan.l:558 scan.l:677
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "hatalı karakter sınıfı"
 
-#: scan.l:605
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "belirsiz tanım {%s}"
 
-#: scan.l:645
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "hatalı <başlangıç şartı>: %s"
 
-#: scan.l:658
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "eksik çift tırnak"
 
-#: scan.l:698
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "bozuk karakter sınıfı ifadesi: %s"
 
-#: scan.l:720
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "{}'ler içinde hatalı karakter"
 
-#: scan.l:726
+#: src/scan.l:894
 msgid "missing }"
 msgstr "eksik }"
 
-#: scan.l:799
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "bir eylem içinde EOF ile karşılaşıldı"
 
-#: scan.l:819
+#: src/scan.l:977
+#, fuzzy
+msgid "EOF encountered inside pattern"
+msgstr "bir eylem içinde EOF ile karşılaşıldı"
+
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "hatalı karakter: %s"
 
-#: scan.l:848
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "%s açılamıyor"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Kullanım: %s [SEÇENEKLER...]\n"
 
-#: scanopt.c:565
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "`%s' seçeneği argüman kullanmaz\n"
 
-#: scanopt.c:570
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "`%s' seçeneği için argüman zorunludur\n"
 
-#: scanopt.c:574
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "`%s' seçeneği belirsiz\n"
 
-#: scanopt.c:578
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Bilinmeyen seçenek: `%s'\n"
 
-#: scanopt.c:582
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Bilinmeyen hata=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "simge tablosu bellek ayırımı başarısız"
 
-#: sym.c:203
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "isim iki defa tanımlandı"
 
-#: sym.c:254
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "başlangıç şartı %s iki defa bildirildi"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "erken EOF"
 
-#: yylex.c:198
+#: src/yylex.c:200
+#, c-format
 msgid "End Marker\n"
 msgstr "Bitiş İşaretçisi\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*Garip Bir Şey* -andaç: %d değer: %d\n"
+
+#~ msgid "consistency check failed in symfollowset"
+#~ msgstr "symfollowset içindeki tutarlık kontrolü başarısız"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "copy_string() içinde dinamik bellek hatası"
diff --git a/po/vi.po b/po/vi.po
index c8d882c..bfd8dad 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -10,55 +10,55 @@
 msgstr ""
 "Project-Id-Version: flex-2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2014-02-14 08:17+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
 "Language: vi\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: Poedit 1.5.5\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "Việc phân bổ bộ đệm cho lệnh in chuỗi gặp lỗi"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "Việc phân bổ bộ đệm cho chỉ thị dòng gặp lỗi"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "Việc phân bổ bộ đệm cho “m4 def” gặp lỗi"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "Việc phân bổ bộ đệm cho “m4 undef” gặp lỗi"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "Trạng thái #%d là không chấp nhận -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "ngữ cảnh theo sau là nguy hiểm"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " số thứ tự dòng quy tắc tương ứng:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " việc chuyển tiếp xuất: "
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -67,11 +67,11 @@
 "\n"
 " chuyển tiếp kẹt: gặp kết thúc tập tin "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "việc kiểm tra sự thống nhất bị lỗi trong epsclosure()"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -83,24 +83,24 @@
 "Đổ DFA:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "không thể tạo trạng thái kết-thúc-bộ-đệm duy nhất"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "trạng thái# %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "Không thể ghi \"yynxt_tbl[][]\""
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "phát hiện ký tự chuyển tiếp sai trong sympartition()"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -112,29 +112,29 @@
 "Lớp tương đương:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "trạng thái # %d chấp nhận: [%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "trạng thái # %d chấp nhận: "
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "Không thể ghi \"yyacclist_tbl\""
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "Không thể ghi \"yyacc_tbl\""
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "Không thể ghi \"ecstbl\""
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -144,392 +144,409 @@
 "\n"
 "Lớp tương-đương-meta:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "Không thể ghi \"yymeta_tbl\""
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "Không thể ghi \"yybase_tbl\""
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "Không thể ghi \"yydef_tbl\""
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "Không thể ghi \"yynxt_tbl\""
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "Không thể ghi \"yychk_tbl\""
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "Không thể ghi \"ftbl\""
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "Không thể ghi \"ssltbl\""
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "Không thể ghi \"eoltbl\""
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "Không thể ghi \"yynultrans_tbl\""
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "quy tắc không thể được khớp"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "đưa ra tùy chọn \"-s\" còn quy tắc mặc định có thể được khớp"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "Không thể dùng ký tự \"-+\" với tùy chọn \"-l\""
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "Không thể dùng cờ \"-f\" hoặc \"-F\" với tùy chọn \"-l\""
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
-msgstr "Không thể dùng đối số \"--reentrant\" (điều vào lại) hoặc \"--bison-bridge\" (chiếc cầu bison) với tùy chọn \"-l\""
+msgstr ""
+"Không thể dùng đối số \"--reentrant\" (điều vào lại) hoặc \"--bison-bridge"
+"\" (chiếc cầu bison) với tùy chọn \"-l\""
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "Hai tùy chọn \"-Cf/-CF\" và \"-Cm\" với nhau thì không có ý nghĩa"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "Hai tùy chọn \"-Cf/-CF\" và \"-I\" không tương thích với nhau"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
-msgstr "Tùy chọn \"-Cf/-CF\" không tương thích với chế độ \"lex-compatibility\" (tương thích với lex)"
+msgstr ""
+"Tùy chọn \"-Cf/-CF\" không tương thích với chế độ \"lex-compatibility"
+"\" (tương thích với lex)"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "Hai tùy chọn \"-Cf\" and \"-CF\" loại từ lẫn nhau"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "Không thể dùng ký tự \"-+\" với tùy chọn \"-CF\""
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "\"%array\" (mảng) không tương thích với tùy chọn \"-+\""
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "Hai tùy chọn \"- +\" và \"--reentrant\" xung đột với nhau."
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison bridge (chiếc cầu bison) không được hỗ trợ với bộ quét C++."
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "không thể tạo %s"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "không thể ghi phần đầu bảng"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "không thể mở tập tin khung sườn %s"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "việc phân bổ cho định nghĩa macro gặp lỗi"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "gặp lỗi nhập vào khi đọc tập tin khung sườn %s"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "gặp lỗi khi đóng tập tin khung sườn %s"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "gặp lỗi khi tạo tập tin phần đầu %s"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "gặp lỗi khi ghi tập tin xuất %s"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "gặp lỗi khi đóng tập tin xuất %s"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "gặp lỗi khi xoá bỏ tập tin xuất %s"
 
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "Không sao lưu.\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d đang sao lưu các trạng thái (kiểu không chấp nhận).\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "Bảng đã nén lúc nào cũng sao lưu.\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "găp lỗi khi ghi tập tin sao lưu %s"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "gặp lỗi khi đóng tập tin sao lưu %s"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s phiên bản %s thống kê sử dụng:\n"
 
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  tùy chọn bộ quét: —"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d trạng thái NFA\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d trạng thái DFA (%d từ)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d quy tắc\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  Không sao lưu\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d đang sao lưu các trạng thái (kiểu không chấp nhận)\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  Bảng đã nén lúc nào cũng sao lưu\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  Dùng mẫu kiểu đầu dòng\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d điều kiện bắt đầu\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d trạng thái épxilông (ε), %d trạng thái épxilông đôi\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  không có lớp ký tự\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr "  %d/%d lớp ký tự cần %d/%d từ bộ nhớ, %d được dùng lại\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d cặp trạng_thái/trạng_thái_kế đã được tạo\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d việc chuyển tiếp duy nhất/trùng\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d mục tin bảng\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d mục tin base-def (định nghĩa cơ bản) đã được tạo\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (tối đa %d) mục tin nxt-chk (kiểm tra kế tiếp) đã được tạo\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
-msgstr "  %d/%d (tối đa %d) mục tin biểu mẫu nxt-chk (kiểm tra kế tiếp) đã được tạo\n"
+msgstr ""
+"  %d/%d (tối đa %d) mục tin biểu mẫu nxt-chk (kiểm tra kế tiếp) đã được tạo\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d mục tin bảng trống\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d proto (khai báo nguyên mẫu) đã được tạo\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d mẫu đã được tạo, %d lần dùng\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d lớp kiểu tương đương đã được tạo\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d lớp tương-đương-meta đã được tạo\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d được lưu) lần va chạm mã băm, %d DFA bằng nhau\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  cần %d tập hợp tái cấp phát\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  cần tổng %d mục tin bảng\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "Gặp lỗi nội bộ vì những flexopts sai dạng.\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "Hãy thử lệnh \"%s --help\" (trợ giúp) để xem thêm thông tin.\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "không hiểu tùy chọn \"-C\" là \"%c\""
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "gặp lỗi phân tích nghiêm trọng"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "không thể tạo tập tin thông tin sao lưu %s"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
-msgstr "Tùy chọn kiểu tương thích lex AT&T \"-l\" làm giảm hiệu suất rất nhiều\n"
+msgstr ""
+"Tùy chọn kiểu tương thích lex AT&T \"-l\" làm giảm hiệu suất rất nhiều\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " thì có lẽ thật gây ra trường hợp giảm hiệu suất khác\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
-msgstr "%%tùy chọn \"yylineno\" giảm hiệu suất CHỈ với quy tắc khớp với ký tự dòng mới\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
+msgstr ""
+"%%tùy chọn \"yylineno\" giảm hiệu suất CHỈ với quy tắc khớp với ký tự dòng "
+"mới\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "Tùy chọn \"-I\" (tương tác) giảm hiệu suất một ít\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() giảm hiệu suất một ít\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT (đẩy ra) làm suy giảm hiệu suất nghiêm trọng\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "Quy tắc ngữ cảnh theo sau biến rất giảm hiệu suất\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "Không cho phép dùng REJECT (đẩy ra) với tùy chọn \"-f\" hay \"-F\""
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
-msgstr "Không cho phép dùng %option (tùy chọn) \"yylineno\" với REJECT (đẩy ra)"
+msgstr ""
+"Không cho phép dùng %option (tùy chọn) \"yylineno\" với REJECT (đẩy ra)"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
-msgstr "không cho phép dùng quy tắc ngữ cảnh theo sau biến với tùy chọn \"-f\" hay \"-F\""
+msgstr ""
+"không cho phép dùng quy tắc ngữ cảnh theo sau biến với tùy chọn \"-f\" hay "
+"\"-F\""
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option (tùy chọn) \"yyclass\" chỉ có ý nghĩa với bộ quét C++"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]...\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -552,13 +569,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -580,8 +600,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -595,29 +613,35 @@
 "Tạo ra chương trình để thực hiện tiến trình khớp mẫu trên văn bản thường.\n"
 "\n"
 "Cách nén bảng:\n"
-"  -Ca, --align      thoả hiệp giữa bảng lớn hơn và độ _canh lề_ bộ nhớ khá hơn\n"
+"  -Ca, --align      thoả hiệp giữa bảng lớn hơn và độ _canh lề_ bộ nhớ khá "
+"hơn\n"
 "  -Ce, --ecs        cấu tạo lớp kiểu tương đương\n"
 "  -Cf               không nén bảng; dùng sự tiêu biểu \"-f\"\n"
 "  -CF               không nén bảng; dùng sự cách tiêu biểu \"-F\"\n"
 "  -Cm, --meta-ecs   cấu tạo lớp kiểu meta tương đương\n"
-"  -Cr, --read       dùng chức năng read() thay thế thiết bị nhập/xuất chuẩn để nhập bộ quét\n"
+"  -Cr, --read       dùng chức năng read() thay thế thiết bị nhập/xuất chuẩn "
+"để nhập bộ quét\n"
 "  -f, --full        tạo ra bộ quét nhanh và lớn; bằng -Cfr (_đầy đủ_)\n"
 "  -F, --fast        dùng sự tiêu biểu bảng xen kẽ; bằng -CFr (_nhanh_)\n"
-"  -Cem              phương pháp nén mặc định; bằng \"--ecs\" \"--meta-ecs\")\n"
+"  -Cem              phương pháp nén mặc định; bằng \"--ecs\" \"--meta-ecs"
+"\")\n"
 "\n"
 "Gỡ lỗi:\n"
 "  -d, --debug             bật chế độ _gỡ lỗi_ trong bộ quét\n"
 "  -b, --backup            ghi thông tin _sao lưu_ vào %s\n"
 "  -p, --perf-report       ghi _thông báo hiệu suất_ vào thiết bị lỗi chuẩn\n"
-"  -s, --nodefault         thu hồi quy tắc _mặc định_ để ECHO (vọng) đoạn chưa khớp\n"
+"  -s, --nodefault         thu hồi quy tắc _mặc định_ để ECHO (vọng) đoạn "
+"chưa khớp\n"
 "  -T, --trace             %s nên chạy trong chế độ theo _dấu vết_\n"
 "  -w, --nowarn            _không_ tạo ra lời _cảnh báo_\n"
-"  -v, --verbose           ghi tóm tắt các thống kê bộ quét vào thiết bị xuất chuẩn (_chi tiêt_)\n"
+"  -v, --verbose           ghi tóm tắt các thống kê bộ quét vào thiết bị xuất "
+"chuẩn (_chi tiêt_)\n"
 "\n"
 "Tập tin:\n"
 "  -o, --outfile=TẬP_TIN   ghi rõ tên _tập tin xuất_\n"
 "  -S, --skel=TẬP_TIN      ghi rõ tập tin _khung sườn_\n"
-"  -t, --stdout            ghi bộ quét ra _thiết bị xuất chuẩn_ thay thế ra %s\n"
+"  -t, --stdout            ghi bộ quét ra _thiết bị xuất chuẩn_ thay thế ra "
+"%s\n"
 "      --yyclass=TÊN       tên của _lớp_ C++\n"
 "      --header-file=TẬP_TIN   tạo _tập tin phần đầu_ C thêm vào bộ quét\n"
 "      --tables-file[=TẬP_TIN] ghi các bảng vào TẬP_TIN này\n"
@@ -634,15 +658,20 @@
 "\n"
 "Mã đã tạo ra :\n"
 "  -+,  --c++               tạo ra hang bộ quét kiểu C++\n"
-"  -Dmacro[=định_nghĩa]     _định nghĩa_ cho lệnh #define (mặc định là \"1\")\n"
+"  -Dmacro[=định_nghĩa]     _định nghĩa_ cho lệnh #define (mặc định là "
+"\"1\")\n"
 "  -L,  --noline            thu hồi các chỉ thị #line trong bộ quét\n"
 "  -P,  --prefix=CHUỖI      dùng CHUỖI này là _tiền tố_ thay thế \"yy\"\n"
 "  -R,  --reentrant         tạo ra một bộ quét C kiểu _vào lại_\n"
-"       --bison-bridge      bộ quét cho trình phân tách thuần tuý kiểu bison.\n"
+"       --bison-bridge      bộ quét cho trình phân tách thuần tuý kiểu "
+"bison.\n"
 "       --bison-locations   gồm khả năng hỗ trợ yylloc (_địa điểm_).\n"
-"       --stdinit           khởi động yyin/yyout vào thiết bị nhập/xuất chuẩn\n"
-"       --noansi-definitions _lời định nghĩa_ chức năng kiểu cũ (_không ANSI_)\n"
-"       --noansi-prototypes danh sách tham số trống trong _khai báo nghi thức_ (_không ANSI_)\n"
+"       --stdinit           khởi động yyin/yyout vào thiết bị nhập/xuất "
+"chuẩn\n"
+"       --noansi-definitions _lời định nghĩa_ chức năng kiểu cũ (_không "
+"ANSI_)\n"
+"       --noansi-prototypes danh sách tham số trống trong _khai báo nghi "
+"thức_ (_không ANSI_)\n"
 "       --nounistd          _không_ bao gồm <unistd.h>\n"
 "       --noCHỨC_NĂNG       không tạo ra một CHỨC NĂNG cá biệt\n"
 "\n"
@@ -653,51 +682,52 @@
 "  -h, --help          hiển thị _trợ giúp_ này\n"
 "  -V, --version       thông báo phiên bản %s\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "việc phân bổ cho sko_stack gặp lỗi"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "tên \"%s\" là dài nhố nhăng"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "việc phân chia bộ nhớ bị lỗi trong allocate_array() (phân bổ mảng)"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "phát hiện ký tự sai \"%s\" trong check_char() (kiểm tra ký tự)"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "bộ quét cần thiết cờ \"-8\" để dùng ký tự %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "bộ nhớ động đã thất bại trong copy_string() (sao chép chuỗi)"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "việc phân chia bộ nhớ bị lỗi trong allocate_array() (phân bổ mảng)"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s: gặp lỗi nôi bộ nghiêm trọng, %s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "việc thử tăng kích cỡ mảng đã thất bại"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "gặp dòng sai trong tập tin khung sườn"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "việc phân bổ bộ nhớ bị lỗi trong yy_flex_xmalloc()"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -708,226 +738,240 @@
 "\n"
 "********** bắt đầu đổ NFA có trạng thái bắt đầu là %d\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "trạng thái # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** đổ xong\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "máy trống trong dupmachine() (nhân đôi máy)"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "Gặp quy tắc ngữ cảnh theo sau biến tại dòng %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
-msgstr "kiểu trạng thái sai trong mark_beginning_as_normal() (đánh dấu đầu là thường)"
+msgstr ""
+"kiểu trạng thái sai trong mark_beginning_as_normal() (đánh dấu đầu là thường)"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "các quy tắc đầu vào là quá phức tạp (≥ %d trạng thái NFA)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "gặp quá nhiều chuyển tiếp trong mkxtion()"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "quá nhiều quy tắc (> %d) !"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "gặp lỗi không rõ khi xử lý phần 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "danh sách điều kiện bắt đầu là sai"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "gặp quy tắc không được thừa nhận"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "ngữ cảnh theo sau được dùng hai lần"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "gặp giá trị lặp lại sai"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "giá trị lặp lại phải là số dương"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
-msgstr "phạm vi ký tự [%c-%c] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/thường"
+msgstr ""
+"phạm vi ký tự [%c-%c] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/"
+"thường"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "gặp phạm vi âm trong lớp ký tự"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "[:^lower:] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/thường"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "[:^upper:] là chưa rõ ràng trong trường hợp quét bỏ qua chữ HOA/thường"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "dòng nhập quá dài\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "chỉ thị kiểu \"%top\" (đầu) dạng sai"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "gặp chỉ thị kiểu \"%\" không được nhận dạng"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "Tên định nghĩa quá dài\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "Chưa khớp \"{\""
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "Giá trị định nghĩa cho {%s} quá dài\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "lời đinh nghĩa tên chưa hoàn tất"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "dòng tùy chọn quá dài\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "gặp tùy chọn %% không được nhận dạng: %s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "lớp ký tự sai"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "chưa định nghĩa định danh {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "<start condition> (điệu kiện bắt đầu) sai: %s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "thiếu dấu trích dẫn"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "biểu thức lớp ký tự sai: %s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "có ký tự sai ở trong hai dấu ngoặc móc {}"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "thiếu }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "gặp kết thúc tập tin ở trong một hành động"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "gặp kết thúc tập tin ở trong mẫu"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "ký tự sai: %s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "không thể mở %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "Cách dùng: %s [TÙY_CHỌN]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "tùy chọn \"%s\" không cho phép đối số\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "tùy chọn \"%s\" cần một đối số\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "tùy chọn \"%s\" chưa rõ ràng\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "Không nhận ra tùy chọn \"%s\"\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "Không rõ lỗi=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "gặp lỗi khi phân bổ bộ nhớ của bảng ký hiệu"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "tên đã được định nghĩa hai lần"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "điều kiện bắt đầu %s đã được khai báo hai lần"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "gặp kết thúc tập tin quá sớm"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "Dấu kết thúc\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "* Điều lạ * — thẻ bài: %d giá trị: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "bộ nhớ động đã thất bại trong copy_string() (sao chép chuỗi)"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index e1b43c4..01cee78 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,53 +8,53 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.38\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-11 16:15-0500\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2015-08-27 16:54+0800\n"
 "Last-Translator: Mingye Wang <arthur200126@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
 "Language: zh_CN\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "X-Generator: Poedit 1.8.4\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "给予缓冲区配额以打印字串时失败"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "给予缓冲区配额用于列指令时失败"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "给予缓冲区配额用于 m4 def 时失败"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "给予缓冲区配额用于 m4 undef 时失败"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "#%d 正处于非访问状态 -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "不安全的末端上下文"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " 关联的规则列号:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " 外转换:"
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -63,11 +63,11 @@
 "\n"
 " 合并转换:文件结尾 "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "epsclosure() 中的一致性检查失败"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -79,24 +79,24 @@
 "DFA 转储:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "无法创建独立的 end-of-buffer 状态"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "状态 # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "无法写入 yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "在 sympartition() 检测到错误的变换字符"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -108,29 +108,29 @@
 "等价类:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "状态 # %d 接受:[%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "状态 # %d 接受:"
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "无法写入 yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "无法写入 yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "无法写入 ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -140,393 +140,399 @@
 "\n"
 "元等价类:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "无法写入 yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "无法写入 yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "无法写入 yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "无法写入 yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "无法写入 yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "无法写入 ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "无法写入 ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "无法写入 eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "无法写入 yynultrans_tbl"
 
-#: main.c:191
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "无法匹配规则"
 
-#: main.c:196
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "-s 选项已给定但是可以吻合缺省规则"
 
-#: main.c:236
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "无法将 -+ 与 -l 选项共同使用"
 
-#: main.c:239
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "无法将 -f 或 -F 与 -l 选项共同使用"
 
-#: main.c:243
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "无法将 --reentrant 或 --bison-bridge 与 -l 选项共同使用"
 
-#: main.c:275
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF 和 -Cm 共用时不具任何意义"
 
-#: main.c:278
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF 和 -I 是不兼容的"
 
-#: main.c:282
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF 与 lex 兼容模式是不兼容的"
 
-#: main.c:287
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf 和 -CF 是互斥的"
 
-#: main.c:291
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "无法将 -+ 与 -CF 选项共同使用"
 
-#: main.c:294
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array 与 -+ 选项不兼容"
 
-#: main.c:299
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "选项 -+ 和 --reentrant 是互斥的。"
 
-#: main.c:302
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison 桥接器不受 C++ 扫描程序支持。"
 
-#: main.c:357 main.c:403
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "无法创建 %s"
 
-#: main.c:416
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "无法写入表头"
 
-#: main.c:420
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "无法打开骨架文件 %s"
 
-#: main.c:456
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "给予宏定义配额时失败"
 
-#: main.c:504
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "读取骨架文件 %s 时输入错误"
 
-#: main.c:508
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "关闭骨架文件 %s 出错"
 
-#: main.c:693
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "创建头文件 %s 出错"
 
-#: main.c:701
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "写入输出文件 %s 出错"
 
-#: main.c:705
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "关闭输出文件 %s 出错"
 
-#: main.c:709
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "删除输出文件 %s 出错"
 
 # See Concept Index. fr translation is wrong for that 'archive'.
-#: main.c:716
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "没有回溯。\n"
 
-#: main.c:720
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d 回溯 (非接受) 状态。\n"
 
-#: main.c:724
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "压缩过的表格总会自动回溯。\n"
 
-#: main.c:727
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "写入回溯文件 %s 出错"
 
-#: main.c:731
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "关闭回溯文件 %s 出错"
 
-#: main.c:736
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s 版本 %s 用法统计:\n"
 
-#: main.c:739
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  扫描器选项:-"
 
-#: main.c:818
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA 状态\n"
 
-#: main.c:820
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA 状态 (%d 个字词)\n"
 
-#: main.c:822
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d 条规则\n"
 
-#: main.c:827
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  没有回溯\n"
 
-#: main.c:831
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d 回溯 (非接受) 状态\n"
 
-#: main.c:836
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  压缩过的表格总会自动回溯\n"
 
-#: main.c:840
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  列首式样已使用\n"
 
-#: main.c:842
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d 起始条件\n"
 
-#: main.c:846
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d ε状态,%d 双倍ε状态\n"
 
-#: main.c:850
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  无字符类别\n"
 
-#: main.c:854
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr "  %d/%d 字符类别所需 %d/%d 字词的保存体,%d 重新使用\n"
 
-#: main.c:859
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d 状态/下一状态对已创建\n"
 
-#: main.c:862
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d 独一/重复转换\n"
 
-#: main.c:867
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d 表格项目\n"
 
-#: main.c:875
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d base-def 项目已创建\n"
 
-#: main.c:879
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (峰值 %d) nxt-chk 项目已创建\n"
 
-#: main.c:883
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (峰值 %d) 模板 nxt-chk 项目已创建\n"
 
-#: main.c:887
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d 清空表格项目\n"
 
-#: main.c:889
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d 原型已创建\n"
 
-#: main.c:892
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d 范本已创建,%d 使用\n"
 
-#: main.c:900
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d 等价类别已创建\n"
 
-#: main.c:908
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d 后设等价类别已创建\n"
 
-#: main.c:914
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d 已保存) 哈希碰撞,%d DFAs 相等\n"
 
-#: main.c:916
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  需要 %d 组重新配置\n"
 
-#: main.c:918
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  总计需要 %d 表格项目\n"
 
-#: main.c:995
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "内部错误。flexopts 功能异常。\n"
 
-#: main.c:1005
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "尝试「%s --help」以获得更多信息。\n"
 
-#: main.c:1062
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "未知的 -C 选项“%c”"
 
-#: main.c:1191
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1466
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "致命的解析错误"
 
-#: main.c:1498
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "无法创建回溯信息文件 %s"
 
-#: main.c:1519
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr "-l AT&T lex 兼容性选项会导致大幅性能减退\n"
 
-#: main.c:1522
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " 同时也许是其他回报性能减退的实际来源\n"
 
-#: main.c:1528
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
 msgstr "%%option yylineno 导致性能减退,只有当该规则该吻合新列字符时才会\n"
 
-#: main.c:1535
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (交互式) 导致小幅性能减退\n"
 
-#: main.c:1540
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() 导致小幅性能减退\n"
 
-#: main.c:1546
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT 导致大幅性能减退\n"
 
-#: main.c:1551
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "变量末尾上下文规则导致大幅性能减退\n"
 
-#: main.c:1563
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT 无法与 -f 或 -F 共同使用"
 
-#: main.c:1566
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno 无法与 REJECT 共同使用"
 
-#: main.c:1569
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr "变量末尾上下文规则无法与 -f 或 -F 共同使用"
 
-#: main.c:1692
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass 只对于 C++ 扫描程序有意义"
 
-#: main.c:1799
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "用法:%s [选项] [文件]...\n"
 
-#: main.c:1802
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -549,13 +555,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -577,8 +586,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -650,51 +657,52 @@
 "  -h, --help              产生这个说明消息\n"
 "  -V, --version           报告 %s 版本\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "给予 sko_stack 配额时失败"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "名称「%s」有荒谬的长度"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "在 allocatearray() 中内存配置失败"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "在 checkchar() 中侦测到不当的字符「%s」"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "扫描程序需要 -8 旗标以使用字符 %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "在 copystring() 中动态内存失败"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "在 allocatearray() 中内存配置失败"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s:严重内部错误,%s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "试图增加数组大小时失败"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "骨架文件中错误的行"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "在 yy_flex_xmalloc() 中的内存分配失败"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -705,230 +713,241 @@
 "\n"
 "********** 开始输出起始状态为 %d 的 NFA\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "状态 # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** 输出结束\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "在 dupmachine() 中清空机器"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "变量末尾上下文规则于列 %d\n"
 
-#: nfa.c:364
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "在 mark_beginning_as_normal() 中有不当的状态输入"
 
-#: nfa.c:609
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "输入规则太复杂 (>= %d NFA 状态)"
 
-#: nfa.c:688
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "在 mkxtion() 中找到太多转换"
 
-#: nfa.c:714
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "规则过多 (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "未知的错误处理节 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "错误的起始状态列表"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "不能识别的规则"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "末尾上下文已使用两次"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "不当的迭代值"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "迭代值必须是正值"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr "在大小写不须相符的扫描程序中,字符范围 [%c-%c] 是模棱两可的"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "在字符类别中有负值范围"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "在大小写不须相符的扫描程序中,[:^lower:] 是模棱两可的"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "在大小写不须相符的扫描程序中,[:^upper:] 是模棱两可的"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "输入列太长\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "异常的「%top」指令"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "无法辨识的「%」指令"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "定义名称太长\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "不成对的「{」"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "{%s} 的定义值太长\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "不完整的名称定义"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "选项列太长\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "不能识别的 %%选项:%s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "错误的字符类别"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "未定义的定义 {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "错误 <起始条件>:%s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "遗漏引号"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "错误的字符类别表达式:%s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "不当字符于 {} 内部"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "遗漏 }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "在动作中文件结束"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "在式样之内遇到文件结束"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "错误的字符:%s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "无法打开 %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "用法:%s [选项]...\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "选项“%s”不接受参数\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "选项“%s”需要一个参数\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "选项「%s」是模棱两可的\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "未知的选项“%s”\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "未知错误=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "符号表内存分配失败"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "名称定义了两次"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "起始条件 %s 声明了两次"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "过早出现文件结尾"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "结束标志\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*情况很怪异* - tok:%d val:%d\n"
 
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "在 copystring() 中动态内存失败"
+
 #~ msgid "consistency check failed in symfollowset"
 #~ msgstr "symfollowset 中的一致性检查失败"
 
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 2ffb844..f0f0ca0 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -8,53 +8,53 @@
 msgstr ""
 "Project-Id-Version: flex 2.5.37\n"
 "Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2012-07-22 20:48-0400\n"
+"POT-Creation-Date: 2017-05-06 10:49-0400\n"
 "PO-Revision-Date: 2013-02-12 23:23+0800\n"
 "Last-Translator: Wei-Lun Chao <bluebat@member.fsf.org>\n"
 "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n"
 "Language: zh_TW\n"
-"X-Bugs: Report translation errors to the Language-Team address.\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: buf.c:78
+#: src/buf.c:79
 msgid "Allocation of buffer to print string failed"
 msgstr "給予緩衝區配額以列印字串時失敗"
 
-#: buf.c:100
+#: src/buf.c:107
 msgid "Allocation of buffer for line directive failed"
 msgstr "給予緩衝區配額用於列指令時失敗"
 
-#: buf.c:177
+#: src/buf.c:177
 msgid "Allocation of buffer for m4 def failed"
 msgstr "給予緩衝區配額用於 m4 def 時失敗"
 
-#: buf.c:197
+#: src/buf.c:198
 msgid "Allocation of buffer for m4 undef failed"
 msgstr "給予緩衝區配額用於 m4 undef 時失敗"
 
-#: dfa.c:61
+#: src/dfa.c:59
 #, c-format
 msgid "State #%d is non-accepting -\n"
 msgstr "#%d 正處於非存取狀態 -\n"
 
-#: dfa.c:124
+#: src/dfa.c:119
 msgid "dangerous trailing context"
 msgstr "不安全的末端內文"
 
-#: dfa.c:166
+#: src/dfa.c:159
 #, c-format
 msgid " associated rule line numbers:"
 msgstr " 關聯的規則列號:"
 
-#: dfa.c:202
+#: src/dfa.c:193
 #, c-format
 msgid " out-transitions: "
 msgstr " 外轉換:"
 
-#: dfa.c:210
+#: src/dfa.c:201
 #, c-format
 msgid ""
 "\n"
@@ -63,11 +63,11 @@
 "\n"
 " 合併轉換:檔案結尾 "
 
-#: dfa.c:341
+#: src/dfa.c:331
 msgid "consistency check failed in epsclosure()"
 msgstr "epsclosure() 中的一致性檢查失敗"
 
-#: dfa.c:429
+#: src/dfa.c:419
 msgid ""
 "\n"
 "\n"
@@ -79,24 +79,24 @@
 " DFA 傾印:\n"
 "\n"
 
-#: dfa.c:604
+#: src/dfa.c:587
 msgid "could not create unique end-of-buffer state"
 msgstr "無法建立獨一的緩衝區結尾狀態"
 
-#: dfa.c:625
+#: src/dfa.c:608
 #, c-format
 msgid "state # %d:\n"
 msgstr "狀態 # %d:\n"
 
-#: dfa.c:785
+#: src/dfa.c:768
 msgid "Could not write yynxt_tbl[][]"
 msgstr "無法寫入 yynxt_tbl[][]"
 
-#: dfa.c:1049
+#: src/dfa.c:1028
 msgid "bad transition character detected in sympartition()"
 msgstr "在 sympartition() 偵測到不當的轉換字元"
 
-#: gen.c:478
+#: src/gen.c:480
 msgid ""
 "\n"
 "\n"
@@ -108,29 +108,29 @@
 "等價類別:\n"
 "\n"
 
-#: gen.c:662 gen.c:691 gen.c:1215
+#: src/gen.c:669 src/gen.c:698 src/gen.c:1218
 #, c-format
 msgid "state # %d accepts: [%d]\n"
 msgstr "狀態 # %d 接受:[%d]\n"
 
-#: gen.c:1110
+#: src/gen.c:1115
 #, c-format
 msgid "state # %d accepts: "
 msgstr "狀態 # %d 接受:"
 
-#: gen.c:1157
+#: src/gen.c:1162
 msgid "Could not write yyacclist_tbl"
 msgstr "無法寫入 yyacclist_tbl"
 
-#: gen.c:1233
+#: src/gen.c:1236
 msgid "Could not write yyacc_tbl"
 msgstr "無法寫入 yyacc_tbl"
 
-#: gen.c:1248 gen.c:1633 gen.c:1656
+#: src/gen.c:1251 src/gen.c:1623 src/gen.c:1646
 msgid "Could not write ecstbl"
 msgstr "無法寫入 ecstbl"
 
-#: gen.c:1271
+#: src/gen.c:1271
 msgid ""
 "\n"
 "\n"
@@ -140,392 +140,398 @@
 "\n"
 " 後設等價類別:\n"
 
-#: gen.c:1293
+#: src/gen.c:1293
 msgid "Could not write yymeta_tbl"
 msgstr "無法寫入 yymeta_tbl"
 
-#: gen.c:1354
+#: src/gen.c:1352
 msgid "Could not write yybase_tbl"
 msgstr "無法寫入 yybase_tbl"
 
-#: gen.c:1388
+#: src/gen.c:1384
 msgid "Could not write yydef_tbl"
 msgstr "無法寫入 yydef_tbl"
 
-#: gen.c:1428
+#: src/gen.c:1422
 msgid "Could not write yynxt_tbl"
 msgstr "無法寫入 yynxt_tbl"
 
-#: gen.c:1464
+#: src/gen.c:1456
 msgid "Could not write yychk_tbl"
 msgstr "無法寫入 yychk_tbl"
 
-#: gen.c:1618 gen.c:1647
+#: src/gen.c:1608 src/gen.c:1637
 msgid "Could not write ftbl"
 msgstr "無法寫入 ftbl"
 
-#: gen.c:1624
+#: src/gen.c:1614
 msgid "Could not write ssltbl"
 msgstr "無法寫入 ssltbl"
 
-#: gen.c:1675
+#: src/gen.c:1665
 msgid "Could not write eoltbl"
 msgstr "無法寫入 eoltbl"
 
-#: gen.c:1735
+#: src/gen.c:1722
 msgid "Could not write yynultrans_tbl"
 msgstr "無法寫入 yynultrans_tbl"
 
-#: main.c:189
+#: src/main.c:178
 msgid "rule cannot be matched"
 msgstr "規則無法吻合"
 
-#: main.c:194
+#: src/main.c:183
 msgid "-s option given but default rule can be matched"
 msgstr "-s 選項已給定但是可以吻合預設規則"
 
-#: main.c:234
+#: src/main.c:221
 msgid "Can't use -+ with -l option"
 msgstr "無法將 -+ 與 -l 選項共同使用"
 
-#: main.c:237
+#: src/main.c:224
 msgid "Can't use -f or -F with -l option"
 msgstr "無法將 -f 或 -F 與 -l 選項共同使用"
 
-#: main.c:241
+#: src/main.c:228
 msgid "Can't use --reentrant or --bison-bridge with -l option"
 msgstr "無法將 --reentrant 或 --bison-bridge 與 -l 選項共同使用"
 
-#: main.c:278
+#: src/main.c:260
 msgid "-Cf/-CF and -Cm don't make sense together"
 msgstr "-Cf/-CF 和 -Cm 共用時不具任何意義"
 
-#: main.c:281
+#: src/main.c:263
 msgid "-Cf/-CF and -I are incompatible"
 msgstr "-Cf/-CF 和 -I 是不相容的"
 
-#: main.c:285
+#: src/main.c:267
 msgid "-Cf/-CF are incompatible with lex-compatibility mode"
 msgstr "-Cf/-CF 與 lex 相容模式是不相容的"
 
-#: main.c:290
+#: src/main.c:272
 msgid "-Cf and -CF are mutually exclusive"
 msgstr "-Cf 和 -CF 是互斥的"
 
-#: main.c:294
+#: src/main.c:276
 msgid "Can't use -+ with -CF option"
 msgstr "無法將 -+ 與 -CF 選項共同使用"
 
-#: main.c:297
+#: src/main.c:279
 #, c-format
 msgid "%array incompatible with -+ option"
 msgstr "%array 與 -+ 選項不相容"
 
-#: main.c:302
+#: src/main.c:284
 msgid "Options -+ and --reentrant are mutually exclusive."
 msgstr "選項 -+ 和 --reentrant 是互斥的。"
 
-#: main.c:305
+#: src/main.c:287
 msgid "bison bridge not supported for the C++ scanner."
 msgstr "bison 橋接器不受 C++ 掃描程式支援。"
 
-#: main.c:360 main.c:406
+#: src/main.c:336 src/main.c:419
 #, c-format
 msgid "could not create %s"
 msgstr "無法建立 %s"
 
-#: main.c:419
+#: src/main.c:431
 msgid "could not write tables header"
 msgstr "無法寫入表頭"
 
-#: main.c:423
+#: src/main.c:435
 #, c-format
 msgid "can't open skeleton file %s"
 msgstr "無法開啟架構檔案 %s"
 
-#: main.c:459
+#: src/main.c:450
+msgid "Prefix cannot include '[' or ']'"
+msgstr ""
+
+#: src/main.c:474
 msgid "allocation of macro definition failed"
 msgstr "給予巨集定義配額時失敗"
 
-#: main.c:507
+#: src/main.c:521
 #, c-format
 msgid "input error reading skeleton file %s"
 msgstr "讀取架構檔案 %s 時輸入錯誤"
 
-#: main.c:511
+#: src/main.c:525
 #, c-format
 msgid "error closing skeleton file %s"
 msgstr "關閉架構檔案 %s 時發生錯誤"
 
-#: main.c:696
+#: src/main.c:709
 #, c-format
 msgid "error creating header file %s"
 msgstr "建立標頭檔案 %s 時發生錯誤"
 
-#: main.c:704
+#: src/main.c:717
 #, c-format
 msgid "error writing output file %s"
 msgstr "寫入輸出檔案 %s 時發生錯誤"
 
-#: main.c:708
+#: src/main.c:721
 #, c-format
 msgid "error closing output file %s"
 msgstr "關閉輸出檔案 %s 時發生錯誤"
 
-#: main.c:712
+#: src/main.c:725
 #, c-format
 msgid "error deleting output file %s"
 msgstr "刪除輸出檔案 %s 時發生錯誤"
 
-#: main.c:719
+#: src/main.c:732
 #, c-format
 msgid "No backing up.\n"
 msgstr "沒有備份。\n"
 
-#: main.c:723
+#: src/main.c:736
 #, c-format
 msgid "%d backing up (non-accepting) states.\n"
 msgstr "%d 備份 (非接受) 狀態。\n"
 
-#: main.c:727
+#: src/main.c:740
 #, c-format
 msgid "Compressed tables always back up.\n"
 msgstr "壓縮過的表格自動備份。\n"
 
-#: main.c:730
+#: src/main.c:743
 #, c-format
 msgid "error writing backup file %s"
 msgstr "寫入備份檔案 %s 時發生錯誤"
 
-#: main.c:734
+#: src/main.c:747
 #, c-format
 msgid "error closing backup file %s"
 msgstr "關閉備份檔案 %s 時發生錯誤"
 
-#: main.c:739
+#: src/main.c:752
 #, c-format
 msgid "%s version %s usage statistics:\n"
 msgstr "%s 版本 %s 用法統計:\n"
 
-#: main.c:742
+#: src/main.c:755
 #, c-format
 msgid "  scanner options: -"
 msgstr "  掃描程式選項:-"
 
-#: main.c:821
+#: src/main.c:834
 #, c-format
 msgid "  %d/%d NFA states\n"
 msgstr "  %d/%d NFA 狀態\n"
 
-#: main.c:823
+#: src/main.c:836
 #, c-format
 msgid "  %d/%d DFA states (%d words)\n"
 msgstr "  %d/%d DFA 狀態 (%d 個字詞)\n"
 
-#: main.c:825
+#: src/main.c:838
 #, c-format
 msgid "  %d rules\n"
 msgstr "  %d 條規則\n"
 
-#: main.c:830
+#: src/main.c:843
 #, c-format
 msgid "  No backing up\n"
 msgstr "  沒有備份\n"
 
-#: main.c:834
+#: src/main.c:847
 #, c-format
 msgid "  %d backing-up (non-accepting) states\n"
 msgstr "  %d 備份 (非接受) 狀態\n"
 
-#: main.c:839
+#: src/main.c:852
 #, c-format
 msgid "  Compressed tables always back-up\n"
 msgstr "  壓縮過的表格自動備份\n"
 
-#: main.c:843
+#: src/main.c:856
 #, c-format
 msgid "  Beginning-of-line patterns used\n"
 msgstr "  列首式樣已使用\n"
 
-#: main.c:845
+#: src/main.c:858
 #, c-format
 msgid "  %d/%d start conditions\n"
 msgstr "  %d/%d 起始條件\n"
 
-#: main.c:849
+#: src/main.c:862
 #, c-format
 msgid "  %d epsilon states, %d double epsilon states\n"
 msgstr "  %d ε狀態,%d 雙倍ε狀態\n"
 
-#: main.c:853
+#: src/main.c:866
 #, c-format
 msgid "  no character classes\n"
 msgstr "  無字元類別\n"
 
-#: main.c:857
+#: src/main.c:870
 #, c-format
 msgid "  %d/%d character classes needed %d/%d words of storage, %d reused\n"
 msgstr "  %d/%d 字元類別所需 %d/%d 字詞的儲存體,%d 重新使用\n"
 
-#: main.c:862
+#: src/main.c:875
 #, c-format
 msgid "  %d state/nextstate pairs created\n"
 msgstr "  %d 狀態/下一狀態對已建立\n"
 
-#: main.c:865
+#: src/main.c:878
 #, c-format
 msgid "  %d/%d unique/duplicate transitions\n"
 msgstr "  %d/%d 獨一/重複轉換\n"
 
-#: main.c:870
+#: src/main.c:883
 #, c-format
 msgid "  %d table entries\n"
 msgstr "  %d 表格項目\n"
 
-#: main.c:878
+#: src/main.c:891
 #, c-format
 msgid "  %d/%d base-def entries created\n"
 msgstr "  %d/%d base-def 項目已建立\n"
 
-#: main.c:882
+#: src/main.c:895
 #, c-format
 msgid "  %d/%d (peak %d) nxt-chk entries created\n"
 msgstr "  %d/%d (尖峰 %d) nxt-chk 項目已建立\n"
 
-#: main.c:886
+#: src/main.c:899
 #, c-format
 msgid "  %d/%d (peak %d) template nxt-chk entries created\n"
 msgstr "  %d/%d (尖峰 %d) 模板 nxt-chk 項目已建立\n"
 
-#: main.c:890
+#: src/main.c:903
 #, c-format
 msgid "  %d empty table entries\n"
 msgstr "  %d 清空表格項目\n"
 
-#: main.c:892
+#: src/main.c:905
 #, c-format
 msgid "  %d protos created\n"
 msgstr "  %d 原型已建立\n"
 
-#: main.c:895
+#: src/main.c:908
 #, c-format
 msgid "  %d templates created, %d uses\n"
 msgstr "  %d 範本已建立,%d 使用\n"
 
-#: main.c:903
+#: src/main.c:916
 #, c-format
 msgid "  %d/%d equivalence classes created\n"
 msgstr "  %d/%d 等價類別已建立\n"
 
-#: main.c:911
+#: src/main.c:924
 #, c-format
 msgid "  %d/%d meta-equivalence classes created\n"
 msgstr "  %d/%d 後設等價類別已建立\n"
 
-#: main.c:917
+#: src/main.c:930
 #, c-format
 msgid "  %d (%d saved) hash collisions, %d DFAs equal\n"
 msgstr "  %d (%d 已儲存) 雜湊碰撞,%d DFAs 相等\n"
 
-#: main.c:919
+#: src/main.c:932
 #, c-format
 msgid "  %d sets of reallocations needed\n"
 msgstr "  需要 %d 組重新配置\n"
 
-#: main.c:921
+#: src/main.c:934
 #, c-format
 msgid "  %d total table entries needed\n"
 msgstr "  總計需要 %d 表格項目\n"
 
-#: main.c:998
+#: src/main.c:1008
 #, c-format
 msgid "Internal error. flexopts are malformed.\n"
 msgstr "內部錯誤。flexopts 功能異常。\n"
 
-#: main.c:1008
+#: src/main.c:1018
 #, c-format
 msgid "Try `%s --help' for more information.\n"
 msgstr "嘗試「%s --help」以獲得更多資訊。\n"
 
-#: main.c:1065
+#: src/main.c:1075
 #, c-format
 msgid "unknown -C option '%c'"
 msgstr "不明 -C 選項「%c」"
 
-#: main.c:1194
+#: src/main.c:1204
 #, c-format
 msgid "%s %s\n"
 msgstr "%s %s\n"
 
-#: main.c:1469
+#: src/main.c:1476
 msgid "fatal parse error"
 msgstr "嚴重的解析錯誤"
 
-#: main.c:1501
+#: src/main.c:1508
 #, c-format
 msgid "could not create backing-up info file %s"
 msgstr "無法建立備份資訊檔案 %s"
 
-#: main.c:1522
+#: src/main.c:1529
 #, c-format
 msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
 msgstr "-l AT&T lex 相容性選項會導致大幅效能減退\n"
 
-#: main.c:1525
+#: src/main.c:1532
 #, c-format
 msgid " and may be the actual source of other reported performance penalties\n"
 msgstr " 同時也許是其他回報效能減退的實際來源\n"
 
-#: main.c:1531
+#: src/main.c:1538
 #, c-format
-msgid "%%option yylineno entails a performance penalty ONLY on rules that can match newline characters\n"
+msgid ""
+"%%option yylineno entails a performance penalty ONLY on rules that can match "
+"newline characters\n"
 msgstr "%%option yylineno 導致效能減退,只有當該規則該吻合新列字元時才會\n"
 
-#: main.c:1538
+#: src/main.c:1545
 #, c-format
 msgid "-I (interactive) entails a minor performance penalty\n"
 msgstr "-I (互動式) 導致小幅效能減退\n"
 
-#: main.c:1543
+#: src/main.c:1550
 #, c-format
 msgid "yymore() entails a minor performance penalty\n"
 msgstr "yymore() 導致小幅效能減退\n"
 
-#: main.c:1549
+#: src/main.c:1556
 #, c-format
 msgid "REJECT entails a large performance penalty\n"
 msgstr "REJECT 導致大幅效能減退\n"
 
-#: main.c:1554
+#: src/main.c:1561
 #, c-format
 msgid "Variable trailing context rules entail a large performance penalty\n"
 msgstr "變數末尾內文規則導致大幅效能減退\n"
 
-#: main.c:1566
+#: src/main.c:1573
 msgid "REJECT cannot be used with -f or -F"
 msgstr "REJECT 無法與 -f 或 -F 共同使用"
 
-#: main.c:1569
+#: src/main.c:1576
 #, c-format
 msgid "%option yylineno cannot be used with REJECT"
 msgstr "%option yylineno 無法與 REJECT 共同使用"
 
-#: main.c:1572
+#: src/main.c:1579
 msgid "variable trailing context rules cannot be used with -f or -F"
 msgstr "變數末尾內文規則無法與 -f 或 -F 共同使用"
 
-#: main.c:1695
+#: src/main.c:1704
 #, c-format
 msgid "%option yyclass only meaningful for C++ scanners"
 msgstr "%option yyclass 只對於 C++ 掃描程式有意義"
 
-#: main.c:1802
+#: src/main.c:1791
 #, c-format
 msgid "Usage: %s [OPTIONS] [FILE]...\n"
 msgstr "用法:%s [選項] [檔案]…\n"
 
-#: main.c:1805
-#, c-format
+#: src/main.c:1794
+#, fuzzy, c-format
 msgid ""
 "Generates programs that perform pattern-matching on text.\n"
 "\n"
@@ -548,13 +554,16 @@
 "  -T, --trace             %s should run in trace mode\n"
 "  -w, --nowarn            do not generate warnings\n"
 "  -v, --verbose           write summary of scanner statistics to stdout\n"
+"      --hex               use hexadecimal numbers instead of octal in debug "
+"outputs\n"
 "\n"
 "Files:\n"
 "  -o, --outfile=FILE      specify output filename\n"
 "  -S, --skel=FILE         specify skeleton file\n"
 "  -t, --stdout            write scanner on stdout instead of %s\n"
 "      --yyclass=NAME      name of C++ class\n"
-"      --header-file=FILE   create a C header file in addition to the scanner\n"
+"      --header-file=FILE   create a C header file in addition to the "
+"scanner\n"
 "      --tables-file[=FILE] write tables to FILE\n"
 "\n"
 "Scanner behavior:\n"
@@ -576,8 +585,6 @@
 "       --bison-bridge      scanner for bison pure parser.\n"
 "       --bison-locations   include yylloc support.\n"
 "       --stdinit           initialize yyin/yyout to stdin/stdout\n"
-"       --noansi-definitions old-style function definitions\n"
-"       --noansi-prototypes  empty parameter list in prototypes\n"
 "       --nounistd          do not include <unistd.h>\n"
 "       --noFUNCTION        do not generate a particular FUNCTION\n"
 "\n"
@@ -649,51 +656,52 @@
 "  -h, --help              產生這個說明訊息\n"
 "  -V, --version           報告 %s 版本\n"
 
-#: misc.c:65
+#: src/misc.c:64
 msgid "allocation of sko_stack failed"
 msgstr "給予 sko_stack 配額時失敗"
 
-#: misc.c:102 misc.c:128
+#: src/misc.c:100
 #, c-format
 msgid "name \"%s\" ridiculously long"
 msgstr "名稱「%s」有荒謬的長度"
 
-#: misc.c:177
+#: src/misc.c:155
 msgid "memory allocation failed in allocate_array()"
 msgstr "在 allocatearray() 中記憶體配置失敗"
 
-#: misc.c:230
+#: src/misc.c:205
 #, c-format
 msgid "bad character '%s' detected in check_char()"
 msgstr "在 checkchar() 中偵測到不當的字元「%s」"
 
-#: misc.c:235
+#: src/misc.c:210
 #, c-format
 msgid "scanner requires -8 flag to use the character %s"
 msgstr "掃描程式需要 -8 旗標以使用字元 %s"
 
-#: misc.c:268
-msgid "dynamic memory failure in copy_string()"
-msgstr "在 copystring() 中動態記憶體失敗"
+#: src/misc.c:229
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "在 allocatearray() 中記憶體配置失敗"
 
-#: misc.c:367
+#: src/misc.c:303
 #, c-format
 msgid "%s: fatal internal error, %s\n"
 msgstr "%s:嚴重內部錯誤,%s\n"
 
-#: misc.c:803
+#: src/misc.c:671
 msgid "attempt to increase array size failed"
 msgstr "試圖增加陣列大小時失敗"
 
-#: misc.c:930
+#: src/misc.c:795
 msgid "bad line in skeleton file"
 msgstr "架構檔案中不當的列"
 
-#: misc.c:979
+#: src/misc.c:845
 msgid "memory allocation failed in yy_flex_xmalloc()"
 msgstr "在 yy_flex_xmalloc() 中的記憶體配置失敗"
 
-#: nfa.c:104
+#: src/nfa.c:100
 #, c-format
 msgid ""
 "\n"
@@ -704,226 +712,237 @@
 "\n"
 "********** 開始輸出起始狀態為 %d 的 NFA\n"
 
-#: nfa.c:115
+#: src/nfa.c:111
 #, c-format
 msgid "state # %4d\t"
 msgstr "狀態 # %4d\t"
 
-#: nfa.c:130
+#: src/nfa.c:126
 #, c-format
 msgid "********** end of dump\n"
 msgstr "********** 傾印結束\n"
 
-#: nfa.c:174
+#: src/nfa.c:169
 msgid "empty machine in dupmachine()"
 msgstr "在 dupmachine() 中清空機器"
 
-#: nfa.c:240
+#: src/nfa.c:234
 #, c-format
 msgid "Variable trailing context rule at line %d\n"
 msgstr "變數末尾內文規則於列 %d\n"
 
-#: nfa.c:353
+#: src/nfa.c:357
 msgid "bad state type in mark_beginning_as_normal()"
 msgstr "在 mark_beginning_as_normal() 中有不當的狀態輸入"
 
-#: nfa.c:598
+#: src/nfa.c:595
 #, c-format
 msgid "input rules are too complicated (>= %d NFA states)"
 msgstr "輸入規則太複雜 (>= %d NFA 狀態)"
 
-#: nfa.c:677
+#: src/nfa.c:673
 msgid "found too many transitions in mkxtion()"
 msgstr "在 mkxtion() 中找到太多轉換"
 
-#: nfa.c:703
+#: src/nfa.c:699
 #, c-format
 msgid "too many rules (> %d)!"
 msgstr "太多規則 (> %d)!"
 
-#: parse.y:159
+#: src/parse.y:159
 msgid "unknown error processing section 1"
 msgstr "不明的錯誤處理區段 1"
 
-#: parse.y:184 parse.y:351
+#: src/parse.y:184 src/parse.y:353
 msgid "bad start condition list"
 msgstr "不當的起始條件清單"
 
-#: parse.y:315
+#: src/parse.y:204
+msgid "Prefix must not contain [ or ]"
+msgstr ""
+
+#: src/parse.y:317
 msgid "unrecognized rule"
 msgstr "無法辨識的規則"
 
-#: parse.y:434 parse.y:447 parse.y:516
+#: src/parse.y:436 src/parse.y:449 src/parse.y:518
 msgid "trailing context used twice"
 msgstr "末尾內文已使用兩次"
 
-#: parse.y:552 parse.y:562 parse.y:635 parse.y:645
+#: src/parse.y:554 src/parse.y:564 src/parse.y:637 src/parse.y:647
 msgid "bad iteration values"
 msgstr "不當的迭代值"
 
-#: parse.y:580 parse.y:598 parse.y:663 parse.y:681
+#: src/parse.y:582 src/parse.y:600 src/parse.y:665 src/parse.y:683
 msgid "iteration value must be positive"
 msgstr "迭代值必須是正值"
 
-#: parse.y:804 parse.y:814
+#: src/parse.y:806 src/parse.y:816
 #, c-format
 msgid "the character range [%c-%c] is ambiguous in a case-insensitive scanner"
 msgstr "在大小寫不須相符的掃描程式中,字元範圍 [%c-%c] 是模稜兩可的"
 
-#: parse.y:819
+#: src/parse.y:821
 msgid "negative range in character class"
 msgstr "在字元類別中有負值範圍"
 
-#: parse.y:916
+#: src/parse.y:918
 msgid "[:^lower:] is ambiguous in case insensitive scanner"
 msgstr "在大小寫不須相符的掃描程式中,[:^lower:] 是模稜兩可的"
 
-#: parse.y:922
+#: src/parse.y:924
 msgid "[:^upper:] ambiguous in case insensitive scanner"
 msgstr "在大小寫不須相符的掃描程式中,[:^upper:] 是模稜兩可的"
 
-#: scan.l:75 scan.l:618 scan.l:676
+#: src/scan.l:82 src/scan.l:644 src/scan.l:702
 msgid "Input line too long\n"
 msgstr "輸入列太長\n"
 
-#: scan.l:161
+#: src/scan.l:183
 #, c-format
 msgid "malformed '%top' directive"
 msgstr "異常的「%top」指令"
 
-#: scan.l:183
+#: src/scan.l:205
 #, no-c-format
 msgid "unrecognized '%' directive"
 msgstr "無法辨識的「%」指令"
 
-#: scan.l:192
+#: src/scan.l:214
 msgid "Definition name too long\n"
 msgstr "定義名稱太長\n"
 
-#: scan.l:284
+#: src/scan.l:309
 msgid "Unmatched '{'"
 msgstr "不成對的「{」"
 
-#: scan.l:300
+#: src/scan.l:325
 #, c-format
 msgid "Definition value for {%s} too long\n"
 msgstr "{%s} 的定義值太長\n"
 
-#: scan.l:317
+#: src/scan.l:342
 msgid "incomplete name definition"
 msgstr "不完整的名稱定義"
 
-#: scan.l:443
+#: src/scan.l:467
 msgid "Option line too long\n"
 msgstr "選項列太長\n"
 
-#: scan.l:451
+#: src/scan.l:475
 #, c-format
 msgid "unrecognized %%option: %s"
 msgstr "無法辨識的 %%option:%s"
 
-#: scan.l:633 scan.l:800
+#: src/scan.l:659 src/scan.l:832
 msgid "bad character class"
 msgstr "不當的字元類別"
 
-#: scan.l:683
+#: src/scan.l:709
 #, c-format
 msgid "undefined definition {%s}"
 msgstr "未定義的定義 {%s}"
 
-#: scan.l:755
+#: src/scan.l:772
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:787
 #, c-format
 msgid "bad <start condition>: %s"
 msgstr "不當的 <起始條件>:%s"
 
-#: scan.l:768
+#: src/scan.l:800
 msgid "missing quote"
 msgstr "缺少引號"
 
-#: scan.l:834
+#: src/scan.l:866
 #, c-format
 msgid "bad character class expression: %s"
 msgstr "不當的字元類別運算式:%s"
 
-#: scan.l:856
+#: src/scan.l:888
 msgid "bad character inside {}'s"
 msgstr "不當字元於 {} 內部"
 
-#: scan.l:862
+#: src/scan.l:894
 msgid "missing }"
 msgstr "缺少 }"
 
-#: scan.l:940
+#: src/scan.l:972
 msgid "EOF encountered inside an action"
 msgstr "在動作之內遇到檔案結束"
 
-#: scan.l:945
+#: src/scan.l:977
 msgid "EOF encountered inside pattern"
 msgstr "在式樣之內遇到檔案結束"
 
-#: scan.l:967
+#: src/scan.l:1010
 #, c-format
 msgid "bad character: %s"
 msgstr "不當的字元:%s"
 
-#: scan.l:996
+#: src/scan.l:1038
 #, c-format
 msgid "can't open %s"
 msgstr "無法開啟 %s"
 
-#: scanopt.c:291
+#: src/scanopt.c:259
 #, c-format
 msgid "Usage: %s [OPTIONS]...\n"
 msgstr "用法:%s [選項]…\n"
 
-#: scanopt.c:564
+#: src/scanopt.c:524
 #, c-format
 msgid "option `%s' doesn't allow an argument\n"
 msgstr "選項「%s」不允許任何引數\n"
 
-#: scanopt.c:569
+#: src/scanopt.c:529
 #, c-format
 msgid "option `%s' requires an argument\n"
 msgstr "選項「%s」需要一個引數\n"
 
-#: scanopt.c:573
+#: src/scanopt.c:533
 #, c-format
 msgid "option `%s' is ambiguous\n"
 msgstr "選項「%s」是模稜兩可的\n"
 
-#: scanopt.c:577
+#: src/scanopt.c:537
 #, c-format
 msgid "Unrecognized option `%s'\n"
 msgstr "無法辨識的選項 %s\n"
 
-#: scanopt.c:581
+#: src/scanopt.c:541
 #, c-format
 msgid "Unknown error=(%d)\n"
 msgstr "不明錯誤=(%d)\n"
 
-#: sym.c:100
+#: src/sym.c:92
 msgid "symbol table memory allocation failed"
 msgstr "符號表記憶體配置失敗"
 
-#: sym.c:202
+#: src/sym.c:183
 msgid "name defined twice"
 msgstr "名稱定義了兩次"
 
-#: sym.c:253
+#: src/sym.c:231
 #, c-format
 msgid "start condition %s declared twice"
 msgstr "起始條件 %s 宣告了兩次"
 
-#: yylex.c:56
+#: src/yylex.c:57
 msgid "premature EOF"
 msgstr "過早出現檔案結尾"
 
-#: yylex.c:198
+#: src/yylex.c:200
 #, c-format
 msgid "End Marker\n"
 msgstr "結束標誌\n"
 
-#: yylex.c:204
+#: src/yylex.c:206
 #, c-format
 msgid "*Something Weird* - tok: %d val: %d\n"
 msgstr "*情況很怪異* - tok:%d val:%d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "在 copystring() 中動態記憶體失敗"