summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManoj Srivastava <srivasta@debian.org>2016-07-31 15:00:12 -0700
committerManoj Srivastava <srivasta@debian.org>2016-07-31 15:00:12 -0700
commitdc20a68ba953b2a5da0311f3ce9f9217f9ad60b3 (patch)
treee45fdd69828a8668029d07f8601442cbb9258559
parente68e1da425634fda40095a7b3196d4175f782987 (diff)
parent487177cbb85bc4e88e468c71b27569054b8df090 (diff)
Merge branch 'upstream'
Signed-off-by: Manoj Srivastava <srivasta@debian.org> # Conflicts: # src/buf.c # src/flex.skl # src/skel.c
-rw-r--r--ChangeLog588
-rw-r--r--Makefile.am5
-rw-r--r--NEWS40
-rw-r--r--README42
-rwxr-xr-xautogen.sh2
-rw-r--r--configure.ac38
-rw-r--r--doc/Makefile.am1
-rw-r--r--doc/flex.texi3
-rw-r--r--examples/testxxLexer.l6
-rw-r--r--lib/Makefile.in5
-rw-r--r--lib/lib.c4
-rw-r--r--lib/reallocarray.c49
-rw-r--r--po/ca.gmobin16594 -> 16489 bytes
-rw-r--r--po/ca.po300
-rw-r--r--po/da.gmobin15431 -> 15334 bytes
-rw-r--r--po/da.po300
-rw-r--r--po/de.gmobin16395 -> 16289 bytes
-rw-r--r--po/de.po300
-rw-r--r--po/en@boldquot.gmobin21013 -> 21089 bytes
-rw-r--r--po/en@boldquot.po302
-rw-r--r--po/en@quot.gmobin20913 -> 20989 bytes
-rw-r--r--po/en@quot.po302
-rw-r--r--po/eo.gmobin15423 -> 15324 bytes
-rw-r--r--po/eo.po300
-rw-r--r--po/es.gmobin12837 -> 12711 bytes
-rw-r--r--po/es.po305
-rw-r--r--po/fi.gmobin16373 -> 16269 bytes
-rw-r--r--po/fi.po300
-rw-r--r--po/flex.pot296
-rw-r--r--po/fr.gmobin16648 -> 16544 bytes
-rw-r--r--po/fr.po300
-rw-r--r--po/ga.gmobin15344 -> 15241 bytes
-rw-r--r--po/ga.po300
-rw-r--r--po/hr.gmobin3452 -> 3452 bytes
-rw-r--r--po/hr.po297
-rw-r--r--po/ko.gmobin10358 -> 10244 bytes
-rw-r--r--po/ko.po300
-rw-r--r--po/nl.gmobin15948 -> 15851 bytes
-rw-r--r--po/nl.po300
-rw-r--r--po/pl.gmobin15684 -> 15578 bytes
-rw-r--r--po/pl.po300
-rw-r--r--po/pt_BR.gmobin16272 -> 16171 bytes
-rw-r--r--po/pt_BR.po300
-rw-r--r--po/ro.gmobin14677 -> 14577 bytes
-rw-r--r--po/ro.po300
-rw-r--r--po/ru.gmobin20969 -> 20820 bytes
-rw-r--r--po/ru.po300
-rw-r--r--po/sr.gmobin20024 -> 19894 bytes
-rw-r--r--po/sr.po300
-rw-r--r--po/sv.gmobin14344 -> 14252 bytes
-rw-r--r--po/sv.po300
-rw-r--r--po/tr.gmobin14562 -> 14461 bytes
-rw-r--r--po/tr.po300
-rw-r--r--po/vi.gmobin17740 -> 17607 bytes
-rw-r--r--po/vi.po300
-rw-r--r--po/zh_CN.gmobin14852 -> 14757 bytes
-rw-r--r--po/zh_CN.po300
-rw-r--r--po/zh_TW.gmobin14947 -> 14849 bytes
-rw-r--r--po/zh_TW.po300
-rw-r--r--src/FlexLexer.h245
-rw-r--r--src/Makefile.am50
-rw-r--r--src/Makefile.in136
-rw-r--r--src/buf.c52
-rw-r--r--src/ccl.c15
-rw-r--r--src/dfa.c66
-rw-r--r--src/ecs.c16
-rw-r--r--src/filter.c35
-rw-r--r--src/flex.skl153
-rw-r--r--src/flexdef.h392
-rw-r--r--src/gen.c251
-rw-r--r--src/libmain.c4
-rw-r--r--src/main.c130
-rw-r--r--src/misc.c221
-rw-r--r--src/nfa.c56
-rw-r--r--src/parse.c81
-rw-r--r--src/parse.h28
-rw-r--r--src/parse.y65
-rw-r--r--src/regex.c6
-rw-r--r--src/scan.c2914
-rw-r--r--src/scan.l91
-rw-r--r--src/scanflags.c6
-rw-r--r--src/scanopt.c134
-rw-r--r--src/scanopt.h19
-rw-r--r--src/skel.c99
-rw-r--r--src/stage1scan.c5078
-rw-r--r--src/stage1scan.l1011
-rw-r--r--src/sym.c69
-rw-r--r--src/tables.c13
-rw-r--r--src/tblcmp.c59
-rw-r--r--src/yylex.c6
-rw-r--r--tests/Makefile.am5
-rw-r--r--tests/bison_nr_parser.y2
-rw-r--r--tests/bison_nr_scanner.l2
-rw-r--r--tests/bison_yylloc_scanner.l2
-rw-r--r--tests/bison_yylval_scanner.l2
-rw-r--r--tests/mem_nr.l8
-rw-r--r--tests/mem_r.l8
-rw-r--r--tests/pthread.l2
-rw-r--r--tests/reject.l42
-rw-r--r--tests/string_nr.l2
-rw-r--r--tests/string_r.l2
-rw-r--r--tests/tableopts.l42
-rwxr-xr-xtests/testwrapper.sh10
-rw-r--r--tests/yyextra.l8
104 files changed, 13067 insertions, 6476 deletions
diff --git a/ChangeLog b/ChangeLog
index 183a142..c6fecf8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,591 @@
+2016-03-01 Will Estes <westes575@gmail.com>
+
+ * NEWS: Mention 2.6.1 release date
+
+2016-02-28 rlar <rlar>
+
+ * src/gen.c: avoid warning, add (int) cast to the read() return
+ value For similiarity with the fread() case.
+
+2016-02-28 rlar <rlar>
+
+ * src/scan.l: avoid warning, POSIX says yyless() has an `int'
+ argument
+
+2016-02-29 rlar <rlar>
+
+ * src/filter.c: use type size_t in filter_tee_header() to avoid
+ warnings
+
+2016-02-29 rlar <rlar>
+
+ * src/filter.c, src/misc.c, src/scanopt.c, src/tables.c: add
+ (size_t) casts to malloc invocations to prevent warnings
+
+2016-02-29 rlar <rlar>
+
+ * src/buf.c, src/misc.c, src/scan.l, src/scanopt.c, src/tables.c:
+ add (int) casts to some strlen() invocations to prevent warnings
+
+2016-02-29 rlar <rlar>
+
+ * src/flexdef.h, src/scan.l, src/sym.c: ndlookup(), char *, to get
+ rid of casts and warnings
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h, src/scan.l, src/sym.c: ndinstal(), char *, to get
+ rid of casts and warnings
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h, src/scan.l, src/sym.c: cclinstal() and ccllookup(),
+ char *, to get rid of casts and warnings
+
+2016-02-28 rlar <rlar>
+
+ * src/gen.c: warning: redundant redeclaration of
+ ‘gen_next_state’ [-Wredundant-decls]
+
+2016-02-28 rlar <rlar>
+
+ * src/gen.c: warning: no previous prototype for ‘mkecstbl’
+ [-Wmissing-prototypes]
+
+2016-02-28 rlar <rlar>
+
+ * src/main.c: warning: suggest parentheses around assignment used as
+ truth value [-Wparentheses]
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h: warning: redundant redeclaration of ‘yywrap’
+ [-Wredundant-decls]
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h: warning: redundant redeclaration of ‘yylval’
+ [-Wredundant-decls]
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h: warning: redundant redeclaration of ‘yyin’
+ [-Wredundant-decls]
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h, src/main.c: warning: redundant redeclaration of
+ ‘yyparse’ [-Wredundant-decls]
+
+2016-02-28 rlar <rlar>
+
+ * src/parse.y, src/scan.l, src/yylex.c, to.do/unicode/scan.l:
+ unification, rename some more rename these too for improved similiarity: OPTION_OP OPT_HEADER OPT_EXTRA_TYPE OPT_TABLES
+
+2016-02-28 rlar <rlar>
+
+ * src/parse.y, src/scan.l, src/yylex.c, to.do/unicode/scan.l: fix
+ name clash, OPT_OUTFILE from parse.y and from options.h these collide: OPT_OUTFILE OPT_PREFIX OPT_YYCLASS rename them TOK_... in the
+ parser
+
+2016-02-28 Will Estes <westes575@gmail.com>
+
+ * lib/reallocarray.c: Prototyped reallocarray implementation
+
+2016-02-28 Will Estes <westes575@gmail.com>
+
+ * src/scanopt.c: Removed custom strcasecmp() function
+
+2016-02-28 rlar <rlar>
+
+ * src/flex.skl: fwrite wants a size_t, yyleng is int per posix
+
+2016-02-28 rlar <rlar>
+
+ * src/scanopt.c: Remove some unneeded casts
+
+2016-02-28 rlar <rlar>
+
+ * src/flexdef.h: warning: negative integer implicitly converted to
+ unsigned type [-Wsign-conversion]
+
+2016-02-27 rlar <rlar>
+
+ * src/dfa.c, src/parse.y: dfa.c:157:24: warning: conversion to
+ 'size_t' from 'int' may change the sign of the result
+ [-Wsign-conversion] most certainly safe cast
+
+2016-02-27 rlar <rlar>
+
+ * src/ccl.c: ccl.c:86:19: warning: conversion to 'unsigned char'
+ from 'int' may alter its value [-Wconversion] ch seems to have been checked for proper range some lines above
+
+2016-02-27 rlar <rlar>
+
+ * tests/bison_nr_parser.y: warning: deprecated directive, use
+ '%pure-parser' [-Wdeprecated]
+
+2016-02-27 rlar <rlar>
+
+ * lib/lib.c: warning: no previous prototype for 'do_nothing'
+ [-Wmissing-prototypes]
+
+2016-02-27 rlar <rlar>
+
+ * src/libmain.c: included stdlib.h header
+
+2016-02-27 Will Estes <westes575@gmail.com>
+
+ * NEWS: Described more post v2.6.0 changes
+
+2016-02-27 Will Estes <westes575@gmail.com>
+
+ * configure.ac: build: Removed bzip2 distribiution archive
+
+2016-02-27 Will Estes <westes575@gmail.com>
+
+ * configure.ac: removed obsolete program check
+
+2016-02-27 Will Estes <westes575@gmail.com>
+
+ * configure.ac: Made some program checks more robust
+
+2016-02-27 rlar <rlar>
+
+ * src/flex.skl: Remove unneeded cast to int
+
+2016-02-27 Will Estes <westes575@gmail.com>
+
+ * src/flex.skl: Fixed incorrect integer type
+
+2016-02-27 Will Estes <westes575@gmail.com>
+
+ * src/flex.skl: Fix more integer types, resolves sf 184, 187
+
+2016-02-26 Robert Larice <Robert.Larice@t-online.de>
+
+ * src/flex.skl, src/gen.c: Removed some type conversion warnings
+
+2016-02-26 Will Estes <westes575@gmail.com>
+
+ * src/flex.skl: Changed another buffer size to int; resolves gh#61
+
+2016-02-24 Will Estes <westes575@gmail.com>
+
+ * src/flex.skl: Changed type of yy_n_chars to int; gh#53, sf#160. The variable yy_n_chars had been of type yy_size_t which is
+ incorrect given its use in read(). While it might be adviseable to
+ look at defining a yy_ssize_t, there might be some issues doing this
+ and so, for now, at least, we'll punt back to int.
+
+2016-02-24 Will Estes <westes575@gmail.com>
+
+ * src/buf.c: Fixed size of bufferallocation, resolved gh#54. The value of n_alloc was a count, not a size. Multiplying the value
+ by the element size was incorrect. That multiplication was already
+ being done and having it done twice was incorrect.
+
+2016-02-23 Tobias Klauser <tklauser@distanz.ch>
+
+ * src/scan.l: Allow '%option noline' in flex input file, resolves
+ gh#56. Allow specifying '%option noline' in the input file, leading to the
+ same effect as calling flex with the command line option --noline. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
+
+2016-02-23 Tobias Klauser <tklauser@distanz.ch>
+
+ * src/buf.c, src/main.c: Emit no #line directives if gen_line_dirs
+ is false, resolves igh#55. There are two instances in the code which will print a #line
+ directive to the resulting lexer, regardless of the value of
+ gen_line_dirs. Fix them, so they also respect gen_line_dirs. Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
+
+2016-02-16 Tobias Klauser <tklauser@distanz.ch>
+
+ * lib/lib.c, src/gen.c, src/misc.c, src/scan.l: Converted K&R style
+ function definitions to ANSI C style Consistently make use of the ANSI C function definition style
+ instead of the K&R style.
+
+2016-01-29 Tobias Klauser <tklauser@distanz.ch>
+
+ * src/flex.skl: Used NULL constant instead of plain integer for NULL
+ pointer. The sparse static checker warns about using plain integer 0 as NULL
+ pointers in the generated lexer code. Fix this by using NULL
+ consistently for pointers.
+
+2016-01-29 Tobias Klauser <tklauser@distanz.ch>
+
+ * src/flex.skl: Marked declaration and definition of yy_fatal_error
+ as noreturn. Only the declaration of yy_fatal_error is marked with
+ __attribute__((__noreturn__)) in case GCC >= 3 is used, but not the
+ definition. This leads to the sparse static checker to complain
+ about function declaration mismatch. Fix it by defining a macro yynoreturn and using it for both the
+ declaration and the definition of yy_fatal_error.
+
+2016-01-27 Tobias Klauser <tklauser@distanz.ch>
+
+ * src/flex.skl: Fixed declaration mismatch in yy_fatal_error. The prototype declares yy_fatal_error parameter as "const char
+ msg[]" while the definition uses "const char* msg" (introduced by
+ commit e9d5fc713f61b) which causes the sparse static checkers to
+ produce an error. Fix this by adjusting the definition to use "const char* msg" as
+ well. Also change the C++ version accordingly so it matches the
+ declaration in FlexLexer.hpp.
+
+2016-01-23 Will Estes <westes575@gmail.com>
+
+ * CODE_OF_CONDUCT.md: flex is for flex #NCoC
+
+2016-01-18 Will Estes <westes575@gmail.com>
+
+ * doc/flex.texi: Referred to github for issue tracking, no longer sf
+
+2016-01-10 Egor Pugin <egor.pugin@gmail.com>
+
+ * tests/reject.l4, tests/tableopts.l4: Opened files in binary mode
+ explicitly
+
+2016-01-08 OBATA Akio <obache@NetBSD.org>
+
+ * src/Makefile.am: Linked flex binary against libintl, not libfl. Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
+
+2016-01-08 Michael van Elst <mlelstv@NetBSD.org>
+
+ * src/filter.c: Improved pipe-stdin hack behavior; resolves sf#198. Signed-off-by: Thomas <Klausner wiz@NetBSD.org>
+
+2015-12-27 Will Estes <westes575@gmail.com>
+
+ * configure.ac, src/flexdef.h: Removed no longer needed header
+ checks
+
+2015-12-27 Will Estes <westes575@gmail.com>
+
+ * configure.ac: Checked for reallocarray() with AC_REPLACE_FUNCS
+
+2015-12-27 Will Estes <westes575@gmail.com>
+
+ * src/flexdef.h, src/main.c: include libgen.h from flexdef.h, not
+ main.c
+
+2015-12-25 Michael Reed <m.reed@mykolab.com>
+
+ * src/main.c: Replace basename2() with basename(3). Given the following program: \#include <libgen.h> \#include <stdio.h> /* extracts basename from path, optionally stripping the extension
+ "\.*" * (same concept as /bin/sh `basename`, but different handling
+ of extension). */ static char *basename2 (char *path) { char *b; for (b = path; *path; path++) if (*path == '/') b = path + 1; return b; } static void basename_compare(char *path) { printf("basename: %s\n", basename(path)); printf("basename2: %s\n\n", basename2(path)); } int main (int argc, char *argv[]) { // From http://pubs.opengroup.org/onlinepubs/9699919799/ // ``Sample Input and Output Strings'' basename_compare("/usr/lib"); basename_compare("/usr/"); basename_compare("/"); basename_compare("///"); basename_compare("//usr//lib//"); return 0; } ... and the program's output: basename: lib basename2: lib basename: usr basename2: basename: / basename2: basename: / basename2: basename: lib basename2: ... we can see that basename2() behaves the same as basename(3) in
+ the average use case, but messes up pretty severely in others.
+ Besides that, basename(3) is mandated by POSIX so should be present
+ on modern Unix-like systems, so we shouldn't define it ourselves. Some notes: - it doesn't appear to be mentioned in POSIX, but OpenBSD's
+ basename(3) returns NULL if the returned path componenet is >
+ PATH_MAX, so add a check for that - basename(3) shouldn't return an empty string, so remove the program_name[0] != '\0' check
+
+2015-12-25 Michael Reed <m.reed@mykolab.com>
+
+ * src/main.c: Simplify basename2(). It's only call site does not activate the `strip_ext` code path, so
+ the function can be simplified a lot. While here, remove a double
+ assignment.
+
+2015-12-25 Michael Reed <m.reed@mykolab.com>
+
+ * src/flex.skl, src/misc.c: Cleaned up __STDC__ #ifdefs. Assuming a compiler conforming to the ISO C standard is used, i.e.,
+ __STDC__ is defined to 1, YY_USE_CONST is always defined and can be
+ eliminated.
+
+2015-12-25 Michael Reed <m.reed@mykolab.com>
+
+ * src/flexdef.h, src/main.c, src/scanopt.c, src/scanopt.h,
+ src/sym.c: Remove remaining use of PROTO
+
+2015-12-21 Serguey Parkhomovsky <xindigo@gmail.com>
+
+ * src/buf.c: buf.c: use snprintf
+
+2015-12-19 Will Estes <westes575@gmail.com>
+
+ * configure.ac: build: reformatted AC_CHECK_FUNCS for readability
+
+2015-12-17 Will Estes <westes575@gmail.com>
+
+ * src/scanopt.c: correct function prototype
+
+2015-12-15 Michael Reed <m.reed@mykolab.com>
+
+ * src/main.c, src/scanopt.c, src/sym.c, src/tblcmp.c: Remove more
+ instances of PROTO
+
+2015-12-15 Michael Reed <m.reed@mykolab.com>
+
+ * src/main.c: Removed prototype for main(). It's not called anywhere else so the prototype is not needed. See
+ the C99 standard [1], section 5.1.2.2.1 for more info. [1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
+
+2015-12-13 Michael McConville <mmcco@mykolab.com>
+
+ * src/dfa.c, src/gen.c, src/nfa.c, to.do/unicode/main.c,
+ to.do/unicode/tblcmp.c: Removed more instances of PROTO, ansifying.
+
+2015-12-13 Will Estes <westes575@gmail.com>
+
+ * README: Noted github for issue tracking and pull requests
+
+2015-12-13 Michael McConville <mmcco@mykolab.com>
+
+ * README: Reformatted README; removed sf bug tracking link.
+
+2015-12-13 Michael McConville <mmcco@mykolab.com>
+
+ * src/gen.c, to.do/unicode/gen.c: Removed macros for indentation
+ level. Just increment or decrement the indentation counter. That's less to
+ remember and makes the code more readable. w# Please enter the commit message for your changes. Lines starting
+
+2015-12-12 Mike Frysinger <vapier@gentoo.org>
+
+ * tests/Makefile.am, tests/testwrapper.sh: tests: fixed paths to
+ input files. The current test wrapper works only when the inputs are specified
+ using relative paths. If they're specified with absolute paths, the
+ driver fails to detect the inputs because it always prepends the
+ input dir name which itself is a relative path: $ cd tests $
+ ./testwrapper.sh -d . -i $PWD/reject.txt -t ./reject_ver.table
+ <fails to open inputs> This normally doesn't show up because people run `./configure` or,
+ for out of tree builds, `../configure`. But if you happen to run
+ configure with an absolute path, then automake tends to generate
+ absolute paths as well leading to test failures. Fix all of this by dropping the implicit input directory prepending. - INPUT_NAME is often a list of files, not just a single one - the input directory is used to find the testname tables which are usually generated, so it's impossible to use files from both
+ source and build directories - most of the time, the full/correct path is already specified
+
+2015-12-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac: configure: fixed realloc test. The [] characters are used for quoting in m4, so the attempt to use
+ them in place of `test` fails yielding the warning at build time: .../flex/configure: line 20222: no: command not found
+
+2015-12-12 Michael McConville <mmcco@mykolab.com>
+
+ * src/flexdef.h: Started removal of PROTO macro. The PROTO macro is no longer needed. Additionally, its usage is
+ inconsistent, so we began removing it.
+
+2015-12-12 Michael Reed <m.reed@mykolab.com>
+
+ * Makefile.am, src/main.c: Removed SHORT_FILE_NAMES preprocessor
+ symbol. As a relic of MS-DOS, we don't need this. It's never defined; see 13b5b214f53d1c3354a7ab910bd160c126df1331. Removed additional MSDOS ifdef.
+
+2015-12-11 Michael McConville <mmcco@mykolab.com>
+
+ * configure.ac, lib/reallocarray.c, src/flexdef.h: Added new
+ function reallocarray. This is taken from OpenSSH Portable, which in turn takes it from
+ OpenBSD. reallocarray wraps the stdlib's realloc function. It takes two size
+ arguments and checks for overflow, like calloc, but doesn't zero the
+ memory. Therefore, it allows us to do overflow-safe array
+ reallocations and overflow-safe unzeroed array allocations, which
+ the stdlib allocation functions don't. We have a bunch of specific array allocation macros, none of which
+ check for overflow. reallocarray should be able to replace them.
+
+2015-12-11 Michael McConville <mmcco@mykolab.com>
+
+ * src/flexdef.h: Removed MS-DOS, VMS macros. Given the age of the MS-DOS and VMS platforms, it's likely that no
+ one is building flex on them any more. Additionally, the preferred
+ approach is to test for particular platform features rather than to
+ test for particular platforms.
+
+2015-12-12 Will Estes <westes575@gmail.com>
+
+ * src/flexdef.h, src/main.c: Made search for m4 more explicit.
+
+2015-12-12 Will Estes <westes575@gmail.com>
+
+ * src/flex.skl: Returned 0 from yywrap() instead of EOF
+
+2015-12-11 Will Estes <westes575@gmail.com>
+
+ * src/libmain.c: Changed end of main() in libmain to exit(0)
+
+2015-12-11 Will Estes <westes575@gmail.com>
+
+ * NEWS, configure.ac: Mentioned v2.6.1; documented some changes
+ since v2.6.0
+
+2015-12-11 Will Estes <westes575@gmail.com>
+
+ * README: Updated build documentation; finished sf#155. Removed version numbers for build tools. Noted that version
+ requirements for build tools will be noted in configure.ac. Expanded
+ documentation of building texinfo based docs.
+
+2015-12-11 Will Estes <westes575@gmail.com>
+
+ * doc/Makefile.am: Removed flex.pdf from distribution; partially
+ fixed sf#155
+
+2015-12-11 Will Estes <westes575@gmail.com>
+
+ * src/flex.skl: Commented in C style in skeleton; fixed sf#195
+
+2015-12-10 Will Estes <westes575@gmail.com>
+
+ * .gitignore: Ignored autoscan files
+
+2015-12-09 Will Estes <westes575@gmail.com>
+
+ * configure.ac: Checked for ranlib and strdup() at configure time
+
+2015-12-09 Michael McConville <mmcconville@mykolab.com>
+
+ * src/flexdef.h, src/misc.c, src/tblcmp.c, to.do/unicode/flexdef.h,
+ to.do/unicode/misc.c, to.do/unicode/tblcmp.c: Replace zero_out()
+ with stdlib's memset.
+
+2015-12-09 Michael McConville <mmcconville@mykolab.com>
+
+ * src/flex.skl: Removed memory allocation casts.
+
+2015-12-09 Michael McConville <mmcconville@mykolab.com>
+
+ * src/flexdef.h: Removed alloca() configuration. Since alloca() is dangerous, depricated, we remove it.
+
+2015-12-09 Michael McConville <mmcconville@mykolab.com>
+
+ * src/flexdef.h: Removed implementation of isascii(). POSIX defines isascii(), so it's likely present on anything
+ weactually build flex on these days.
+
+2015-12-09 Michael McConville <mmcconville@mykolab.com>
+
+ * src/main.c, src/scanopt.c, src/tables.c: Removed NULL-checks
+ before free()
+
+2015-12-08 Michael McConville <mmcconville@mykolab.com>
+
+ * src/buf.c, src/dfa.c, src/flexdef.h, src/gen.c, src/scan.l,
+ to.do/unicode/flexdef.h, to.do/unicode/scan.l: Removed flex_free()i,
+ corrected buf_destroy logic. As with flex_alloc(), replace with direct calls to free(). The function buf_destroy is now null safe and the logic was
+ corrected to free() correctly.
+
+2015-12-08 Michael McConville <mmcconville@mykolab.com>
+
+ * src/filter.c, src/flexdef.h, src/misc.c, src/scan.l,
+ src/scanflags.c, to.do/unicode/flexdef.h, to.do/unicode/misc.c,
+ to.do/unicode/scan.l: Removed flex_realloc(). As with flex_alloc(), replace calls to flex_realloc(), which was
+ just a wrapper around realloc().
+
+2015-12-08 Michael McConville <mmcconville@mykolab.com>
+
+ * src/buf.c, src/filter.c, src/flexdef.h, src/main.c, src/misc.c,
+ src/regex.c, src/scan.l, src/scanflags.c, src/sym.c,
+ to.do/unicode/flexdef.h, to.do/unicode/misc.c, to.do/unicode/scan.l:
+ Removed flex_alloc; cleaned up style. The function flex_alloc() was just a wrapper around malloc(). Since
+ this only added unclarity, and the flex_alloc() function is likely a
+ legacy of olden times, remove it in favor of calls to malloc()
+ directly. Style elements cleaned up: * superfluous spacing around parentheses * non-constant initialization in variable declarations * needless casts * almost all uses of assignments as subexpressions
+
+2015-12-07 Michael McConville <mmcconville@mykolab.com>
+
+ * src/dfa.c, src/flexdef.h, src/gen.c, src/main.c, src/scan.l,
+ src/scanopt.c, tests/bison_nr_scanner.l,
+ tests/bison_yylloc_scanner.l, tests/bison_yylval_scanner.l,
+ tests/mem_nr.l, tests/mem_r.l, tests/pthread.l, tests/string_nr.l,
+ tests/string_r.l, tests/yyextra.l, to.do/unicode/scan.l: Remove
+ allocation casts
+
+2015-12-07 Will Estes <westes575@gmail.com>
+
+ * src/.gitignore, src/Makefile.am: Built flex with itself. Changes in scan.l need to be built into flex with the same version
+ of flex in some cases. Since this build requirement is minimal, we
+ simply bootstrap flex unconditionally. We intentionally exclude from version control the bootstrap
+ artifacts as the extra copy of the lexer, the intermediate scanner
+ and the bootstrap executable are not of interest.
+
+2015-12-05 Michael McConville <mmcconville@mykolab.com>
+
+ * src/buf.c, src/dfa.c, src/main.c, src/nfa.c, src/parse.y,
+ src/scan.l, src/scanopt.c, src/sym.c, to.do/unicode/main.c,
+ to.do/unicode/scan.l: Use NULL rather than (type *) 0.
+
+2015-12-05 Michael McConville <mmcconville@mykolab.com>
+
+ * src/flexdef.h, src/misc.c, src/sym.c, to.do/unicode/flexdef.h,
+ to.do/unicode/misc.c: Replace copy_unsigned_string() with xstrdup(). Like copy_string(), copy_unsigned_string() is just a clone of the
+ stlib's strdup(). We only use it twice. I'm pretty confident that
+ char signedness is irrelevant in this case.
+
+2015-12-04 Akim Demaille <akim@lrde.epita.fr>
+
+ * src/FlexLexer.h: Cleaned up white space.
+
+2015-12-04 Akim Demaille <akim@lrde.epita.fr>
+
+ * src/FlexLexer.h: Removed struct keyword before yy_buffer_state
+
+2015-12-04 Akim Demaille <akim@lrde.epita.fr>
+
+ * examples/testxxLexer.l, src/FlexLexer.h, src/flex.skl, src/main.c:
+ Replaced FLEX_STD macro with std::. The std:: construct exists as of C++98, so we can simply assume it
+ is supported.
+
+2015-12-04 Akim Demaille <akim@lrde.epita.fr>
+
+ * src/Makefile.am: Generated skel.c explicitly in srcdir. Rewrote the target for skel.c to explicitly mention the srcdir. This
+ should help when building flex from a directory outside the flex
+ tree. Spread the rule out over several lines to enhance readability.
+
+2015-12-04 Akim Demaille <akim@lrde.epita.fr>
+
+ * autogen.sh: Called glibtoolize if libtoolize run fails. On Mac OS X, libtoolize is known as glibtoolize. In cases where
+ libtoolize is not present, then calling glibtoolize when
+ bootstrapping the build system gives more folks a shot at getting
+ flex built from the ground up.
+
+2015-12-02 Mightyjo <mightyjo@gmail.com>
+
+ * configure.ac: Checked for (g)texi2dvi. Better bison, help2man
+ checks. Added test for presence of (g)texi2dvi program. Gave notice if
+ texi2dvi is unavailable and set TEXI2DVI=: to avoid giving users
+ headaches. Enhanced tests for bison and help2man with notices when the programs
+ aren't found. Set their program variables to use the missing script
+ in build-aux since it's compatible with them.
+
+2015-12-02 Michael McConville <mmcconville@mykolab.com>
+
+ * src/flexdef.h, src/misc.c, src/parse.y, src/scan.l, src/sym.c,
+ src/tables.c, to.do/unicode/flexdef.h, to.do/unicode/misc.c,
+ to.do/unicode/scan.l: Made string copying more standard. copy_string() was a clone of the stdlib's strdup(). For safety,
+ simplicity, and speed, we should use that instead. We introduce
+ xstrdup() which wraps strdup() in a failure upon memory allocation
+ errors.
+
+2015-11-30 Serguey Parkhomovsky <sergueyparkhomovsky@gmail.com>
+
+ * src/scan.l: Error on unbalanced parentheses in rules section.
+
+2015-11-29 Will Estes <westes575@gmail.com>
+
+ * src/Makefile.am: Cleaned up BUILT_SOURCES list. Removed reference to skel.c as a built source since other make rules
+ cover this case.
+
+2015-11-29 Will Estes <westes575@gmail.com>
+
+ * src/Makefile.am: Sorted file names in flex_SOURCES
+
+2015-11-27 Mightyjo <mightyjo@gmail.com>
+
+ * src/ecs.c, src/flexdef.h, src/main.c, src/misc.c, src/scan.l,
+ src/scanopt.c, src/sym.c, src/tblcmp.c: Replaced CHAR macro with
+ unsigned char type. Thanks to Michael McConville for pointing out that the old Char
+ macro causes problems with static analysis. The macro has been
+ removed and replaced with 'unsigned char' throughout the flex
+ sources. The macro is not needed at best and was confusing at worst.
+ It was not used in any of the example files nor was it mentioned in
+ the manual at all.
+
+2015-11-21 Will Estes <westes575@gmail.com>
+
+ * configure.ac: updated syntax of AC_INIT call as per autoupdate
+
+2015-11-21 Will Estes <westes575@gmail.com>
+
+ * tests/Makefile.am: removed extra call to a _CPPFLAGS variable
+
+2015-05-14 Stefan Reinauer <stefan.reinauer@coreboot.org>
+
+ * src/buf.c, src/ccl.c, src/dfa.c, src/ecs.c, src/gen.c,
+ src/main.c, src/misc.c, src/nfa.c, src/parse.y, src/scan.l,
+ src/scanopt.c, src/sym.c, src/tblcmp.c: Switch function definitions
+ from mixed K&R to consistent ANSI C. flex was using K&R function definitions for some functions and ANSI
+ C style in others, sometimes even in the same file. Change the code
+ to consistently use ANSI C. Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
+
+2015-11-16 Mightyjo <mightyjo@gmail.com>
+
+ * tests/Makefile.am: Used in-tree header file for c++ tests.
+
2015-11-17 Will Estes <westes575@gmail.com>
* configure.ac: Declared version 2.6.0
diff --git a/Makefile.am b/Makefile.am
index 076ccad..fd8eb1a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -27,11 +27,6 @@
# and 7-bit scanners when using uncompressed tables (-f or -F options).
# For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256"
# to DEFS.
-#
-# For Vax/VMS, add "-DVMS" to DEFS.
-#
-# For MS-DOS, add "-DMS_DOS" to DEFS. See the directory MISC/MSDOS for
-# additional info.
ACLOCAL_AMFLAGS = -I m4
indent = @INDENT@
diff --git a/NEWS b/NEWS
index 58da291..2dce029 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,46 @@ changes between releases of flex.
See the file COPYING for copying conditions.
+* version 2.6.1 released 2016-03-01
+
+** flex resources
+
+*** The flex project is now hosted at github. Consider this a "period of transition". In particular, you should start at https://github.com/westes/flex for the flex codebase, issue tracking and pull requests.
+
+*** New releases of flex are to be found at https://github.com/westes/flex/releases.
+
+** flex internals
+
+*** Flex now uses more modern and more standard names for variable types. There's more work to be done on that front yet, though.
+
+*** A number of compiler warnings have been remedied.
+
+*** Line directives should now work as expected and be absent when that is expected.
+
+** test suite
+
+*** When running the test suite, c++ files are compiled with the c++ header inside the flex distribution, rather than relying on the build system's flex header , which might not be installed yet or which might be out of date with respect to what flex tests expect.
+
+*** Some portability fixes in the test suite such as opening files for reading in binary mode
+
+** Building flex
+
+*** The file src/scan.c asdistributed with flex source is now built with the current version of flex. Occasionally this had to be done manually to pick up new flex features. It's now just a part of flex's build system.
+
+*** The pdf version of the manual is no longer distributed with flex, although if you have the texinfo package installed, you can still build it.
+
+*** lots of general build system cleanup
+
+*** the build system tries a bit harder to find libtoolize and texi2dvi.
+
+*** When help2man and texi2dvi are missing, the error messages are now much more helpful.
+
+** bug fixes
+
+*** resolved github issues #53, #54, #55, #61.
+
+*** Resolved sf bugs #128, #129, #155, #160, #184, #187, #195.
+
* version 2.6.0 released 2015-11-17
** User Visible Changes
diff --git a/README b/README
index 8906709..4d60614 100644
--- a/README
+++ b/README
@@ -8,15 +8,13 @@ flex can be found at:
http://flex.sourceforge.net/
-Bug reports should be submitted using the SourceForge Bug Tracker for
-flex at:
-
-http://sourceforge.net/tracker/?group_id=97492&atid=618177
-
The flex codebase is kept in git at:
https://github.com/westes/flex
+Bugs and pull requests should be filed against flex using github's
+issue tracker and pull request facilities.
+
There are several mailing lists available as well:
flex-announce@lists.sourceforge.net - where posts will be made
@@ -35,24 +33,15 @@ http://sourceforge.net/mail/?group_id=97492
The flex distribution contains the following files which may be of interest:
README - This file.
-
NEWS - current version number and list of user-visible changes.
-
INSTALL - basic installation information.
-
ABOUT-NLS - description of internationalization support in flex.
-
COPYING - flex's copyright and license.
-
doc/ - user documentation.
-
examples/ - containing examples of some possible flex scanners and a
-few other things. See the file examples/README for more details.
-
+ few other things. See the file examples/README for more details.
TODO - outstanding bug reports, desired features, etc.
-
tests/ - regression tests. See TESTS/README for details.
-
po/ - internationalization support files.
You need the following tools to build flex from the maintainer's
@@ -62,13 +51,24 @@ compiler suite - flex is built with gcc
bash, or a good Bourne-style shell
m4 - m4 -p needs to work; GNU m4 and a few others are suitable
GNU bison; to generate parse.c from parse.y
-autoconf 2.69; for handling the build system
-automake 1.12.2; for Makefile generation
-gettext 0.18; fori18n support
-help2man 1.36; to generate the flex man page
+autoconf; for handling the build system
+automake; for Makefile generation
+gettext; for i18n support
+help2man; to generate the flex man page
tar, gzip, etc.; for packaging of the source distribution
-GNU texinfo 498; to build and test the flex manual
-GNU indent 2.8; for indenting the flex source the way we want it done
+
+GNU texinfo; to build and test the flex manual. Note that if you want
+to build the dvi/ps/pdf versions of the documentation you will need
+texi2dvi and related programs, along with a sufficiently powerful
+implementation of \TeX to process them. See your operating system
+documentation for how to achieve this. The printable versions of the
+manual are not built unless specifically requested, but the targets
+are included by automake.
+
+GNU indent; for indenting the flex source the way we want it done
+
+In cases where the versions of the above tools matter, the file
+configure.ac will specify the minimum required versions.
Once you have all the necessary tools installed, life becomes
simple. To prepare the flex tree for building, run the script:
diff --git a/autogen.sh b/autogen.sh
index 627f92e..46611bf 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -29,5 +29,5 @@
#Makefile first.)
touch ChangeLog
-libtoolize --install --force
+libtoolize --install --force || glibtoolize --install --force
autoreconf --install --force
diff --git a/configure.ac b/configure.ac
index 426877a..d80a9d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,12 +24,11 @@
# autoconf requirements and initialization
-AC_INIT([the fast lexical analyser generator], [2.6.0],
-[flex-help@lists.sourceforge.net], [flex])
+AC_INIT([the fast lexical analyser generator],[2.6.1],[flex-help@lists.sourceforge.net],[flex])
AC_CONFIG_SRCDIR([src/scan.l])
AC_CONFIG_AUX_DIR([build-aux])
LT_INIT
-AM_INIT_AUTOMAKE([gnu check-news std-options dist-bzip2 dist-xz parallel-tests 1.14.1])
+AM_INIT_AUTOMAKE([gnu check-news std-options dist-xz parallel-tests 1.14.1])
AC_CONFIG_HEADER([src/config.h])
AC_CONFIG_LIBOBJ_DIR([lib])
AC_CONFIG_MACRO_DIR([m4])
@@ -49,8 +48,21 @@ AC_PROG_LN_S
AC_PROG_AWK
AC_PROG_INSTALL
-AC_PATH_PROG(BISON, bison,bison)
-AC_PATH_PROG(HELP2MAN, help2man, help2man)
+AC_PATH_PROG([BISON], bison, no)
+AS_IF([test "$BISON" != no],[],
+ [ AC_SUBST([BISON], [\${top_srcdir}/build-aux/missing bison])
+ AC_MSG_NOTICE(no bison program found: only required for maintainers)
+ ])
+
+AC_PATH_PROG([HELP2MAN], help2man, [\${top_srcdir}/build-aux/missing help2man])
+ AS_IF([test -z "$ac_cv_path_HELP2MAN" ],[],
+ AC_MSG_WARN(program not found: help2man: building man page will not work)
+ )
+
+AC_PATH_PROGS([TEXI2DVI], [gtexi2dvi texi2dvi], [\${top_srcdir}/build-aux/missing texi2dvi])
+ AS_IF([test -z "$ac_cv_path_TEXI2DVI" ], [],
+ AC_MSG_WARN(texi2dvi: program not found: building pdf version of manual will not work)
+ )
if test "$cross_compiling" = yes; then
FLEXexe='flex$(EXEEXT)'
@@ -86,9 +98,7 @@ fi
# checks for headers
-AC_HEADER_STDC
-AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h regex.h stddef.h stdlib.h string.h strings.h unistd.h])
+AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h regex.h unistd.h])
# checks for libraries
@@ -117,7 +127,17 @@ AC_FUNC_ALLOCA
AC_FUNC_FORK
AC_FUNC_MALLOC
AC_FUNC_REALLOC
-AC_CHECK_FUNCS([dup2 isascii memset pow regcomp setlocale strchr strtol])
+
+AC_CHECK_FUNCS(dup2 dnl
+memset dnl
+pow dnl
+regcomp dnl
+setlocale dnl
+strchr dnl
+strdup dnl
+strtol)
+
+AC_REPLACE_FUNCS(reallocarray)
# are we ignoring tests
AM_CONDITIONAL([SKIP_TEST], [ "$(echo $DEB_BUILD_OPTIONS | grep nocheck)" ])
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 9751198..f21729c 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -2,7 +2,6 @@ help2man = @HELP2MAN@
info_TEXINFOS = flex.texi
dist_man_MANS = flex.1
-dist_doc_DATA= flex.pdf
CLEANFILES = \
flex.aux \
diff --git a/doc/flex.texi b/doc/flex.texi
index 9b7d83f..af639f1 100644
--- a/doc/flex.texi
+++ b/doc/flex.texi
@@ -296,8 +296,7 @@ Indices
@cindex reporting bugs
If you find a bug in @code{flex}, please report it using
-the SourceForge Bug Tracking facilities which can be found on
-@url{http://sourceforge.net/projects/flex,flex's SourceForge Page}.
+GitHub's issue tracking facility at @url{https://github.com/westes/flex/issues/}
@node Introduction, Simple Examples, Reporting Bugs, Top
@chapter Introduction
diff --git a/examples/testxxLexer.l b/examples/testxxLexer.l
index e2aed33..a3c4735 100644
--- a/examples/testxxLexer.l
+++ b/examples/testxxLexer.l
@@ -39,13 +39,13 @@ number {num1}|{num2}
}
}
-{number} FLEX_STD cout << "number " << YYText() << '\n';
+{number} std::cout << "number " << YYText() << '\n';
\n mylineno++;
-{name} FLEX_STD cout << "name " << YYText() << '\n';
+{name} std::cout << "name " << YYText() << '\n';
-{string} FLEX_STD cout << "string " << YYText() << '\n';
+{string} std::cout << "string " << YYText() << '\n';
%%
diff --git a/lib/Makefile.in b/lib/Makefile.in
index 158a047..30a2fe8 100644
--- a/lib/Makefile.in
+++ b/lib/Makefile.in
@@ -174,7 +174,8 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in \
- $(top_srcdir)/build-aux/depcomp malloc.c realloc.c
+ $(top_srcdir)/build-aux/depcomp malloc.c realloc.c \
+ reallocarray.c
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
@@ -264,6 +265,7 @@ SET_MAKE = @SET_MAKE@
SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
SHELL = @SHELL@
STRIP = @STRIP@
+TEXI2DVI = @TEXI2DVI@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
@@ -383,6 +385,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/malloc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/realloc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/reallocarray.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lib.Plo@am__quote@
.c.o:
diff --git a/lib/lib.c b/lib/lib.c
index a8ff70f..4b4bf73 100644
--- a/lib/lib.c
+++ b/lib/lib.c
@@ -3,5 +3,7 @@
* moving something that flex treats as a library function into this
* directory. */
-void do_nothing(){ return;}
+extern void do_nothing(void);
+
+void do_nothing(void){ return;}
diff --git a/lib/reallocarray.c b/lib/reallocarray.c
new file mode 100644
index 0000000..0c1e250
--- /dev/null
+++ b/lib/reallocarray.c
@@ -0,0 +1,49 @@
+/* $OpenBSD: reallocarray.c,v 1.2 2014/12/08 03:45:00 bcook Exp $ */
+/*
+ * Copyright (c) 2008 Otto Moerbeek <otto@drijf.net>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/* OPENBSD ORIGINAL: lib/libc/stdlib/reallocarray.c */
+
+#include <config.h>
+#ifndef HAVE_REALLOCARRAY
+#undef reallocarray
+
+#include <sys/types.h>
+#include <errno.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <stdlib.h>
+
+void *reallocarray(void *, size_t, size_t);
+
+/*
+ * This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX
+ * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW
+ */
+#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
+
+void *
+reallocarray(void *optr, size_t nmemb, size_t size)
+{
+ if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
+ nmemb > 0 && SIZE_MAX / nmemb < size) {
+ errno = ENOMEM;
+ return NULL;
+ }
+ return realloc(optr, size * nmemb);
+}
+#endif /* HAVE_REALLOCARRAY */
diff --git a/po/ca.gmo b/po/ca.gmo
index 3454770..70984f8 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index bc782bf..a26f5fe 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/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"
-#: src/buf.c:101
+#: 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"
-#: src/buf.c:178
+#: 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"
@@ -32,26 +32,26 @@ msgstr "Ha fallat l'assignació d'un búfer per la definició m4"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Ha fallat l'assignació d'un búfer per la indefinició m4"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "L'estat #%d és no-acceptar -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "Context posterior perillós"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " números de línia associats a la regla:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " fi de transicions: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" transicions de bloqueig: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "la comprovació de consistència ha fallat en epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,24 +76,24 @@ msgstr ""
"Bolcat AFD:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "no s'ha pogut crear un estat únic de final-de-búfer"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "estat # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "No s'ha pogut escriure yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "caràcter de transició incorrecte detectat en sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -105,29 +105,29 @@ msgstr ""
"Classes d'equivalència:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "l'estat # %d accepta: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "l'estat # %d accepta: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "No s'ha pogut escriure yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "No s'ha pogut escriure yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "No s'ha pogut escriure ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,289 +137,289 @@ msgstr ""
"\n"
"Classes de metaequivalència:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "No s'ha pogut escriure yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "No s'ha pogut escriure yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "No s'ha pogut escriure yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "No s'ha pogut escriure yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "No s'ha pogut escriure yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "No s'ha pogut escriure ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "No s'ha pogut escriure ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "No s'ha pogut escriure eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "No s'ha pogut escriure yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "no es pot satisfer la regla"
-#: src/main.c:197
+#: src/main.c:184
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"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "No es pot fer servir -+ amb l'opció -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "No es pot fer servir -f o -F amb l'opció -l"
-#: src/main.c:244
+#: src/main.c:229
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"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF i -Cm no tenen sentit juntes"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF i -I són incompatibles"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF són incompatibles amb el mode de compatibilitat amb lex"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf i -CF són mútuament excloents"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "No es pot fer servir -+ amb l'opció -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array és incompatible amb l'opció -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Les opcions -+ i --reentrant són mútuament excloents"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "No es suporta «bison bridge» per a l'analitzador de C++"
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "no s'ha pogut crear %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "no s'ha pogut crear la capçalera de les taules"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "No es pot obrir el fitxer d'esquema %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "Ha fallat l'assignació de la definició de la macro"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "error d'entrada al llegir el fitxer d'esquema %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "s'ha produït un error en tancar el fitxer d'esquema %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "s'ha produït un error en crear el fitxer de capçalera %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "s'ha produït un error en escriure el fitxer d'eixida %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "s'ha produït un error en tancar el fitxer d'eixida %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "s'ha produït un error en suprimir el fitxer d'eixida %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "No hi ha retrocés.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d estats de retrocés (no-acceptació).\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Les taules comprimides sempre impliquen un retard.\n"
-#: src/main.c:728
+#: src/main.c:749
#, 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"
-#: src/main.c:732
+#: src/main.c:753
#, 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"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "estadístiques d'ús de %s versió %s:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " opcions de l'analitzador: -"
# NFA == Autómata finit no-determinista. jm
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d estats AFN\n"
# DFA == Autómata finit deterministic. jm
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d estats AFD (%d paraules)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d regles\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Sense retrocés\n"
-#: src/main.c:832
+#: src/main.c:853
#, 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
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Sempre es realitza còpia de seguretat de les taules comprimides\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Utilitzats patrons de principi-de-línia\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d condicions d'activació\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d estats èpsilon, %d estats doble èpsilon\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " sense classes de caràcter\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d parells estat/estat-següent creats\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d transicions úniques/duplicades\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d entrades de la taula\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d entrades base-def creades\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (pic %d) entrades nxt-chk creades\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d entrades de la tabla buides\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototips creats\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d plantilles creades, %d usos\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d classes d'equivalència creades\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d classes de meta-equivalència creades\n"
@@ -428,65 +428,65 @@ msgstr " %d/%d classes de meta-equivalència creades\n"
# 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
-#: src/main.c:915
+#: src/main.c:936
#, 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"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " es necessiten %d conjunts de relocalització\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " es necessiten %d entrades totals de la taula\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Error intern. Els flexopts estan malformats.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Proveu «%s --help» per a obtindre més informació.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "opció de -C desconeguda «%c»"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
# Hmm. No se si açò està be. jm
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "s'ha produït un error fatal d'anàlisi sintàctic"
-#: src/main.c:1500
+#: src/main.c:1519
#, 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"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -495,48 +495,48 @@ msgstr ""
"l'%%opció yylineno implica una penalització del rendiment NOMÉS en regles "
"que poden fer coincidir caràcters de nova línia\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interactiu) implica una xicoteta penalització del rendiment\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() implica una xicoteta penalització del rendiment\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT implica una penalització del rendiment molt gran\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT no es pot fer servir amb -f o -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "l'%opció yylineno no es pot fer servir amb REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "l'%opció yyclass només té sentit per a analitzadors de C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Forma d'ús: %s [OPCIONS] [FITXER]...\n"
@@ -545,7 +545,7 @@ msgstr "Forma d'ús: %s [OPCIONS] [FITXER]...\n"
# molt això de text emparellat.
# Encara que coincident tampoc no m'acaba de convéncer. ear
# I que faig amb "reentrant" i "parser"? jm
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -688,47 +688,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "Ha fallat l'assignació de «sko_stack»"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "el nom «%s» és ridículament llarg"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "ha fallat l'assignació de memòria en allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "caràcter incorrecte «%s» detectat en check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "errada de la memòria dinàmica en copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "ha fallat l'assignació de memòria en allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: error intern fatal, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "ha fallat l'intent d'augmentar la mida de la matriu"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "línia incorrecta en el fitxer d'esquema"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "ha fallat l'assignació de memòria en yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -739,39 +740,39 @@ msgstr ""
"\n"
"********** s'està començant el bolcat de l'afn amb l'estat inicial %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "estat # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** final del bolcat\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "màquina buida en dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "tipus d'estat incorrecte en mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "les regles d'entrada són massa complicades (>= %d estats AFN)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "s'han trobat massa transicions en mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "massa regles (> %d)!"
@@ -854,16 +855,16 @@ msgstr "El valor de la definició de {%s} és massa llarg\n"
msgid "incomplete name definition"
msgstr "definició del nom incompleta"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "La línia d'opcions és massa llarga\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "%%opció no reconeguda: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "classe de caràcter incorrecta"
@@ -872,85 +873,89 @@ msgstr "classe de caràcter incorrecta"
msgid "undefined definition {%s}"
msgstr "definició no definida {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "<condició d'activació> incorrecta: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "manca una cometa"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "expressió de la classe de caràcters incorrecta: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "caràcter incorrecte dins de {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "manca una }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "s'ha trobat un EOF dins d'una acció"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "s'ha trobat un EOF dins d'un patró"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "caràcter incorrecte: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "no es pot obrir %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Forma d'ús: %s [OPCIONS]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "l'opció «%s» no accepta arguments\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "l'opció «%s» requereix un argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "l'opció «%s» és ambígua\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Opció no reconeguda «%s»\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Error desconegut=(%d)\n"
-#: src/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"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "el nom ha sigut definit dos vegades"
-#: src/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"
@@ -969,6 +974,9 @@ msgstr "Marcador de fi\n"
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"
diff --git a/po/da.gmo b/po/da.gmo
index 23bbd7d..1afad5b 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 429a4ab..0bf61d5 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex-2.5.38\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -17,15 +17,15 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Tildeling af buffer til udskrivningsstreng mislykkedes"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Tildeling af buffer til linjedirektiv mislykkedes"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Tildeling af buffer til m4 def mislykkedes"
@@ -33,26 +33,26 @@ msgstr "Tildeling af buffer til m4 def mislykkedes"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Tildeling af buffer til m4 undef mislykkedes"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Tilstand %d er ikke-accepterende -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "farlig efterflgende kontekst"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " linjenummer for associeret regel:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " ud-overgange: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -61,11 +61,11 @@ msgstr ""
"\n"
" stopovergange: filslut "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "konsistenskontrollen mislykkedes i epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -77,26 +77,26 @@ msgstr ""
"DFA-udskrift:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "kunne ikke oprette en unik buffersluttilstand"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "tilstand %d:\n"
# Dette er ju helt sjukt. Har buggrapporteret dette at det br
# erstatas med %s
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Kunne ikke skrive yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "forkert overgangstegn fundet i sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -108,29 +108,29 @@ msgstr ""
"kvivalensklasser:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "tilstand %d accepterer: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "tilstand %d accepterer: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Kunne ikke skrive yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Kunne ikke skrive yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Kunne ikke skrive esctbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -140,344 +140,344 @@ msgstr ""
"\n"
"Meta-kvivalensklasser:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Kunne ikke skrive yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "kunne ikke oprette yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Kunne ikke oprette yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Kunne ikke skrive yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Kunne ikke skrive yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Kunne ikke skrive ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Kunne ikke skrive ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Kunne ikke skrive eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Kunne ikke skrive yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "reglen kan ikke matches"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "flaget -s angivet, men standardreglen kan flges"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "-+ kan ikke bruges sammen med flaget -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "-f eller -F kan ikke bruges sammen med -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Kan ikke bruge --reentrant eller --bison-bridge sammen med flaget -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF og -Cm kan ikke bruges sammen"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF og -I kan ikke bruges sammen"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF kan ikke bruges i lex-kompatibilitetstilstand"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf og -CF er gensidigt udelukkende"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "-+ kan ikke bruges sammen med flaget -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "-+ kan ikke bruges sammen med %array"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Flagene -+ og --reentrant er gensidigt udelukkende."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bisonbro understttes ikke for C++-skanneren."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "kunne ikke oprette %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "kunne ikke skrive tabellhoved"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "kan ikke bne skabelonfilen %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "tildeling af makro-definition mislykkedes"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "fejl ved lsning af skabelonsfilen %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "fejl ved lukning af skabelonfilen %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "fejl ved oprettelsen af headerfilen %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "fejl ved skrivning af udfilen %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "fejl ved lukning af udfilen %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "fejl ved sletning af udfilen %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Ingen sikkerhedskopiering.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d sikkerhedskopierer (ikke-accepterende) tilstande.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Komprimerete tabeller backer alltid tillbaka.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "fejl ved skrivning af sikkerhedskopifilen %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "fejl ved lukning af sikerhedskopifilen %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "Statistik over brugaf %s version %s:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " fortolkningsflag: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA-tilstand\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA-tilstand (%d ord)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d regler\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Ingen sikkerhedskopiering\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d sikkerhedskopierer (ikke-accepterende) tilstande.\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Komprimerede tabeller bakker altid tilbake\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Begyndelse-af-linje-mnster brugt\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d startbetingelse\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilontilstande, %d dobbelte epsilontilstande\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " ingen tegnklasser\n"
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr " %d/%d tegnklasser behvede %d/%d ord for gemning, %d genbrugte\n"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d par med tilstand/nste-tilstand oprettede\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d unikke/duplikerede overgange\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d tabelposter\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base/standard-poster oprettede\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (max %d) nste/test-poster oprettede\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (max %d) skablon-nste/test-poster oprettede\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d tomme tabelposter\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototyper oprettede\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d skabloner oprettede, %d forml\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d kvivalensklasser oprettet\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d meta-kvivalensklasser oprettede\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d gemte) hash-kollisioner, %d DFA'er er ens\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d opstninger med omallokeringer krvedes\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d totale tabelposter krves\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Intern fejl. flexopts er fejlbehftede.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Prv '%s --help' for mere information.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "ukendt flag til -C '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "uoprettelig fejl ved analysen"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "kunne ikke oprette sikkerhedskopi af info-fil %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
"flaget -l for opfrsel som AT&T's lex medfrer et vsentligt prstationstab\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " og kan vre den egentlige rsag til andre rapporter om dette\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -486,54 +486,54 @@ msgstr ""
"%%option yylineno medfrer et prstationstab KUN p regler der kan matche "
"nylinje-tegn\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interaktiv) medfrer et mindre prstationstab\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() medfrer et mindre prstationstab\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT medfrer et vsentligt prstationstab\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
"Regler for variabel efterflgende kontekst medfrer et vsentlig "
"prstationstab\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT kan ikke bruges sammen med -f eller -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno kan ikke bruges sammen med REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"regler for variabel efterflgende kontekst kan ikke bruges\n"
"sammen med -f eller -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass er kun meningsfyldt for C++-fortolkere"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Brug: %s [FLAG] [FIL]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -668,47 +668,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "tildeling af sko_stack mislykkedes"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "navnet '%s' er latterligt langt"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "hukommelsestildelingen mislykkedes i allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "forkert tegn '%s' fundet i check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "skanneren krver flaget -8 for at kunne bruge tegnet %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamisk hukommelsesfejl i copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "hukommelsestildelingen mislykkedes i allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: uoprettelig intern fejl, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "forsg p at ge arraystrrelse mislykkedes"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "forkert linje i skeletfilen"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "hukommelsestildelingen mislykkedes i yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -719,39 +720,39 @@ msgstr ""
"\n"
"********** begynder udskrift af nfa med starttilstand %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "tilstand %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** slut p udskrift\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "tom maskine i dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Regel for variabel efterflgende kontekst p linje %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "forkert tilstandstype i mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "inddatareglerne er for komplicerede (>= %d NFA-tilstand)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "fandt for mange overgange i mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "for mange regler (> %d)!"
@@ -828,16 +829,16 @@ msgstr "Definitionsvrdi for (%s) for langt\n"
msgid "incomplete name definition"
msgstr "ufuldstndig navnedefinition"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "For lang valgmulighedslinje\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "ukendt %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "forkert tegnklasse"
@@ -846,85 +847,89 @@ msgstr "forkert tegnklasse"
msgid "undefined definition {%s}"
msgstr "udefinieret definition {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "forkert <startbetingelse>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "citationstegn savnes"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "forkert udtryk for tegnklasse: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "forkert tegn imellem {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "} savnes"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "filslutning mdt inden i en handling"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "filslutning mdt inden i et mnster"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "forkert tegn: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "kan ikke bne %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Brug: %s [FLAG]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "flaget '%s' tager ikke noget argument\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "flaget '%s' krver et argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "flaget '%s' er flertydig\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Ukendt flag: '%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Ukendt fejl=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "hukommelsestildeling for symboltabel mislykkedes"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "navnet defineret to gange"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "startbetingelse %s deklareret to gange"
@@ -942,3 +947,6 @@ msgstr "Slutmarkering\n"
#, c-format
msgid "*Something Weird* - tok: %d val: %d\n"
msgstr "*Noget mrkeligt* - tegn: %d vrdi: %d\n"
+
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "dynamisk hukommelsesfejl i copy_string()"
diff --git a/po/de.gmo b/po/de.gmo
index 5b3bfa7..3418861 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 6500a64..8de1586 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.36\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Anlegen des Puffers zur Ausgabe der Zeichenkette fehlgeschlagen"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Anlegen des Puffers für Zeilen-Direktive fehlgeschlagen"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Anlegen des Puffers für m4 def fehlgeschlagen"
@@ -32,26 +32,26 @@ msgstr "Anlegen des Puffers für m4 def fehlgeschlagen"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Anlegen des Puffers für m4 undef fehlgeschlagen"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Zustand #%d ist nicht-akzeptierend –\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "gefährlicher folgender Kontext"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " verbundene Regelzeilennummern"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " Aus-Übergänge: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" Hemm-Übergänge: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "Konsistenzprüfung fehlgeschlagen in epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,24 +76,24 @@ msgstr ""
"DFA-Ausgabe:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "konnte keinen einzigartigen Ende-des-Puffers-Zustand erzeugen"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "Zustand # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Konnte yynxt_tbl[][] nicht schreiben"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "ungültiges Übergangszeichen in sympartition() entdeckt"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -105,29 +105,29 @@ msgstr ""
"Äquivalenz-Klassen:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "Zustand # %d akzeptiert: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "Zustand # %d akzeptiert: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Konnte yyacclist_tbl nicht schreiben"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Konnte yyacc_tbl nicht schreiben"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Konnte ecstbl nicht schreiben"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,347 +137,347 @@ msgstr ""
"\n"
"Meta-Äquivalenz-Klassen:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Konnte yymeta_tbl nicht schreiben"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Konnte yybase_tbl nicht schreiben"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Konnte yydef_tbl nicht schreiben"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Konnte yynxt_tbl nicht schreiben"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Konnte yychk_tbl nicht schreiben"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Konnte ftbl nicht schreiben"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Konnte ssltbl nicht schreiben"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Konnte eoltbl nicht schreiben"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Konnte yynultrans_tbl nicht schreiben"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "Regel kann nicht passen"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "„-s“-Option gegeben, aber Vorgabe-Regel kann nicht passen"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Kann nicht „-+“ zusammen mit „-l“-Option verwenden"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Kann nicht „-f“ oder „-F“ zusammen mit „-l“-Option verwenden"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr ""
"Kann nicht „--reentrant“ oder „--bison-bridge“ mit „-l“-Option verwenden"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "„-Cf“/„-CF“ und „-Cm“ sind zusammen nicht sinnvoll"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "„-Cf“/„-CF“ und „-I“ sind inkompatibel"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "„-Cf“/„-CF“ sind inkompatibel mit lex-Kompatibilitätsmodus"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "„-Cf“ und „-CF“ schließen sich gegenseitig aus"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Kann nicht „-+“ zusammen mit „-CF“-Option verwenden"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "„%array“ inkompatibel mit „-+“-Option"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Optionen „-+“ und „--reentrant“ schließen sich gegenseitig aus."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "Brücke zu Bison für den C++-Scanner nicht unterstützt."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "konnte %s nicht erzeugen"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "konnte Tabellenköpfe nicht schreiben"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "kann Skelett-Datei %s nicht öffnen"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "Anlegen der Makrodefinition fehlgeschlagen"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "Eingabefehler beim Lesen der Skelett-Datei %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "Fehler beim Schließen der Skelett-Datei %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "Fehler beim Erstellen der Header-Datei %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "Fehler beim Schreiben der Ausgabe-Datei %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "Fehler beim Schließen der Ausgabe-Datei %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "Fehler beim Löschen der Ausgabe-Datei %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Kein Backing-up.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d Zustände mit Backing-up (nicht akzeptierend).\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Komprimierte Tabellen benutzen immer Backing-up.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "Fehler beim Schreiben der Backup-Datei %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "Fehler beim Schließen der Backup-Datei %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s Version %s Benutzungsstatistiken:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " Scanner-Optionen: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA-Zustände\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA-Zustände (%d Wörter)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d Regeln\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Kein Backing-up.\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d Zustände mit Backing-up (nicht akzeptierend).\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Komprimierte Tabellen benutzen immer Backing-up.\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Zeilenanfang-Muster benutzt\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d Startbedingungen\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d Epsilon-Zustände, %d Doppel-Epsilon-Zustände\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " keine Zeichenklassen\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d Zustand/Nächster-Zustand-Paare erzeugt\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d einzigartige/doppelte Übergänge\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d Tabelleneinträge\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d Einträge „base-def“ erzeugt\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (max. %d) Einträge „nxt-chk“ erzeugt\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d leere Tabelleneinträge\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d Protos erzeugt\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d Schablonen erzeugt, %d Benutzungen\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d Äquivalenz-Klassen erzeugt\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d Meta-Äquivalenz-Klassen erzeugt\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d gespeichert) Hash-Kollisionen, %d DFAs gleich\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d Sätze von Neuallozierungen benötigt\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d Tabelleneinträge insgesamt benötigt\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Interner Fehler. flexopts sind missgestaltet.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Versuchen Sie es mit „%s --help“ für mehr Informationen.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "unbekannte „-C“-Option „%c“"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "fataler Parse-Fehler"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "konnte Datei %s mit Informationen zum Backing-up nicht erzeugen"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -486,54 +486,54 @@ msgstr ""
"%%option yylineno führt zu Geschwindigkeitseinbußen NUR für Regeln, die auf "
"einen Zeilenvorschub passen können\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interaktiv) führt zu kleineren Geschwindigkeitseinbußen\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() führt zu kleineren Geschwindigkeitseinbußen\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT führt zu großen Geschwindigkeitseinbußen\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT kann nicht mit „-f“ oder „-F“ zusammen verwendet werden"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno kann nicht mit REJECT zusammen verwendet werden"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass ist nur bei C++-Scannern sinnvoll"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Aufruf: %s [OPTIONEN...] [DATEI...]\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -671,47 +671,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "Anlegen des sko_stack fehlgeschlagen"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "name „%s“ ist lächerlich lang"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "Speicheranforderung in allocate_array() fehlgeschlagen"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "ungültiges Zeichen „%s“ in check_char() entdeckt"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "Fehler beim dynamischen Speicher in copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "Speicheranforderung in allocate_array() fehlgeschlagen"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: fataler interner Fehler, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "Versuch, die Feldgröße zu erhöhen, fehlgeschlagen"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "ungültige Zeile in Skelettdatei"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "Speicheranforderung in yy_flex_xmalloc() fehlgeschlagen"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -722,39 +723,39 @@ msgstr ""
"\n"
"********** beginne Ausgabe von NFA mit Startzustand %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "Zustand # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** end der Ausgabe\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "leere Maschine in dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "ungültiger Zustandstyp in mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "Eingaberegeln sind zu kompliziert (>= %d NFA-Zustände)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "zu viele Übergänge in mkxtion() gefunden"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "zu viele Regeln (> %d)!"
@@ -837,16 +838,16 @@ msgstr "Definitionswert für {%s} ist zu lang\n"
msgid "incomplete name definition"
msgstr "unvollständige Namensdefinition"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Optionszeile zu lang\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "nicht erkannte %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "ungültige Zeichenklasse"
@@ -855,85 +856,89 @@ msgstr "ungültige Zeichenklasse"
msgid "undefined definition {%s}"
msgstr "undefinierte Definitione {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "ungültige <Startbedingung>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "fehlendes Anführungszeichen"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "ungültiger Zeichenklassenausdruck: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "ungültiges Zeichen innerhalb von {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "fehlende }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF innerhalb einer Aktion angetroffen"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "EOF innerhalb eines Musters angetroffen"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "ungültiges Zeichen: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "kann %s nicht öffnen"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Aufruf: %s [OPTIONEN...]\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "Option „%s“ erlaubt kein Argument\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "Option „%s“ verlangt ein Argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "Option „%s“ ist mehrdeutig\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "nicht erkannte Option „%s“\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Unbekannter Fehler=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "Speicheranforderung für Symboltabelle fehlgeschlagen"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "Name zweimal definiert"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "Startbedingung %s zweimal definiert"
@@ -952,6 +957,9 @@ msgstr "Endemarkierung\n"
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/en@boldquot.gmo b/po/en@boldquot.gmo
index 3e64130..4708233 100644
--- a/po/en@boldquot.gmo
+++ b/po/en@boldquot.gmo
Binary files differ
diff --git a/po/en@boldquot.po b/po/en@boldquot.po
index a039178..3ecece1 100644
--- a/po/en@boldquot.po
+++ b/po/en@boldquot.po
@@ -1,6 +1,6 @@
# English translations for flex package.
# This file is put in the public domain.
-# Automatically generated, 2015.
+# Automatically generated, 2016.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -29,10 +29,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: flex 2.6.0\n"
+"Project-Id-Version: flex 2.6.1\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
-"PO-Revision-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
+"PO-Revision-Date: 2016-03-01 19:54-0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en@boldquot\n"
@@ -41,15 +41,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Allocation of buffer to print string failed"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Allocation of buffer for line directive failed"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Allocation of buffer for m4 def failed"
@@ -57,26 +57,26 @@ msgstr "Allocation of buffer for m4 def failed"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Allocation of buffer for m4 undef failed"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "State #%d is non-accepting -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "dangerous trailing context"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " associated rule line numbers:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " out-transitions: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -85,11 +85,11 @@ msgstr ""
"\n"
" jam-transitions: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "consistency check failed in epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -101,24 +101,24 @@ msgstr ""
"DFA Dump:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "could not create unique end-of-buffer state"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "state # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Could not write yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "bad transition character detected in sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -130,29 +130,29 @@ msgstr ""
"Equivalence Classes:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "state # %d accepts: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "state # %d accepts: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Could not write yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Could not write yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Could not write ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -162,344 +162,344 @@ msgstr ""
"\n"
"Meta-Equivalence Classes:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Could not write yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Could not write yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Could not write yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Could not write yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Could not write yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Could not write ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Could not write ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Could not write eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Could not write yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "rule cannot be matched"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "-s option given but default rule can be matched"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Can't use -+ with -l option"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Can't use -f or -F with -l option"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Can't use --reentrant or --bison-bridge with -l option"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF and -Cm don't make sense together"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF and -I are incompatible"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF are incompatible with lex-compatibility mode"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf and -CF are mutually exclusive"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Can't use -+ with -CF option"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array incompatible with -+ option"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Options -+ and --reentrant are mutually exclusive."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison bridge not supported for the C++ scanner."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "could not create %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "could not write tables header"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "can't open skeleton file %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "allocation of macro definition failed"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "input error reading skeleton file %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "error closing skeleton file %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "error creating header file %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "error writing output file %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "error closing output file %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "error deleting output file %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "No backing up.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d backing up (non-accepting) states.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Compressed tables always back up.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "error writing backup file %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "error closing backup file %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s version %s usage statistics:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " scanner options: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA states\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA states (%d words)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d rules\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " No backing up\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d backing-up (non-accepting) states\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Compressed tables always back-up\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Beginning-of-line patterns used\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d start conditions\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilon states, %d double epsilon states\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " no character classes\n"
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr " %d/%d character classes needed %d/%d words of storage, %d reused\n"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d state/nextstate pairs created\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d unique/duplicate transitions\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d table entries\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def entries created\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (peak %d) nxt-chk entries created\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (peak %d) template nxt-chk entries created\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d empty table entries\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d protos created\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d templates created, %d uses\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d equivalence classes created\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d meta-equivalence classes created\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d saved) hash collisions, %d DFAs equal\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d sets of reallocations needed\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d total table entries needed\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Internal error. flexopts are malformed.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Try ‘%s --help’ for more information.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "unknown -C option ‘%c’"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "fatal parse error"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "could not create backing-up info file %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "-l AT&T lex compatibility option entails a large performance penalty\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr ""
" and may be the actual source of other reported performance penalties\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -508,50 +508,50 @@ msgstr ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
"newline characters\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interactive) entails a minor performance penalty\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() entails a minor performance penalty\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT entails a large performance penalty\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "Variable trailing context rules entail a large performance penalty\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT cannot be used with -f or -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno cannot be used with REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr "variable trailing context rules cannot be used with -f or -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass only meaningful for C++ scanners"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Usage: %s [OPTIONS] [FILE]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -686,47 +686,47 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "allocation of sko_stack failed"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "name “%s” ridiculously long"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "memory allocation failed in allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "bad character ‘%s’ detected in check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "scanner requires -8 flag to use the character %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamic memory failure in copy_string()"
+#: src/misc.c:249
+msgid "memory allocation failure in xstrdup()"
+msgstr "memory allocation failure in xstrdup()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: fatal internal error, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "attempt to increase array size failed"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "bad line in skeleton file"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "memory allocation failed in yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -737,39 +737,39 @@ msgstr ""
"\n"
"********** beginning dump of nfa with start state %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "state # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** end of dump\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "empty machine in dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Variable trailing context rule at line %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "bad state type in mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "input rules are too complicated (>= %d NFA states)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "found too many transitions in mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "too many rules (> %d)!"
@@ -846,16 +846,16 @@ msgstr "Definition value for {%s} too long\n"
msgid "incomplete name definition"
msgstr "incomplete name definition"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Option line too long\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "unrecognized %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "bad character class"
@@ -864,85 +864,89 @@ msgstr "bad character class"
msgid "undefined definition {%s}"
msgstr "undefined definition {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr "unbalanced parenthesis"
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "bad <start condition>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "missing quote"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "bad character class expression: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "bad character inside {}'s"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "missing }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF encountered inside an action"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "EOF encountered inside pattern"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "bad character: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "can't open %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Usage: %s [OPTIONS]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "option ‘%s’ doesn't allow an argument\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "option ‘%s’ requires an argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "option ‘%s’ is ambiguous\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Unrecognized option ‘%s’\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Unknown error=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "symbol table memory allocation failed"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "name defined twice"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "start condition %s declared twice"
diff --git a/po/en@quot.gmo b/po/en@quot.gmo
index 2494287..e914a1f 100644
--- a/po/en@quot.gmo
+++ b/po/en@quot.gmo
Binary files differ
diff --git a/po/en@quot.po b/po/en@quot.po
index 8c129be..1bb8a11 100644
--- a/po/en@quot.po
+++ b/po/en@quot.po
@@ -1,6 +1,6 @@
# English translations for flex package.
# This file is put in the public domain.
-# Automatically generated, 2015.
+# Automatically generated, 2016.
#
# All this catalog "translates" are quotation characters.
# The msgids must be ASCII and therefore cannot contain real quotation
@@ -26,10 +26,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: flex 2.6.0\n"
+"Project-Id-Version: flex 2.6.1\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
-"PO-Revision-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
+"PO-Revision-Date: 2016-03-01 19:54-0500\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: en@quot\n"
@@ -38,15 +38,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Allocation of buffer to print string failed"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Allocation of buffer for line directive failed"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Allocation of buffer for m4 def failed"
@@ -54,26 +54,26 @@ msgstr "Allocation of buffer for m4 def failed"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Allocation of buffer for m4 undef failed"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "State #%d is non-accepting -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "dangerous trailing context"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " associated rule line numbers:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " out-transitions: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -82,11 +82,11 @@ msgstr ""
"\n"
" jam-transitions: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "consistency check failed in epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -98,24 +98,24 @@ msgstr ""
"DFA Dump:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "could not create unique end-of-buffer state"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "state # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Could not write yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "bad transition character detected in sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -127,29 +127,29 @@ msgstr ""
"Equivalence Classes:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "state # %d accepts: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "state # %d accepts: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Could not write yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Could not write yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Could not write ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -159,344 +159,344 @@ msgstr ""
"\n"
"Meta-Equivalence Classes:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Could not write yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Could not write yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Could not write yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Could not write yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Could not write yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Could not write ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Could not write ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Could not write eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Could not write yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "rule cannot be matched"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "-s option given but default rule can be matched"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Can't use -+ with -l option"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Can't use -f or -F with -l option"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Can't use --reentrant or --bison-bridge with -l option"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF and -Cm don't make sense together"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF and -I are incompatible"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF are incompatible with lex-compatibility mode"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf and -CF are mutually exclusive"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Can't use -+ with -CF option"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array incompatible with -+ option"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Options -+ and --reentrant are mutually exclusive."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison bridge not supported for the C++ scanner."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "could not create %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "could not write tables header"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "can't open skeleton file %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "allocation of macro definition failed"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "input error reading skeleton file %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "error closing skeleton file %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "error creating header file %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "error writing output file %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "error closing output file %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "error deleting output file %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "No backing up.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d backing up (non-accepting) states.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Compressed tables always back up.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "error writing backup file %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "error closing backup file %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s version %s usage statistics:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " scanner options: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA states\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA states (%d words)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d rules\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " No backing up\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d backing-up (non-accepting) states\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Compressed tables always back-up\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Beginning-of-line patterns used\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d start conditions\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilon states, %d double epsilon states\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " no character classes\n"
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr " %d/%d character classes needed %d/%d words of storage, %d reused\n"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d state/nextstate pairs created\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d unique/duplicate transitions\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d table entries\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def entries created\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (peak %d) nxt-chk entries created\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (peak %d) template nxt-chk entries created\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d empty table entries\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d protos created\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d templates created, %d uses\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d equivalence classes created\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d meta-equivalence classes created\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d saved) hash collisions, %d DFAs equal\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d sets of reallocations needed\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d total table entries needed\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Internal error. flexopts are malformed.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Try ‘%s --help’ for more information.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "unknown -C option ‘%c’"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "fatal parse error"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "could not create backing-up info file %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "-l AT&T lex compatibility option entails a large performance penalty\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr ""
" and may be the actual source of other reported performance penalties\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -505,50 +505,50 @@ msgstr ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
"newline characters\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interactive) entails a minor performance penalty\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() entails a minor performance penalty\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT entails a large performance penalty\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "Variable trailing context rules entail a large performance penalty\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT cannot be used with -f or -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno cannot be used with REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr "variable trailing context rules cannot be used with -f or -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass only meaningful for C++ scanners"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Usage: %s [OPTIONS] [FILE]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -683,47 +683,47 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "allocation of sko_stack failed"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "name “%s” ridiculously long"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "memory allocation failed in allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "bad character ‘%s’ detected in check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "scanner requires -8 flag to use the character %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamic memory failure in copy_string()"
+#: src/misc.c:249
+msgid "memory allocation failure in xstrdup()"
+msgstr "memory allocation failure in xstrdup()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: fatal internal error, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "attempt to increase array size failed"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "bad line in skeleton file"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "memory allocation failed in yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -734,39 +734,39 @@ msgstr ""
"\n"
"********** beginning dump of nfa with start state %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "state # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** end of dump\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "empty machine in dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Variable trailing context rule at line %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "bad state type in mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "input rules are too complicated (>= %d NFA states)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "found too many transitions in mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "too many rules (> %d)!"
@@ -843,16 +843,16 @@ msgstr "Definition value for {%s} too long\n"
msgid "incomplete name definition"
msgstr "incomplete name definition"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Option line too long\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "unrecognized %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "bad character class"
@@ -861,85 +861,89 @@ msgstr "bad character class"
msgid "undefined definition {%s}"
msgstr "undefined definition {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr "unbalanced parenthesis"
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "bad <start condition>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "missing quote"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "bad character class expression: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "bad character inside {}'s"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "missing }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF encountered inside an action"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "EOF encountered inside pattern"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "bad character: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "can't open %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Usage: %s [OPTIONS]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "option ‘%s’ doesn't allow an argument\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "option ‘%s’ requires an argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "option ‘%s’ is ambiguous\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Unrecognized option ‘%s’\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Unknown error=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "symbol table memory allocation failed"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "name defined twice"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "start condition %s declared twice"
diff --git a/po/eo.gmo b/po/eo.gmo
index e755a13..4b2e6c5 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 228f9c2..d65e069 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Rezervo de bufro por printi ĉenon fiaskis"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Rezervo de bufro por linia instrukcio fiaskis"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Rezervo de bufro por 'm4 def' fiaskis"
@@ -32,26 +32,26 @@ msgstr "Rezervo de bufro por 'm4 def' fiaskis"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Rezervo de bufro por 'm4 undef' fiaskis"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Stato #%d estas ne-akceptanta -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "danĝera vosta kunteksto"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " lini-numeroj de asociita regulo:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " for-transigoj: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" ĵam-transigoj: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "kontrolo pri kohereco fiaskis ĉe epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,24 +76,24 @@ msgstr ""
"Nekropsio DFA:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "ne eblis krei unikan staton de bufro-fino"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "stato * %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Ne eblis skribi yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "malĝusta transiga signo estis detektata en sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -105,29 +105,29 @@ msgstr ""
"Ekvivalentecaj Klasoj:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "stato # %d akceptas: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "stato # %d akceptas: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Ne eblis skribi yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Ne eblis skribi yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Ne eblis skribi ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,347 +137,347 @@ msgstr ""
"\n"
"Meta-Ekvivalentecaj Klasoj:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Ne eblis skribi yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Ne eblis skribi yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Ne eblis skribi yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Ne eblis skribi yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Ne eblis skribi yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Ne eblis skribi ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Ne eblis skribi ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Ne eblis skribi eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Ne eblis skribi yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "regulo ne povas esti korespondata"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr ""
"la modifilo -s estis indikata sed la apriora regulo povas esti korespondata"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Ne eblas uzi -+ kun la modifilo -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Ne eblas uzi -f aŭ -F kun la modifilo -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Ne eblas uzi --reentrant aŭ --bison-bridge kun la modifilo -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "Sensencas -Cf/-CF kaj -Cm kune"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF kaj -I malakordas"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF malakordas kun lex-akorda reĝimo"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf kaj -CF estas reciproke ekskluzivaj"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Ne eblas uzi -+ kun la modifilo -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array malakordas kun modifilo -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Modifiloj -+ kaj --reentrant estas reciproke ekskluzivaj."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison-ponto ne estas subtenata por la skanilo C++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "ne eblis krei %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "ne eblis skribi tabel-kapojn"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "ne eblas malfermi la skeletan dosieron %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "rezervo de makroa difino fiaskis"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "eniga eraro dum lego de la skeleta dosiero %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "eraro dum fermo de la skeleta dosiero %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "eraro dum kreo de la kap-dosiero %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "eraro dum skribo de la eliga dosiero %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "eraro dum fermo de la eliga dosiero %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "eraro dum forigo de eliga dosiero %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Sen savkopiado.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d savkopiadas (ne-akceptantajn) statojn.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Densigitaj tabeloj ĉiam estas savkopiataj.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "eraro dum skribo de la savkopia dosiero %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "eraro dum fermo de la savkopia dosiero %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s versio %s statistikoj pri usado:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " skanilaj modifiloj: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d statoj NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d statoj DFA (%d vortoj)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d reguloj\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Sen savkopiado\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d savkopianta (ne-akceptantajn) statojn\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Densigitaj tabeloj ĉiam savkopiite\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " modeloj komenco-de-linio estas uzataj\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d komencaj kondiĉoj\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilonaj statoj, %d duoblaj epsilonaj statoj\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " neniu signo-klaso\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d stato/sekvstato-paroj estis kreataj\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d unikaj/duobligitaj transigoj\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d tabel-enigoj\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d bazo-def enigoj estis kreataj\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (pinto %d) enigoj nxt-chk estis kreataj\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d malplenaj tabel-enigoj\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d protoj estis kreataj\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d ŝablonoj estis kreataj, %d uzoj\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d ekvivalento-klasoj estis kreataj\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d metaekvivalento-klasoj estis kreataj\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d konservitaj) haketaj kolizioj, %d DFA egalaj\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d aroj de relokigoj estas bezonataj\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " entute %d tabel-enigoj estas bezonataj\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Interna eraro. 'flexopt' estas misformitaj.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Provu '%s --help' por pli da informo.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "nekonata modifilo -C '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "neriparebla analiz-eraro"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "ne eblis krei savkopiad-informan dosieron %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -486,50 +486,50 @@ msgstr ""
"%%option yylineno alportas malaltigon de rendimento NUR kun reguloj kiuj "
"povas akordiĝi kun novliniaj signoj\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interage) alportas etan malaltigon de rendimento\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() alportas etan malaltigon de rendimento\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT alportas grandan malaltigon de rendimento\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "Variabla vosta kunteksto alportas grandan malaltigon de rendimento\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT ne povas esti uzata kun -f aŭ F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno ne povas esti uzata kun REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass nur koheras por skaniloj C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Uzado: %s [MODIFILOJ] [DOSIERO]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -665,47 +665,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "rezervo de sko_stack fiaskis"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "la nomo \"%s\" estas ridinde longa"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "rezervo de memoro fiaskis en allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "malĝusta signo '%s' estis detektata en check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "la skanilo postulas la flagon -8 por uzi la signon %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "fiasko de dinamika memoro en copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "rezervo de memoro fiaskis en allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: neriparebla interna eraro, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "provo pliigi grandon de tabelo fiaskis"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "malĝusta linio en skeleta dosiero"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "rezervo de memoro fiaskis en yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -716,39 +717,39 @@ msgstr ""
"\n"
"********** komenco de ŝuto de nfa kun ekstato %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "stato # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** fino de ŝuto\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "malplena maŝino en dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "malĝusta stat-tipo en mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "enigaj reguloj estas tro komplikaj (>= %d statoj NFA)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "tro multe da transigoj estis trovataj en mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "tro multe da reguoloj (> %d)!"
@@ -825,16 +826,16 @@ msgstr "Valor-difino por {%s} tro longas\n"
msgid "incomplete name definition"
msgstr "nekompleta nom-difino"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Linio de modifiloj tro longas\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "nerekonita %%modifilo: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "malĝusta signo-klaso"
@@ -843,85 +844,89 @@ msgstr "malĝusta signo-klaso"
msgid "undefined definition {%s}"
msgstr "nedifinita difino {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "malĝusta <komenca kondiĉo>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "mankas citilo"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "malĝusta signo-klasa esprimo: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "malĝusta signo interne de {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "mankas }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF estis trovata interne de ago"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "EOF estis trovata interne de modelo"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "malĝusta signo: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "ne eblas malfermi %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Uzado: %s [MODIFILOJ]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "la modifilo '%s' ne permesas argumenton\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "la modifilo '%s' postulas argumenton\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "la modifilo '%s' estas dusenca\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Nerekonita modifilo '%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Nekonata eraro=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "rezervo de simbol-tabela memoro fiaskis"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "nomo estis difinata duoble"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "la komenca kondiĉo %s estis deklarata duoble"
@@ -939,3 +944,6 @@ msgstr "Fino-markilo\n"
#, 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.gmo b/po/es.gmo
index b76837e..6dae1f0 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 367710f..9eac583 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: GNU flex 2.5.8\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
"PO-Revision-Date: 2003-01-02 12:06+0100\n"
"Last-Translator: Nicols Garca-Pedrajas <ngarcia-pedrajas@acm.org>\n"
"Language-Team: Spanish <es@li.org>\n"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-1\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -33,26 +33,26 @@ msgid "Allocation of buffer for m4 undef failed"
msgstr ""
# El estado (?) sv
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "El estado #%d es no-aceptar -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "contexto posterior peligroso"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " nmeros de lnea asociados a la regla:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " fin de transiciones: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -72,13 +72,13 @@ msgstr ""
# pues el verbo es testar, cmo te suena? ng+
#
# Sugiero usar prueba o comprobacin. sv
-#: src/dfa.c:341
+#: 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
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -90,24 +90,24 @@ msgstr ""
"Volcado AFD:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "no se pudo crear un estado nico de final-de-buffer"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "estado # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr ""
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "carcter de transicin errneo detectado en sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -119,32 +119,32 @@ msgstr ""
"Clases de equivalencia:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "el estado # %d acepta: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "el estado # %d acepta: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr ""
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr ""
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
#, fuzzy
msgid "Could not write ecstbl"
msgstr "no se pudo crear %s"
# No sera mejor "MetaEquivalencia" o "Meta-Equivalencia"? sv
# yo prefiero como est, es el mismo caso de metafsica ng+
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -154,43 +154,43 @@ msgstr ""
"\n"
"Clases de metaequivalencia:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr ""
-#: src/gen.c:1376
+#: src/gen.c:1362
#, fuzzy
msgid "Could not write yybase_tbl"
msgstr "no se pudo crear %s"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr ""
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr ""
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr ""
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
#, fuzzy
msgid "Could not write ftbl"
msgstr "no se pudo crear %s"
-#: src/gen.c:1646
+#: src/gen.c:1624
#, fuzzy
msgid "Could not write ssltbl"
msgstr "no se pudo crear %s"
-#: src/gen.c:1697
+#: src/gen.c:1675
#, fuzzy
msgid "Could not write eoltbl"
msgstr "no se pudo crear %s"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr ""
@@ -201,25 +201,25 @@ msgstr ""
# 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+
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "la regla no se puede aplicar"
# ## re-redacto el mensaje. sv
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr ""
"se ha especificado la opcin -s pero se puede aplicar la regla por defecto"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "No se puede usar -+ con la opcin -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "No se pueden usar las opciones -f o -F con la opcin -l"
-#: src/main.c:244
+#: src/main.c:229
#, fuzzy
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "No se pueden usar las opciones -R o -Rb con la opcin -l"
@@ -227,7 +227,7 @@ msgstr "No se pueden usar las opciones -R o -Rb con la opcin -l"
# juntos o juntas?
# Creo que est bien as em
# ok ng
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF y -Cm no tienen sentido juntos"
@@ -236,42 +236,42 @@ msgstr "-Cf/-CF y -Cm no tienen sentido juntos"
# entonces lo dejo ng
# Yo creo que en este caso no hace falta porque se leera as:
# "menos ce efe o menos ce efe mayscula y menos I son incompatibles". sv
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF e -I son incompatibles"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF son incompatibles con el modo de compatibilidad con lex"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf y -CF son mutuamente excluyentes"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "No se puede usar -+ con la opcin -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array incompatible con la opcin -+"
-#: src/main.c:300
+#: src/main.c:285
#, fuzzy
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "-+ y -R son mutuamente excluyentes"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr ""
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "no se pudo crear %s"
-#: src/main.c:417
+#: src/main.c:439
#, fuzzy
msgid "could not write tables header"
msgstr "no se pudo crear %s"
@@ -280,12 +280,12 @@ msgstr "no se pudo crear %s"
# lo mismo de antes ng
# Lo mismo que antes :) em
# idem ng+
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "no se puede abrir el archivo de esquema %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
@@ -305,46 +305,46 @@ msgstr ""
# que decida una tercera persona
#
# ## Cambio "leyendo" por "al leer", como en otras traducciones. sv
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "error de entrada al leer el archivo de esquema %s"
# Otra vez :) em
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "error al cerrar el archivo de esquema %s"
# Lo mismo, archivo de seguridad? em
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "error al crear el archivo de cabecera %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "error al escribir el archivo de salida %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "error al cerrar el archivo de salida %s"
-#: src/main.c:710
+#: src/main.c:731
#, 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
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Sin retroceso.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d estados de retroceso (no-aceptacin).\n"
@@ -354,13 +354,13 @@ msgstr "%d estados de retroceso (no-aceptacin).\n"
# "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
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Las tablas comprimidas siempre implican un retraso.\n"
# Lo mismo, archivo de seguridad? em
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "error al escribir el archivo de seguridad %s"
@@ -368,47 +368,47 @@ msgstr "error al escribir el archivo de seguridad %s"
# En todas las traducciones que ha aparecido
# he sugerido el uso de copia de seguridad em
# ok ng
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "error al cerrar el archivo de copia de seguridad %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s versin %s estadsticas de uso:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " opciones del analizador: -"
# NFA significa non-deterministic finite automata, as que lo he traducido
# por AFN
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d estados AFN\n"
# DFA significa deterministic finite autmata, lo he traducido por AFD
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d estados AFD {%d palabras}\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d reglas\n"
# Otra vez ;) em
# modificado como en la anterior ng
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Sin retroceso\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d estados de retroceso (no-aceptacin)\n"
@@ -416,18 +416,18 @@ msgstr " %d estados de retroceso (no-aceptacin)\n"
# FIXME.
# Informar al autor de que esta frase es casi idntica a una anterior, para
# que slo haya que traducirla una vez. sv
-#: src/main.c:837
+#: src/main.c:858
#, 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 lnea". sv
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Usados patrones de comienzo-de-lnea\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d condiciones de activacin\n"
@@ -440,17 +440,17 @@ msgstr " %d/%d condiciones de activacin\n"
# lo de doble psilon no lo he odo nunca. Creo que hay que dejar el trmino
# tcnico. ng
# Tu mandas, no tengo nada que decir a eso em
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d estados psilon, %d estados doble psilon\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " sin clases de caracteres\n"
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr ""
@@ -461,13 +461,13 @@ msgstr ""
# Qu tal " se han creado %d pares estado/estado-siguiente"?
# Bueno, mejor no lo hagas hasta que no se sepa cmo queda al lado
# de las otras. sv
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d pares estado/estado-siguiente creados\n"
# ## Aado sendas eses, ya que son transiciones. sv
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d transiciones nicas/duplicadas\n"
@@ -476,50 +476,50 @@ msgstr " %d/%d transiciones nicas/duplicadas\n"
# s, mejor ng
# Que haba antes? (entradas a la tabla?)
# (entradas *de* la tabla me suena mejor) sv.
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d entradas en la tabla\n"
# ## pongo `comillas' en el base-def. sv
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d entradas `base-def' creadas\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (pico %d) entradas nxt-chk creadas\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d entradas en la tabla vacas\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototipos creados\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d plantillas creadas, %d usos\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d clases de equivalencia creadas\n"
# "se han creado..." sv
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d clases de metaequivalencia creadas\n"
@@ -537,40 +537,40 @@ msgstr " %d/%d clases de metaequivalencia creadas\n"
# un lugar que se puede determinar mediante una transformacin directa de su
# clave, por eso si hay dos claves iguales hay una colisin, porque dos
# registros van al mismo sitio ng+
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr ""
" %d (%d almacenadas) colisiones de localizacin ('hash'), %d AFDs iguales\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " se necesitan %d conjuntos de relocalizacin\n"
# Lo mismo que en otro sitio: table entries son entradas a la tabla o
# de la tabla? sv
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " se necesitan %d entradas totales en la tabla\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Error interno. flexopts mal formadas.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Pruebe `%s --help' para ms informacin.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "opcin -C desconocida '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
@@ -587,7 +587,7 @@ msgstr "%s %s\n"
# Sugerencia: error fatal. sv
# con comillas es un trmino medio. Lo de error grave fue una sugerencia
# de Enrique, y croe que queda mejor. ng+
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "error muy grave en el analizador sintctico"
@@ -610,28 +610,28 @@ msgstr "error muy grave en el analizador sintctico"
# ##
# ## Eso no es vlido ( solucin, usa emacs po-mode :) ) em
# ## ok, ya estoy instalando linux otra vez ng+
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr ""
"no se pudo crear el archivo de informacin de las reglas\n"
"que producen un retroceso del analizador %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
"-l la opcin de compatibilidad con AT&T lex implica una penalizacin del\n"
"rendimiento muy alta\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
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"
-#: src/main.c:1530
+#: src/main.c:1549
#, fuzzy, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -639,53 +639,53 @@ msgid ""
msgstr ""
"la %%opcin yylineno implica una penalizacin del rendimiento muy alta\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interactivo) implica una pequea penalizacin del rendimiento\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() implica un pequea penalizacin del rendimiento\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT implica una penalizacin del rendimiento muy alta\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
"penalizacin del rendimiento muy alta\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT no se puede usar con -f o -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, fuzzy, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "la %opcin yylineno no se puede usar con -f o -F"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "la %option yyclass slo tiene sentido para los analizadores en C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Uso: %s [OPCIONES] [FICHERO]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -819,7 +819,7 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "nombre \"%s\" ridculamente grande"
@@ -829,45 +829,51 @@ msgstr "nombre \"%s\" ridculamente grande"
# S, pero creo que slo por m. Normalmente esos mensajes
# los d la biblioteca C antes em
# ok ng+
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "fall la asignacin de memoria en `allocate_array()'"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "carcter incorrecto '%s' detectado en `check_char()'"
# he aadido el `poder' em
# ok ng
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "el analizador requiere la opcin -8 para poder usar el carcter %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "fallo de la memoria dinmica en copy_string()"
+# Asignacin de memoria em
+# est unificado? ng
+# S, pero creo que slo por m. Normalmente esos mensajes
+# los d la biblioteca C antes em
+# ok ng+
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "fall la asignacin de memoria en `allocate_array()'"
# Sugerencia: error fatal. sv
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: error interno muy grave, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "fall el intento de aumentar el tamao de la matriz"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "lnea incorrecta en el archivo de esquema"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "la reserva de memoria fall en yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -878,42 +884,42 @@ msgstr ""
"\n"
"********** comenzando la descarga del AFN con el estado inicial %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "estado # %4d\t"
# Sugerencia: volcado. sv
# ok ng+
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** fin de volcado\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "mquina vaca en `dupmachine()'"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Regla de contexto posterior variable en la lnea %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "tipo de estado incorrecto en mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, 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
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "encontradas demasiadas transiciones en mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "demasiadas reglas (> %d)!"
@@ -994,16 +1000,16 @@ msgstr ""
msgid "incomplete name definition"
msgstr "definicin de nombre incompleta"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr ""
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "%%opcin no reconocida: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "clase de caracteres incorrecta"
@@ -1012,13 +1018,17 @@ msgstr "clase de caracteres incorrecta"
msgid "undefined definition {%s}"
msgstr "definicin no definida {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "<condicin de activacin> incorrecta: %s"
# Sugerencia: falta una comilla. sv
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "falta comilla"
@@ -1026,83 +1036,83 @@ msgstr "falta comilla"
# incorrecta la expresin ... em
# ok, de traducir al final ocurre que acabas hablando al revs,
# como en ingls ng
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "expresin de la clase de caracteres incorrecta: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "carcter incorrecto dentro de {}'s"
# Sugerencia: "falta una }". sv
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "falta }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "Fin de archivo (EOF) encontrado dentro de una accin"
-#: src/scan.l:945
+#: src/scan.l:951
#, fuzzy
msgid "EOF encountered inside pattern"
msgstr "Fin de archivo (EOF) encontrado dentro de una accin"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "carcter incorrecto: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "no se puede abrir %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Uso: %s [OPCIONES]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "la opcin `%s' no permite un argumento\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "la opcin `%s' requiere un argumento\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "la opcin `%s' es ambigua\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Opcin no reconocida `%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Error desconocido=(%d)\n"
# Asignacin de memoria em
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "fall la reserva de memoria para la tabla de smbolos"
# hay que procurar evitar esto, siempre nos suena mejor
# el nombre ha sido definido dos veces, qu te parece? em
# mucho mejor, ya lo haba pensado, pero no saba cual era el estilo usual. ng
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "el nombre ha sido definido dos veces"
# Aqu lo mismo 'la condicin ... ha sido ..." em
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "la condicin de activacin %s ha sido declarada dos veces"
@@ -1139,6 +1149,9 @@ msgstr "*Algo extrao* - terminal: %d val: %d\n"
#~ msgid "unknown -R option '%c'"
#~ msgstr "opcin -R desconocida '%c'"
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "fallo de la memoria dinmica en copy_string()"
+
# Sugerencia: modificador '%c' desconocido -> opcin '%c' desconocida. sv
# ## usage - modo de empleo
# ## pongo try - pruebe, como en otras traducciones. sv
diff --git a/po/fi.gmo b/po/fi.gmo
index a65b0a8..28c800f 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 4149799..c6d3d47 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.36\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -18,15 +18,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Puskurin varaaminen merkkijonon tulostamiseen epäonnistui"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Puskurin varaaminen rividirektiiville epäonnistui"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Puskurin varaaminen m4 def -määrittelylle epäonnistui"
@@ -34,27 +34,27 @@ msgstr "Puskurin varaaminen m4 def -määrittelylle epäonnistui"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Puskurin varaaminen m4 undef -määrittelylle epäonnistui"
-#: src/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
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "vaarallinen jättökonteksti"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " yhdistetyt sääntörivinumerot:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " ulossiirtymät: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -63,12 +63,12 @@ msgstr ""
"\n"
" ruuhkasiirtymät: TIEDOSTONLOPPUMERKKI "
-#: src/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.
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -80,24 +80,24 @@ msgstr ""
"Deterministisen äärellisen automaatin vedos:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "ei voitu luoda uniikkia puskurinlopputilaa"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "tila numero %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Ei voitu kirjoittaa yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "väärä siirtymämerkki havaittu funktiossa sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -109,29 +109,29 @@ msgstr ""
"Ekvivalenssiluokat:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "tila numero %d hyväksyy: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "tila numero %d hyväksyy: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Ei voitu kirjoittaa: yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Ei voitu kirjoittaa: yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Ei voitu kirjoitaa ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -141,351 +141,351 @@ msgstr ""
"\n"
"Meta-ekvivalenssiluokkia:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Ei voitu kirjoittaa: yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Ei voitu kirjoittaa: yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Ei voitu kirjoittaa: yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Ei voitu kirjoittaa: yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Ei voitu kirjoittaa: yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Ei voitu kirjoittaa: ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Ei voitu kirjoittaa: ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Ei voitu kirjoittaa: eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Ei voitu kirjoittaa: yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "sääntö ei voinut täsmätä"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "valitsin -s annettu mutta oletussääntö ei voinut täsmätä"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Ei voi käyttää -+ valitsimen -l kanssa"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Ei voi käyttää valitsinta -f tai -F valitsimen -l kanssa"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr ""
"Ei voi käyttää valitsinta --reentrant tai --bison-bridge valitsimen -l kanssa"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF ja -Cm eivät ole järkeviä yhdessä"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF ja -I ovat yhteensopimattomia"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF ovat yhteensopimattomia lex-yhteensopivuustilassa"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf ja -CF ovat toisensa poissulkevia"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Ei voi käyttää valitsinta -+ valitsimen -CF kanssa"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array on yhteensopimaton valitsimen -+ kanssa"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Valitsimen -+ ja --reentrant ovat toisensa poissulkevia."
# bison bridge tarkoittaa, että flex käyttää bison-ohjelmaa analyysissä
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "”bison bridge”-menettelyä ei tueta C++-skannerille."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "ei voitu luoda %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "ei voitu kirjoittaa tauluotsaketta"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "ei voi avata kehystiedostoa %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "Makromäärityksen varaaminen epäonnistui"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "syötevirhe luettaessa kehystiedostoa %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "virhe suljettaessa kehystiedostoa %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "virhe luotaessa otsaketiedostoa %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "virhe kirjoitettaessa tulostetiedostoa %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "virhe suljettaessa tulostetiedostoa %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "virhe poistettaessa tulostetiedostoa %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Ei varmuuskopiointia.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d (ei-hyväksyvää) varmuuskopiointitilaa.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Tiivistetyt taulut varmuuskopioidaan aina.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "virhe kirjoitettaessa varmuuskopiotiedostoa %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "virhe suljettaessa varmuuskopiotiedostoa %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s-version %s käyttötilastot:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " skannerivalitsimet: -"
# Epädeterministinen äärellinen automaatti, lyh. NFA (engl. non-deterministic finite-state automaton)
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d Epädeterministisen äärellisen automaatin tilaa\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d Deterministisen äärellisen automaatin tilaa (%d sanaa)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d sääntöä\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Ei varmuuskopiointia\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d (ei-hyväksyvää) varmuuskopiotilaa\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Tiivistetyt taulut varmuuskopioidaan aina\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Rivin-alku-malleja käytetään\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d-käynnistysehtoja\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilon-tilaa, %d double epsilon-tilaa\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " ei merkkiluokkia\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d tila/seuraavatila-paria luotu\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d uniikkia/kaksoiskappelsiirtymää\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d-tauluriviä\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def-alkiota luotu\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (huippu %d) nxt-chk-alkiota luotu\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (huippu %d) malline nxt-chk-alkiota luotu\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d tyhjää taulualkiota\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d protoa luotu\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d mallinetta luotu, %d käytetään\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d ekvivalenssiluokkaa luotu\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d meta-ekvivalenssiluokkaa luotu\n"
-#: src/main.c:915
+#: src/main.c:936
#, 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"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d uudelleenvarausjoukkoa tarvittu\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d taulukkoalkiota tarvittu yhteensä\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Sisäinen virhe. flex-valitsimet ovat vääränmuotoisia.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Lisätietoja käskyllä ”%s --help”.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "tuntematon valitsin -C ”%c”"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "vakava jäsennysvirhe"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "ei voitu luoda varmuuskopiotietotiedostoa %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -494,51 +494,51 @@ msgstr ""
"%%option yylineno tuo mukanaan suorituskykysakon VAIN säännöissä, jotka "
"voivat täsmätä rivinvaihtomerkkeihin\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interaktiivinen) tuo mukanaan pienemmän suorituskykysakon\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() tuo mukanaan pienemmän suorituskykysakon\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT tuo mukanaan ison suorituskykyrangaistuksen\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "Muuttujajättökontekstisäännöt tuovat mukanaan ison suorityskykysakon\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT ei voida käyttää valitsimen -f tai -F kanssa"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno ei voi käyttää REJECT:n kanssa"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass on merkityksellinen vain C++-skannereille"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Käyttö: %s [VALITSIMET] [TIEDOSTO]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -678,47 +678,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "sko_stack-varaaminen epäonnistui"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "nimi ”%s” on naurettavan pitkä"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "muistinvaraus epäonnistui funktiossa allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "väärä merkki ”%s” havaittu funktiossa check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "skanneri vaatiin lipun -8 käytettäväksi merkille %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynaaminen muistivirhe funktiossa copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "muistinvaraus epäonnistui funktiossa allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: vakava sisäinen virhe, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "yritys taulukon koon kasvattamiseksi epäonnistui"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "väärä rivi kehystiedostossa"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "muistinvaraus epäonnistui funktiossa yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -730,41 +731,41 @@ msgstr ""
"********** Epädeterministisen äärellisen automaatin vedoksen alku "
"aloitustilassa %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "tila numero %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** vedoksen loppu\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "tyhjä kone funktiossa dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "väärä tilatyyppi funktiossa mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, 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)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "löytyi liian monta siirtymää funktiossa mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "liian moni sääntöjä (> %d)!"
@@ -845,16 +846,16 @@ msgstr "Määritysarvo kohteelle {%s} on liian pitkä\n"
msgid "incomplete name definition"
msgstr "epätäydellinen nimimäärittely"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Valitsinrivi on liian pitkä\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "tunnistamaton %%valitsin: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "väärä merkkiluokka"
@@ -863,85 +864,89 @@ msgstr "väärä merkkiluokka"
msgid "undefined definition {%s}"
msgstr "määrittelemätön määrittely {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "virheellinen <aloitusehto>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "puuttuva lainausmerkki"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "väärä merkkiluokkalauseke: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "väärä merkki aaltosulkeiden {} sisällä"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "puuttuva }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "Tiedoston loppumerkki EOF tavattu toiminnon sisällä"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "Tiedoston loppumerkki EOF tavattu mallin sisällä"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "väärä merkki: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "ei voi avata %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Käyttö: %s [VALITSIMET]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "valitsin ”%s” ei salli argumenttia\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "valitsin ”%s” vaatii argumentin\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "valitsin ”%s” ei ole yksiselitteinen\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Tunnistamaton valitsin ”%s”\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Tuntematon virhe=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "symbolitaulun muistinvaraus epäonnistui"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "nimi määritelty kahdesti"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "alkuehto %s esitelty kahdesti"
@@ -959,3 +964,6 @@ msgstr "Loppumerkki\n"
#, 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/flex.pot b/po/flex.pot
index 76fea13..3c02484 100644
--- a/po/flex.pot
+++ b/po/flex.pot
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: flex 2.6.0\n"
+"Project-Id-Version: flex 2.6.1\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -32,37 +32,37 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr ""
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr ""
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr ""
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr ""
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
" jam-transitions: EOF "
msgstr ""
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr ""
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -70,24 +70,24 @@ msgid ""
"\n"
msgstr ""
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr ""
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr ""
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr ""
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr ""
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -95,422 +95,422 @@ msgid ""
"\n"
msgstr ""
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr ""
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr ""
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr ""
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr ""
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr ""
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
"Meta-Equivalence Classes:\n"
msgstr ""
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr ""
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr ""
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr ""
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr ""
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr ""
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr ""
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr ""
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr ""
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr ""
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr ""
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr ""
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr ""
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr ""
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr ""
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr ""
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr ""
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr ""
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr ""
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr ""
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr ""
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr ""
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr ""
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr ""
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr ""
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr ""
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr ""
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr ""
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr ""
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr ""
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr ""
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr ""
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr ""
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr ""
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr ""
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr ""
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr ""
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr ""
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr ""
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr ""
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr ""
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr ""
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr ""
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr ""
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr ""
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr ""
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr ""
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr ""
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr ""
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr ""
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr ""
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr ""
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr ""
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr ""
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr ""
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr ""
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr ""
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr ""
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr ""
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr ""
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr ""
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr ""
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr ""
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr ""
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr ""
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr ""
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr ""
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr ""
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr ""
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr ""
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
"newline characters\n"
msgstr ""
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr ""
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr ""
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr ""
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr ""
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr ""
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr ""
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr ""
-#: src/main.c:1809
+#: src/main.c:1808
#, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -582,47 +582,47 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr ""
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr ""
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr ""
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr ""
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
+#: src/misc.c:249
+msgid "memory allocation failure in xstrdup()"
msgstr ""
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr ""
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr ""
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr ""
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr ""
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -630,39 +630,39 @@ msgid ""
"********** beginning dump of nfa with start state %d\n"
msgstr ""
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr ""
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr ""
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr ""
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr ""
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr ""
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr ""
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr ""
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr ""
@@ -739,16 +739,16 @@ msgstr ""
msgid "incomplete name definition"
msgstr ""
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr ""
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr ""
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr ""
@@ -757,85 +757,89 @@ msgstr ""
msgid "undefined definition {%s}"
msgstr ""
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr ""
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr ""
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr ""
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr ""
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr ""
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr ""
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr ""
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr ""
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr ""
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr ""
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr ""
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr ""
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr ""
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr ""
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr ""
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr ""
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr ""
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr ""
diff --git a/po/fr.gmo b/po/fr.gmo
index e735764..b4515fa 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index 1fab61b..655324f 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -22,15 +22,15 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Lokalize 1.4\n"
-#: src/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"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Échec d'allocation de tampon pour la directive de ligne"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Échec d'allocation de tampon pour m4 défini"
@@ -38,26 +38,26 @@ msgstr "Échec d'allocation de tampon pour m4 défini"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Échec d'allocation de tampon pour m4 non défini"
-#: src/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"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "le contexte traîné est dangereux"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " numéros de ligne associés à la règle :"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " transitions de sortie : "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -66,11 +66,11 @@ msgstr ""
"\n"
" transitions-bouchon : EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "le contrôle de cohérence a échoué dans epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -82,24 +82,24 @@ msgstr ""
"Vidage de l'AFD :\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "impossible de créer un seul état de fin de tampon"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "état nº %d :\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Impossible d'écrire yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "mauvais caractère de transition détecté dans sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -111,29 +111,29 @@ msgstr ""
"Classes d'équivalence :\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "l'état nº %d accepte : [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "l'état nº %d accepte : "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Impossible d'écrire yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Impossible d'écrire yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Impossible d'écrire ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -143,351 +143,351 @@ msgstr ""
"\n"
"Classes de métaéquivalence :\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Impossible d'écrire yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Impossible d'écrire yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Impossible d'écrire yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Impossible d'écrire yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Impossible d'écrire yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Impossible d'écrire ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Impossible d'écrire ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Impossible d'écrire eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Impossible d'écrire yynultrnas_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "la règle ne peut pas correspondre"
-#: src/main.c:197
+#: src/main.c:184
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"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "L'option -+ ne peut pas être combinée à -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Les options -f et -F ne peuvent pas être combinées à -l"
-#: src/main.c:244
+#: src/main.c:229
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"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf ou -CF et -Cm ne peuvent pas être indiquées ensemble"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf ou -CF et -I sont incompatibles"
-#: src/main.c:283
+#: src/main.c:268
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 »"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf et -CF sont mutuellement exclusifs"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "L'option -+ ne peut pas être combinée à -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array incompatible avec l'option -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Les options +- et --reentrant sont mutuellement exclusives."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bridge bison n'est pas pris en charge pour l'analyseur C++"
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "impossible de créer %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "impossible d'écrire les tables d'en-tête"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "impossible d'ouvrir le fichier canevas %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "échec d'allocation de définition de macro"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "erreur de lecture du fichier canevas %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "erreur de fermeture du fichier canevas %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "erreur de création du fichier d'en-tête %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "erreur d'écriture du fichier de sortie %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "erreur de fermeture du fichier de sortie %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "erreur d'effacement du fichier de sortie %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Pas d'archivage.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d états d'archivage (non acceptants).\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Les tables comprimées sont toujours archivées.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "erreur d'écriture du fichier de sauvegarde %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "erreur de fermeture du fichier de sauvegarde %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "« %s » version %s, statistiques d'utilisation :\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " options de l'analyseur lexical : -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d états NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d états AFD (%d mots)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d règles\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Pas d'archivage\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d états d'archivage (si non acceptants)\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Les tables comprimées sont toujours archivées\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Modèles utilisés en début de ligne\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d conditions de départ\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d états epsilon, %d états double epsilon\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " pas de classes de caractères\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d paires state/nextstate produites\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d transitions uniques/dupliquées\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d entrées dans la table\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d entrées base-def produites\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (max. %d) entrées nxt-chk produites\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d entrées vides dans la table\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototypes produits\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d modèles produits, %d usages\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d classes d'équivalence produites\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d classes de métaéquivalence produites\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d sauvés) collisions durant dispersion, %d AFD égaux\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d ensembles de réallocations nécessaires\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d entrées nécessaires dans la table, au total\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Erreur interne. Les options « flexopts » sont mal composées.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
"Exécutez « %s --help » pour obtenir des renseignements complémentaires.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "l'option -C « %c » inconnue"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "erreur de lecture fatale"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "impossible de créer le fichier d'informations d'archivage %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -496,54 +496,54 @@ 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"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "l'option -I (interactif) entraîne une faible perte de performance\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() entraîne une faible baisse de performance\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT entraîne une importante baisse de performance\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT ne peut pas être utilisé avec -f ou -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno ne peut être utilisé avec REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass n'a de sens qu'avec les analyseurs C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Utilisation : %s [OPTIONS] [FICHIER]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -685,48 +685,49 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "échec d'allocation de sko_stack"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "le nom « %s » est ridiculement long"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "échec d'allocation mémoire dans allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "mauvais caractère « %s » détecté dans check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "échec de mémoire dynamique dans copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "échec d'allocation mémoire dans allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s : erreur interne fatale, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "échec de la tentative d'augmenter la taille du tableau"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "mauvaise ligne dans le fichier canevas"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "échec d'allocation mémoire dans yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -737,39 +738,39 @@ msgstr ""
"\n"
"********** début du vidage de nfa avec %d pour état de départ\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "état nº %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** fin du vidage\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "machine vide dans dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "mauvais type d'état dans mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, 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)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "il y a trop de transitions dans mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "trop de règles (> %d)."
@@ -848,16 +849,16 @@ msgstr "Valeur de définition trop longue pour {%s}\n"
msgid "incomplete name definition"
msgstr "définition de nom incomplète"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Ligne d'option trop longue\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "%%option non reconnue : %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "mauvaise classe de caractères"
@@ -866,85 +867,89 @@ msgstr "mauvaise classe de caractères"
msgid "undefined definition {%s}"
msgstr "définition {%s} non définie"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "mauvaise <condition de départ> : %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "guillemet manquant"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "mauvaise expression de classe de caractères : %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "mauvais caractère entre accolades « {} »"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "« } » manquante"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "Fin de fichier rencontrée à l'intérieur d'une action"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "Fin de fichier rencontrée à l'intérieur d'un modèle"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "mauvais caractère : %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "impossible d'ouvrir %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Utilisation : %s [OPTIONS]...\n"
-#: src/scanopt.c:559
+#: 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"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "l'option « %s » nécessite un argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "l'option « %s » est ambiguë\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Option « %s » non reconnue\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Erreur inconnue=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "échec d'allocation mémoire de la table des symboles"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "nom défini deux fois"
-#: src/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"
@@ -963,6 +968,9 @@ msgstr "Marqueur de fin\n"
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()"
diff --git a/po/ga.gmo b/po/ga.gmo
index ec14ca8..11f98f0 100644
--- a/po/ga.gmo
+++ b/po/ga.gmo
Binary files differ
diff --git a/po/ga.po b/po/ga.po
index bb257c2..ee2bda2 100644
--- a/po/ga.po
+++ b/po/ga.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.34\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
"PO-Revision-Date: 2008-07-23 09:37-0500\n"
"Last-Translator: Kevin Scannell <kscanne@gmail.com>\n"
"Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@@ -15,15 +15,15 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -31,27 +31,27 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/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"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "comhthéacs sraoilleach baolach"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " líne-uimhreacha de na rialacha bainteacha:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " athruithe amach: "
# weak, I know -- KPS
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" athruithe plúchta: comhadchríoch "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "theip ar sheiceáil chomhionannais i epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,24 +76,24 @@ msgstr ""
"Dumpáil DFA:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "níorbh fhéidir staid shainiúil a chruthú ag deireadh maoláin"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "staid # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Níorbh fhéidir yynxt_tbl[][] a scríobh"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "carachtar trasdula neamhbhailí i sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -105,29 +105,29 @@ msgstr ""
"Aicmí Coibhéise:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "glacann staid # %d le: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "glacann staid # %d le: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Níorbh fhéidir yyacclist_tbl a scríobh"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Níorbh fhéidir yyacc_tbl a scríobh"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Níorbh fhéidir ecstbl a scríobh"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,347 +137,347 @@ msgstr ""
"\n"
"Aicmí Meiteachoibhéise:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Níorbh fhéidir yymeta_tbl a scríobh"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Níorbh fhéidir yybase_tbl a scríobh"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Níorbh fhéidir yydef_tbl a scríobh"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Níorbh fhéidir yynxt_tbl a scríobh"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Níorbh fhéidir yychk_tbl a scríobh"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Níorbh fhéidir ftbl a scríobh"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Níorbh fhéidir ssltbl a scríobh"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Níorbh fhéidir eoltbl a scríobh"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Níorbh fhéidir yynultrans_tbl a scríobh"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "Ní féidir riail chomhoiriúnach a aimsiú"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr ""
"bhí an rogha -s tugtha ach is féidir an riail réamhshocraithe a chur i "
"gcomhoiriúnacht"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Níl -+ ar fáil in éineacht leis an rogha -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Níl -f nó -F ar fáil in éineacht leis an rogha -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Níl --reentrant nó --bison-bridge ar fáil in éineacht leis an rogha -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "Níl -Cf/-CF agus -Cm comhoiriúnach"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "Níl -Cf/-CF agus -I comhoiriúnach"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "Níl -Cf/-CF ar fáil sa mhód comhoiriúnachta lex"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "Is comheisiatach iad na roghanna -Cf agus -CF"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Níl -+ ar fáil in éineacht leis an rogha -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "níl %array comhoiriúnach leis an rogha -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Is comheisiatach iad na roghanna -+ agus --reentrant."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "níl bison bridge ar fáil don scanóir C++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "níorbh fhéidir %s a chruthú"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "níorbh fhéidir ceanntásc táblaí a scríobh"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "ní féidir creatchomhad %s a oscailt"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "earráid agus creatchomhaid %s á léamh"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "earráid agus creatchomhaid %s á dhúnadh"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "earráid agus comhad ceanntáisc %s á chruthú"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "earráid agus aschomhaid %s á scríobh"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "earráid agus aschomhad %s á dhúnadh"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "earráid agus aschomhaid %s á scriosadh"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Ná cúlaítear.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d staid chúlaithe (níl ina staid ghlactha).\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Cúlaíonn táblaí comhbhrúite i gcónaí.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "earráid agus comhad cúltaca %s á scríobh"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "earráid agus comhad cúltaca %s á dhúnadh"
-#: src/main.c:737
+#: src/main.c:758
#, 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
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " roghanna don scanóir: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d staid NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d staid DFA (%d focal)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d riail\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Ná cúlaítear\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d staid chúlaithe (níl ina staid ghlactha)\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Cúlaíonn táblaí comhbhrúite i gcónaí\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Patrúin úsáidte ag ceann líne\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d coinníoll tosaigh\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d staid eipsealóin, %d staid eipsealóin dúbailte\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " níl aon aicme charachtair\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d péire state/nextstate\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d athrú sainiúil/dúblach\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d iontráil sa tábla\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d iontráil base-def\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (buaic %d) iontráil nxt-chk\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d iontráil tábla folamh\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d fréamhshamhail\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d teimpléad, %d i bhfeidhm\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d aicme choibhéise\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d aicme mheiteachoibhéise\n"
-#: src/main.c:915
+#: src/main.c:936
#, 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"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " tá gá le %d sraith athdháilte\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " tá gá le %d iontráil tábla ar fad\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Earráid inmheánach (flexopts míchumtha).\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Bain triail as `%s --help' chun tuilleadh eolais a fháil.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "rogha -C anaithnid '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "earráid pharsála mharfach"
-#: src/main.c:1500
+#: src/main.c:1519
#, 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ú"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " agus is féidir gur cúis é le fadhbanna luais eile é\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -486,54 +486,54 @@ msgstr ""
"is cúis le moilliú mór an %%rogha yylineno, MÁ tá rialacha ann le línte nua "
"iontu\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "is cúis le moilliú beag an rogha -I (idirghníomhach)\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "is cúis le moilliú beag an fheidhm yymore()\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "is REJECT cúis le moilliú mór\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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 sraoilleach "
"athraitheach\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "Níl REJECT ar fáil leis na roghanna -f nó -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "níl %option yylineno ar fáil le REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"níl rialacha maidir le comhthéacs sraoilleach athraitheach ar fáil le -f nó -"
"F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "tá an %option yyclass gan bhrí ach amháin le scanóirí C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Úsáid: %s [ROGHANNA] [COMHAD]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -668,47 +668,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "tá an t-ainm \"%s\" i bhfad Éireann rófhada"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "theip ar dháileadh na cuimhne i allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "aimsíodh carachtar neamhbhailí '%s' i check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "ní foláir an rogha -8 chun an charachtair %s a úsáid"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "theip ar dháileadh na cuimhne i copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "theip ar dháileadh na cuimhne i allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: earráid inmheánach mharfach, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "theip ar mhéadú an eagair"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "drochlíne i gcreatchomhad"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "theip ar dháileadh na cuimhne i yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -719,39 +720,39 @@ msgstr ""
"\n"
"********** ag tosú dumpála de nfa le staid tosaigh %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "staid # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** i ndeireadh dumpála\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "meaisín folamh i dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "riail maidir le comhthéacs sraoilleach athraitheach ag líne %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "drochstaid i mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "is róchasta na rialacha ionchuir (>= %d staid NFA)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "an iomarca athruithe i mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "an iomarca rialacha (> %d)!"
@@ -835,17 +836,17 @@ msgstr ""
msgid "incomplete name definition"
msgstr "is neamhiomlán an sainmhíniú ainm"
-#: src/scan.l:443
+#: src/scan.l:444
#, fuzzy
msgid "Option line too long\n"
msgstr "Tá líne an ionchuir rófhada\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "rogha %% anaithnid: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "aicme charachtair neamhbhailí"
@@ -854,85 +855,89 @@ msgstr "aicme charachtair neamhbhailí"
msgid "undefined definition {%s}"
msgstr "sainmhíniú neamhshainithe {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "<coinníoll tosaigh> neamhbhailí: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "comhartha athfhriotal ar iarraidh"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "is neamhbhailí an slonn aicme carachtair: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "carachtar neamhbhailí idir {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "} ar iarraidh."
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "Buaileadh comhadchríoch isteach i ngníomh"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "Buaileadh comhadchríoch isteach i bpatrún"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "carachtar neamhbhailí: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "ní féidir %s a oscailt"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Úsáid: %s [ROGHANNA]...\n"
-#: src/scanopt.c:559
+#: 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"
-#: src/scanopt.c:564
+#: 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"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "tá an rogha `%s' débhríoch\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Rogha anaithnid `%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Earráid anaithnid=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "theip ar dháileadh na cuimhne don tábla siombalach"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "sainmhíníodh an t-ainm faoi dhó"
-#: src/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ó"
@@ -951,5 +956,8 @@ msgstr "Comhartha Deiridh\n"
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 dháileadh na cuimhne i copy_string()"
+
#~ msgid "consistency check failed in symfollowset"
#~ msgstr "theip ar sheiceáil chomhionannais i symfollowset"
diff --git a/po/hr.gmo b/po/hr.gmo
index a8c20fc..7996ab8 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 0f34e45..480562a 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -19,15 +19,15 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.4\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -35,37 +35,37 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr ""
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr ""
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr ""
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr ""
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
" jam-transitions: EOF "
msgstr ""
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr ""
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -73,24 +73,24 @@ msgid ""
"\n"
msgstr ""
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr ""
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr ""
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr ""
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr ""
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -98,422 +98,422 @@ msgid ""
"\n"
msgstr ""
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr ""
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr ""
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr ""
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr ""
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr ""
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
"Meta-Equivalence Classes:\n"
msgstr ""
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr ""
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr ""
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr ""
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr ""
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr ""
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr ""
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr ""
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr ""
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr ""
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr ""
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr ""
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr ""
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr ""
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr ""
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr ""
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr ""
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr ""
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr ""
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr ""
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr ""
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr ""
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr ""
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr ""
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr ""
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr ""
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr ""
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "greška pri zatvaranju datoteke predloška %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "greška pri stvaranju datoteke zaglavlja %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "greška pri pisanju izlazne datoteke %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "greška pri zatvaranju izlazne datoteke %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "greška pri uklanjanju izlazne datoteke %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr ""
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr ""
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr ""
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr ""
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr ""
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr ""
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr ""
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr ""
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr ""
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr ""
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr ""
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr ""
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr ""
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr ""
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr ""
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr ""
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr ""
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr ""
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr ""
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr ""
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr ""
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr ""
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr ""
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr ""
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr ""
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr ""
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr ""
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr ""
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr ""
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr ""
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr ""
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr ""
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr ""
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Pokušajte „%s --help” za više informacija.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "nepoznata -C opcija „%c”"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "fatalna greška analize"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr ""
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr ""
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
"newline characters\n"
msgstr ""
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr ""
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr ""
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr ""
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr ""
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr ""
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr ""
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Uporaba: %s [OPCIJE] [DATOTEKA]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -585,47 +585,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr ""
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr ""
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr ""
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr ""
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr ""
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "alokacija memorije za tablicu simbola nije uspjela"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr ""
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr ""
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "neispravan redak u datoteci predloška"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr ""
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -633,39 +634,39 @@ msgid ""
"********** beginning dump of nfa with start state %d\n"
msgstr ""
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr ""
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr ""
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr ""
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr ""
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr ""
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr ""
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr ""
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "previše pravila (> %d)!"
@@ -742,16 +743,16 @@ msgstr ""
msgid "incomplete name definition"
msgstr "nepotpuna definicija imena"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Redak opcija je predugačak\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr ""
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "neispravan razred znakova"
@@ -760,85 +761,89 @@ msgstr "neispravan razred znakova"
msgid "undefined definition {%s}"
msgstr "nedefinirana definicija {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr ""
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "nedostaje navodnik"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr ""
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "neispravan znak unutar {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "nedostaje }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr ""
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr ""
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "neispravan znak: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "ne mogu otvoriti %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Uporaba: %s [OPCIJE]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "opcija „%s” ne dozvoljava argument\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "opcija „%s” zahtijeva argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "opcija „%s” je višeznačna\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Neprepoznata opcija „%s”\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Nepoznata greška=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "alokacija memorije za tablicu simbola nije uspjela"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "ime je dvaput definirano"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr ""
diff --git a/po/ko.gmo b/po/ko.gmo
index 88e14e5..3620376 100644
--- a/po/ko.gmo
+++ b/po/ko.gmo
Binary files differ
diff --git a/po/ko.po b/po/ko.po
index ea66688..98417f3 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.2\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -15,15 +15,15 @@ msgstr ""
"Content-Type: text/plain; charset=EUC-KR\n"
"Content-Transfer-Encoding: 8-bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -31,26 +31,26 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "¹ȣ %d ޾Ƶ ʴ -Դϴ\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr " "
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " Ģ ȣ:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " : "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -59,11 +59,11 @@ msgstr ""
"\n"
" -: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "epsclosure() ϰ ˻簡 ߽ϴ"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -75,24 +75,24 @@ msgstr ""
"DFA :\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr " (end-of-buffer)¸ ϴ"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "¹ȣ %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr ""
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "sympartition() ߸ ڸ ãҽϴ"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -104,30 +104,30 @@ msgstr ""
"ġ:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "¹ȣ %d [%d] ޾ƵԴϴ\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "¹ȣ %d ޾ƵԴϴ: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr ""
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr ""
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
#, fuzzy
msgid "Could not write ecstbl"
msgstr "%s ϴ"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,402 +137,402 @@ msgstr ""
"\n"
"Ÿ-ġ:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr ""
-#: src/gen.c:1376
+#: src/gen.c:1362
#, fuzzy
msgid "Could not write yybase_tbl"
msgstr "%s ϴ"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr ""
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr ""
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr ""
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
#, fuzzy
msgid "Could not write ftbl"
msgstr "%s ϴ"
-#: src/gen.c:1646
+#: src/gen.c:1624
#, fuzzy
msgid "Could not write ssltbl"
msgstr "%s ϴ"
-#: src/gen.c:1697
+#: src/gen.c:1675
#, fuzzy
msgid "Could not write eoltbl"
msgstr "%s ϴ"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr ""
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "´ Ģ ã ϴ"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "-s ɼ ־ ⺻ Ģ ֽϴ"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "-lɼǿ -+ɼ ϴ"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "-lɼǿ -f -Fɼ ϴ"
-#: src/main.c:244
+#: src/main.c:229
#, fuzzy
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "-lɼǿ -f -Fɼ ϴ"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF -Cm ǹ̰ ϴ"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF -I ϴ"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF lexȣȯ ʹ ϴ"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf -CF ϴ"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "-CFɼǿ -+ɼ ϴ"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array -+ɼǰ ϴ"
-#: src/main.c:300
+#: src/main.c:285
#, fuzzy
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "-Cf -CF ϴ"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr ""
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "%s ϴ"
-#: src/main.c:417
+#: src/main.c:439
#, fuzzy
msgid "could not write tables header"
msgstr "%s ϴ"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "̷ %s ϴ"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "̷ %s д ߻߽ϴ"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "̷ %s ݴµ ߻߽ϴ"
-#: src/main.c:694
+#: src/main.c:715
#, fuzzy, c-format
msgid "error creating header file %s"
msgstr " %s µ ߻߽ϴ"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr " %s ߻߽ϴ"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr " %s ݴµ ߻߽ϴ"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr " %s ߻߽ϴ"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "ǵ ϴ.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d ǵ(޾Ƶ ʴ) .\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr " ̺ ׻ մϴ.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr " %s µ ߻߽ϴ"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr " %s ݴµ ߻߽ϴ"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s %s :\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " ij ɼ: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA \n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA (%d ܾ)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d Ģ\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " ǵ ϴ\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d ǵ(޾Ƶ ʴ) \n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " ̺ ׻ մϴ\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " (beginning-of-line) Ͽϴ\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d \n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d Ƿ , %d Ƿ \n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " ڷ ϴ\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d / ϴ\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d /ߺǴ \n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d ̺ Ʈ\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def Ʈ ϴ\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (ִ %d) nxt-chk Ʈ ϴ\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (ִ %d) øƮ nxt-chk Ʈ ϴ\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d ̺ Ʈ\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d ϴ\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d øƮ , %d ϴ\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d ġ ϴ\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d Ÿ ġ ϴ\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d(%d ) ؽ 浹 %d DFA ó˴ϴ\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d Ҵ ʿմϴ\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d ̺ Ʈ ʿմϴ\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr ""
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr ""
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr " -C ɼ '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, fuzzy, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "ġ Ľ "
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "ǵ %s ϴ"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "-l AT&T lex ȣȯ ɼ ū ϸ ŵϴ\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " ׸ Ƹ ٸ Դϴ\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, 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:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (ȭ) ұԸ ϸ ŵϴ\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() ұԸ ϸ ŵϴ\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT ū ϸ ŵϴ\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr " Ģ ū ϸ ŵϴ\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT -f -Fɼǰ ϴ"
-#: src/main.c:1568
+#: src/main.c:1587
#, fuzzy, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno -f -Fɼǰ ϴ"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr " Ģ -f -Fɼǰ ϴ"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass C++ijʿԸ ǹ̰ ֽϴ"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr ""
-#: src/main.c:1809
+#: src/main.c:1808
#, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -604,47 +604,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "̸ \"%s\" ϴ"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "allocate_array() ޸ Ҵ ߽ϴ"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "check_char() ߸ '%s' ãҽϴ"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "ijʿ %s ؼ -8ɼ ʿմϴ"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "copy_string() ޸ Ҵ ߽ϴ"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "allocate_array() ޸ Ҵ ߽ϴ"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: ġ , %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "迭 ũ⸦ ø õ ߽ϴ"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "̷ Ͽ ߸ "
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "yy_flex_xmalloc() ޸ Ҵ ߽ϴ"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -655,39 +656,39 @@ msgstr ""
"\n"
"********** %d nfa \n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr " ȣ %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** \n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "dupmachine() ӽ"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "%d࿡ Ģ\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "mark_beginning_as_normal() ߸ "
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "Է Ģ ʹ մϴ(>= NFA %d)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "mkxtion() ̰ ʹ ϴ"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "Ģ ʹ ϴ (> %d)!"
@@ -770,16 +771,16 @@ msgstr ""
msgid "incomplete name definition"
msgstr "ҿ ̸ "
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr ""
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr " %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "߸ ڷ"
@@ -788,86 +789,90 @@ msgstr "߸ ڷ"
msgid "undefined definition {%s}"
msgstr "ǵ {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "߸ < >: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "οȣ "
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "߸ : %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "{} ߸ "
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "} ϴ"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr " ߿ EOF ϴ"
-#: src/scan.l:945
+#: src/scan.l:951
#, fuzzy
msgid "EOF encountered inside pattern"
msgstr " ߿ EOF ϴ"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "߸ : %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "%s ϴ"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr ""
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr ""
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr ""
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr ""
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, fuzzy, c-format
msgid "Unrecognized option `%s'\n"
msgstr " %%option: %s"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr ""
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "ɺ ̺ ޸ Ҵ ߽ϴ"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "̸ ι ߽ϴ"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr " %s ι ߽ϴ"
@@ -1021,3 +1026,6 @@ msgstr "* ̻մϴ* - tok: %d val: %d\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.gmo b/po/nl.gmo
index 1c9cbef..ef31084 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index beade58..860899b 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex-2.5.38\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -20,15 +20,15 @@ msgstr ""
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Geheugenreservering voor stringprintbuffer is mislukt"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Geheugenreservering voor line-commandobuffer is mislukt"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Geheugenreservering voor buffer voor m4 def is mislukt"
@@ -36,26 +36,26 @@ msgstr "Geheugenreservering voor buffer voor m4 def is mislukt"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Geheugenreservering voor buffer voor m4 undef is mislukt"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Toestand #%d is niet-accepterend -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "gevaarlijke nakomende context"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " regelnummers van de betrokken voorschriften:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " uit-transities: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -64,11 +64,11 @@ msgstr ""
"\n"
" vastlopende transities: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "consistentiecontrole is mislukt in epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -80,24 +80,24 @@ msgstr ""
"DFA-dump:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "kon geen unieke toestand voor einde-van-buffer aanmaken"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "toestand # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Kan yynxt_tbl[][] niet schrijven"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "onjuist transitieteken in sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -109,29 +109,29 @@ msgstr ""
"Equivalentieklassen:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "toestand # %d accepteert: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "toestand # %d accepteert: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Kan yyacclist_tbl niet schrijven"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Kan yyacc_tbl niet schrijven"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Kan ecstbl niet schrijven"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -141,349 +141,349 @@ msgstr ""
"\n"
"Meta-equivalentieklassen:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Kan yymeta_tbl niet schrijven"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Kan yybase_tbl niet schrijven"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Kan yydef_tbl niet schrijven"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Kan yynxt_tbl niet schrijven"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Kan yychk_tbl niet schrijven"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Kan ftbl niet schrijven"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Kan ssltbl niet schrijven"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Kan eoltbl niet schrijven"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Kan yynultrans_tbl niet schrijven"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "voorschrift geeft geen overeenkomsten"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr ""
"optie '-s' is gegeven, maar het standaardvoorschrift geeft overeenkomsten"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Optie '-+' gaat niet samen met '-l'"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Optie '-f' of '-F' gaat niet samen met '-l'"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Optie '--reentrant' of '--bison-bridge' gaat niet samen met '-l'"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "Opties -Cf/-CF en -Cm gaan niet samen"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "Opties -Cf/-CF en -I gaan niet samen"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "Optie -Cf of -CF gaat niet samen met lex-compatibiliteitsmodus"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "Opties -Cf en -CF sluiten elkaar uit"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Optie '-+' gaat niet samen met '-CF'"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "Optie '-+' gaat niet samen met %array"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Opties '-+' en '--reentrant' sluiten elkaar uit."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison bridge wordt niet ondersteund voor de C++-scanner."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "kan %s niet aanmaken"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "kan tabellenkop niet schrijven"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "kan skeletbestand %s niet openen"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "geheugenreservering voor macrodefinitie is mislukt"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "invoerfout tijdens lezen van skeletbestand %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "fout tijdens sluiten van skeletbestand %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "fout tijdens aanmaken van headerbestand %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "fout tijdens schrijven van uitvoerbestand %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "fout tijdens sluiten van uitvoerbestand %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "fout tijdens verwijderen van uitvoerbestand %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Terugstappen is niet mogelijk.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d terugstappende (niet-accepterende) toestanden.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Gecomprimeerde tabellen kunnen altijd terugstappen.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "fout tijdens schrijven van terugstapbestand %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "fout tijdens sluiten van terugstapbestand %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s versie %s gebruiksstatistieken:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " scanneropties: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA-toestanden\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA-toestanden (%d woorden)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d voorschriften\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Terugstappen is niet mogelijk\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d terugstappende (niet-accepterende) toestanden\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Gecomprimeerde tabellen kunnen altijd terugstappen\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Begin-van-regel-patronen gebruikt\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d startvoorwaarden\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilontoestanden, %d dubbele epsilontoestanden\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " geen tekenklassen\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d toestand/volgtoestand-paren aangemaakt\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d unieke/dubbele transities\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d tabelitems\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def-items aangemaakt\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (piek %d) nxt-chk-items aangemaakt\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (piek %d) sjabloon-nxt-chk-items aangemaakt\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d lege tabelitems\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototypes aangemaakt\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d sjablonen aangemaakt, %d keer gebruikt\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d equivalentieklassen aangemaakt\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d meta-equivalentieklassen aangemaakt\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d bewaarde) hash-botsingen, %d DFA's gelijk\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d sets van herallocaties waren nodig\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " in totaal %d tabelitems nodig\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "*Interne fout*: ongeldige flexopts.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Typ '%s --help' voor meer informatie.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "onbekende -C-optie '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "fatale ontledingsfout"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "kon terugstapbestand %s niet aanmaken"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -492,54 +492,54 @@ msgstr ""
"de %%optie yylineno betekent een prestatievermindering, maar ALLEEN voor "
"voorschriften die met het regeleindeteken overeen kunnen komen\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "optie '-I' (interactief) betekent een kleine prestatievermindering\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() betekent een kleine prestatievermindering\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT betekent een grote prestatievermindering\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
"Voorschriften met variabele nakomende context betekenen een grote "
"prestatievermindering\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT gaat niet samen met -f of -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%optie yylineno gaat niet samen met REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
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'"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%optie yyclass heeft alleen betekenis voor C++-scanners"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Gebruik: %s [OPTIE...] [BESTAND...]\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -677,47 +677,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "geheugenreservering voor 'sko_stack' is mislukt"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "naam is belachelijk lang: \"%s\""
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "geheugenreservering is mislukt in allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "onjuist teken '%s' in check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamische geheugenfout in copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "geheugenreservering is mislukt in allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: **fatale interne programmafout**, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "vergroting van array is mislukt"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "onjuiste regel in skeletbestand"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "geheugenreservering is mislukt in yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -728,39 +729,39 @@ msgstr ""
"\n"
"********** begin van dump van NFA met starttoestand %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "toestand # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** einde van de dump\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "lege machine in dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "onjuist toestandstype in mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "invoervoorschriften zijn te ingewikkeld (>= %d NFA-toestanden)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "te veel transities gevonden in mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "te veel voorschriften (> %d)!"
@@ -839,16 +840,16 @@ msgstr "Definitiewaarde voor {%s} is te lang\n"
msgid "incomplete name definition"
msgstr "onvolledige naamsdefinitie"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Optiesregel is te lang\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "onbekende %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "onjuiste tekenklasse"
@@ -857,85 +858,89 @@ msgstr "onjuiste tekenklasse"
msgid "undefined definition {%s}"
msgstr "ongedefinieerde definitie {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "onjuiste <startvoorwaarde>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "ontbrekend aanhalingsteken"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "onjuiste expressie '%s' in tekenklasse"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "onjuist teken tussen {}'s"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "ontbrekende }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF werd bereikt tijdens een actie"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "EOF werd bereikt binnen een patroon"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "onjuist teken: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "kan %s niet openen"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Gebruik: %s [OPTIE...]\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "optie '%s' staat geen argument toe\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "optie '%s' vereist een argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "optie '%s' is niet eenduidig\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Onbekende optie '%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Onbekende fout=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "geheugenreservering voor symbolentabel is mislukt"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "naam is twee keer gedefinieerd"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "startvoorwaarde %s is twee keer vermeld"
@@ -953,3 +958,6 @@ msgstr "Eindmarkering\n"
#, 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.gmo b/po/pl.gmo
index 64762b1..68f66fd 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 47ba9bd..bb8eed2 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.36\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Przydzielenie bufora do wypisania acucha nie powiodo si"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Przydzielenie bufora dla dyrektywy linii nie powiodo si"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Przydzielenie bufora dla polecenia m4 def powiodo si"
@@ -32,26 +32,26 @@ msgstr "Przydzielenie bufora dla polecenia m4 def powiodo si"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Przydzielenie bufora dla polecenia m4 undef powiodo si"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Stan #%d jest nieakceptujcy -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "niebezpieczny kontekst kocowy"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " numery linii powizanych regu:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " przejcia-wyjciowe: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" przejcia-zaptlajce: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "kontrola spjnoci nie powioda si w epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,24 +76,24 @@ msgstr ""
"Zrzut DFA:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "nie mona utworzy unikalnego stanu koca bufora"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "stan # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Nie mona zapisa yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "wykryto bdny znak przejcia w sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -105,29 +105,29 @@ msgstr ""
"Klasy rwnowanoci:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "stan # %d akceptuje: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "stan # %d akceptuje: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Nie mona zapisa yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Nie mona zapisa yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Nie mona zapisa ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,344 +137,344 @@ msgstr ""
"\n"
"Klasy meta-rwnowanoci:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Nie mona zapisa yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Nie mona zapisa yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Nie mona zapisa yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Nie mona zapisa yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Nie mona zapisa yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Nie mona zapisa ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Nie mona zapisa ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Nie mona zapisa eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Nie mona zapisa yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "nie mona dopasowa reguy"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "podano opcj -s, ale domylna regua moe by dopasowana"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Nie mona uy -+ z opcj -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Nie mona uy -f ani -F z opcj -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Nie mona uy --reentrant ani --bison-bridge z opcj -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF i -Cm razem nie maj sensu"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF i -I s niekompatybilne"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF s niekompatybilne z trybem kompatybilnoci z leksem"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf i -CF wykluczaj si wzajemnie"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Nie mona uy -+ z opcj -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array jest niekompatybilne z opcj -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Opcje -+ i --reentrant wykluczaj si wzajemnie."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "pomost dla bisona nie jest obsugiwany dla skanera C++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "nie mona utworzy %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "nie mona zapisa nagwka tablic"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "nie mona otworzy pliku szablonu %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "przydzielenie pamici dla definicji makra nie powiodo si"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "bd wejcia podczas odczytu pliku szablonu %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "bd podczas zamykania pliku szablonu %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "bd podczas tworzenia pliku nagwkowego %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "bd podczas zapisu pliku wyjciowego %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "bd podczas zamykania pliku wyjciowego %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "bd podczas usuwania pliku wyjciowego %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Bez zapamitywania.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d zapamitywanych stanw (nie akceptujcych).\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Skompresowane tablice zawsze zapamituj.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "bd podczas zapisu pliku raportu z zapamitywania %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "bd podczas zamykania pliku raportu z zapamitywania %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s w wersji %s - statystyka uycia:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " opcje skanera: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d stanw NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d stanw DFA (%d sw)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d regu\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Bez zapamitywania\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d zapamitywanych stanw (nie akceptujcych)\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Skompresowane tablice zawsze zapamituj\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Uytych wzorcw pocztek-linii\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d warunkw pocztkowych\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d stanw epsilonowych, %d stanw podwjnie epsilonowych\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " bez klas znakw\n"
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr ""
" %d/%d klas znakw potrzebuje %d/%d sw pamici, %d ponownie uytych\n"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d utworzonych par stan/nastpny-stan\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d przej unikalny/duplikat\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d elementw tablicy\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d utworzonych elementw base-def\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (maksymalnie %d) utworzonych elementw nxt-chk\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (maksymalnie %d) utworzonych szablonowych elementw nxt-chk\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d pustych elementw tablicy\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d utworzonych prototypw\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d utworzonych szablonw, %d uy\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d utworzonych klas rwnowanoci\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d utworzonych klas meta-rwnowanoci\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d zachowanych) kolizji haszy, %d jednakowych DFA\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d potrzebnych zbiorw realokacji\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d potrzebnych ogem elementw tablicy\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Bd wewntrzny. le sformuowane flexopts.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "`%s --help' poda wicej informacji.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "nieznana opcja -C '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "krytyczny bd analizy skadni"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "nie mona utworzy pliku informacji o zapamitywaniu %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "opcja -l zgodnoci z leksem AT&T powoduje du strat wydajnoci\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " i moe by przyczyn innych zgaszanych strat wydajnoci\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -483,51 +483,51 @@ msgstr ""
"%%option yylineno powoduje straty wydajnoci TYLKO dla regu dopasowujcych "
"znak koca linii\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interaktywny) powoduje ma strat wydajnoci\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() powoduje ma strat wydajnoci\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT powoduje du strat wydajnoci\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
"Reguy ze zmiennym kocowym kontekstem powoduj du strat wydajnoci\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT nie moe by uyte z -f ani -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno nie moe by uyte z REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr "reguy ze zmiennym kocowym kontekstem nie mog by uyte z -f ani -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass ma znaczenie tylko dla skanerw C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Skadnia: %s [OPCJE] [PLIK]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -667,47 +667,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "przydzielenie sko_stack nie powiodo si"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "nazwa \"%s\" jest miesznie duga"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "nie udao si przydzieli pamici w allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "bdny znak '%s' usunity w check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "skaner wymaga flagi -8 aby uy znaku %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "niepowodzenie dynamicznej pamici w copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "nie udao si przydzieli pamici w allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: krytyczny bd wewntrzny: %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "prba zwikszenia rozmiaru tablicy nie powioda si"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "bdna linia w pliku szablonu"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "nie udao si przydzieli pamici w yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -718,39 +719,39 @@ msgstr ""
"\n"
"********** pocztek zrzutu NFA ze stanem pocztkowym %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "stan # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** koniec zrzutu\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "pusty automat w dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Regua ze zmiennym kocowym kontekstem w linii %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "bdny typ stanu w mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "reguy wejciowe s zbyt skomplikowane (>= %d stanw NFA)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "znaleziono zbyt duo przej w mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "zbyt duo regu (> %d)!"
@@ -833,16 +834,16 @@ msgstr "Definicja wartoci dla {%s} zbyt duga\n"
msgid "incomplete name definition"
msgstr "niekompletna definicja nazwy"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Linia opcji zbyt duga\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "nierozpoznane %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "bdna klasa znakw"
@@ -851,85 +852,89 @@ msgstr "bdna klasa znakw"
msgid "undefined definition {%s}"
msgstr "niezdefiniowana definicja {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "bdny <warunek pocztkowy>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "brak cudzysowu"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "bdne wyraenie klasy znakw: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "bdny znak wewntrz {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "brak }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF napotkany wewntrz akcji"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "EOF napotkany wewntrz wzorca"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "bdny znak: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "nie mona otworzy %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Skadnia: %s [OPCJE]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "opcja `%s' nie przyjmuje argumentu\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "opcja `%s' wymaga argumentu\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "opcja `%s' jest niejednoznaczna\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Nierozpoznana opcja `%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Nieznany bd=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "nie udao si przydzieli pamici dla tablicy symboli"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "nazwa zdefiniowana dwukrotnie"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "warunek pocztkowy %s zadeklarowany dwukrotnie"
@@ -947,3 +952,6 @@ msgstr "Znacznik koca\n"
#, 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 pamici w copy_string()"
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 510596a..22fcf1e 100644
--- a/po/pt_BR.gmo
+++ b/po/pt_BR.gmo
Binary files differ
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 8e8638d..3abdb39 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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."
@@ -20,15 +20,15 @@ msgstr ""
"X-Generator: Poedit 1.5.7\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-#: src/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"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "A alocação de buffer para diretiva de linha falhou"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "A alocação de buffer para m4 def falhou"
@@ -36,26 +36,26 @@ msgstr "A alocação de buffer para m4 def falhou"
msgid "Allocation of buffer for m4 undef failed"
msgstr "A alocação de buffer para m4 undef falhou"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "O estado #%d é não-aceita -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "texto final perigoso"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " números de linha de regras associadas:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " transações de saída: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -64,11 +64,11 @@ msgstr ""
"\n"
" transições presas: Fim de Arquivo "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "verificação de consistência falhou em epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -80,24 +80,24 @@ msgstr ""
"Despejo DFA:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "não foi possível criar um estado único de final de buffer"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "estado # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Não foi possível escrever yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "caractere de transição inválido detectado em sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -109,29 +109,29 @@ msgstr ""
"Classes de Equivalência:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "estado # %d aceita: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "estado # %d aceita: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Não foi possível escrever yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Não foi possível escrever yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Não foi possível escrever ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -141,349 +141,349 @@ msgstr ""
"\n"
"Classes de Meta-Equivalência:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Não foi possível escrever yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Não foi possível escrever yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Não foi possível escrever yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Não foi possível escrever yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Não foi possível escrever yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Não foi possível escrever ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Não foi possível escrever ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Não foi possível escrever eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Não foi possível escrever yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "aplicação da regra não gerou nenhum resultado"
-#: src/main.c:197
+#: src/main.c:184
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"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Não é possível usar -+ com a opção -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Não é possível usar -f ou -F com a opção -l"
-#: src/main.c:244
+#: src/main.c:229
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"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF e -Cm não fazem sentido juntos"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF e -I são incompatíveis"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF são incompatíveis com o modo de compatibilidade lex"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf e -CF são mutuamente exclusivos"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Não é possível usar -+ com a opção -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array é incompatível com a opção -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "As opções -+ e --reentrant são mutuamente exclusivas."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "sem suporte à ponte bison pelo scanner de C++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "não foi possível criar %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "não foi possível escrever o cabeçalho das tabelas"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "não é possível abrir o arquivo esqueleto %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "a alocação de definição de macro falhou"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "erro lendo o arquivo esqueleto %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "erro fechando o arquivo esqueleto %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "erro ao criar o arquivo cabeçalho %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "erro ao gravar o arquivo de saída %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "erro ao fechar o arquivo de saída %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "erro ao remover o arquivo de saída %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Impossível restaurar.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d fazendo cópia de segurança de estados (não-aceita).\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Tabelas compactadas sempre têm cópias de segurança.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "erro ao gravar a cópia de segurança %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "erro ao fechar a cópia de segurança %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s versão %s estatísticas de uso:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " opções de scanner: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d estados NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d estados DFA (%d palavras)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d regras\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Sem cópia de segurança\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d fazendo cópia de segurança de estados (não-aceita)\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Tabelas compactadas sempre têm cópias de segurança\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Padrões de início-de-linha usados\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d condições de início\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d estados epsilon, %d estados epsilon duplo\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " nenhuma classe de caracteres\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d pares estado/próximoestado criados\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d transições únicas/duplicadas\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d entradas de tabela\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d entradas base-def criadas\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (pico %d) entradas nxt-chk criadas\n"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d entradas vazias na tabela\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d protos criados\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d modelos criados, %d usos\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d classes de equivalência criadas\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d classes de meta-equivalência criadas\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d salvas) colisões de hash, %d DFAs iguais\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d conjuntos de realocação necessários\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d total de entradas de tabela necessárias\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Erro interno. flexopts estão malformados.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Tente \"%s --help\" para maiores informações.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "opção -C \"%c\" desconhecida"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "erro fatal de análise"
-#: src/main.c:1500
+#: src/main.c:1519
#, 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"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -492,53 +492,53 @@ msgstr ""
"%%option yylineno acarreta em uma penalidade na performance APENAS em regras "
"que podem bater caracteres de nova linha\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interativo) acarreta em uma pequena penalidade na performance\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() acarreta em uma pequena penalidade na performance\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT acarreta em uma grande penalidade na performance\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT não pode ser usado com -f ou -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno não pode ser usada com REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass só tem sentido para scanners C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Uso: %s [OPÇÕES] [ARQUIVO]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -676,47 +676,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "alocação de sko_stack falhou"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "nome \"%s\" ridiculamente longo"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "alocação de memória falhou em allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "caractere inválido \"%s\" detectado em check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "falha dinâmica de memória em copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "alocação de memória falhou em allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: erro interno fatal, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "tentativa de aumentar o tamanho do vetor falhou"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "linha inválida no arquivo de esqueleto"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "alocação de memória falhou em yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -727,39 +728,39 @@ msgstr ""
"\n"
"********** iniciando despejo de nfa com estado inicial %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "estado # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** final do despejo\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "máquina vazia em dupmachine()"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "estado de tipo inválido em mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "regras de entrada são muito complicadas (>= %d estados NFA)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "muitas transições em mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "muitas regras (> %d)!"
@@ -837,16 +838,16 @@ msgstr "Valor de definição para {%s} muito longo\n"
msgid "incomplete name definition"
msgstr "definição de nome incompleta"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Linha de opção muito longa\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "%%option não reconhecida: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "classe de caractere inválida"
@@ -855,85 +856,89 @@ msgstr "classe de caractere inválida"
msgid "undefined definition {%s}"
msgstr "definição indefinida {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "<condição de início> inválida: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "faltou aspa"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "expressão de classe de caractere inválida: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "caracatere inválido entre {}'s"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "faltou }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "Fim de Arquivo encontrado dentro de uma ação"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "Fim de Arquivo encontrado dentro do padrão"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "caracter inválido: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "não foi possível abrir %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Uso: %s [OPÇÕES]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "opção \"%s\" não permite argumentos\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "opção \"%s\" requer um argumento\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "opção \"%s\" é ambígua\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Opção \"%s\" desconhecida\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Erro desconhecido=(%d)\n"
-#: src/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"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "nome definido duas vezes"
-#: src/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"
@@ -952,6 +957,9 @@ msgstr "Marca de Fim\n"
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"
diff --git a/po/ro.gmo b/po/ro.gmo
index f5e03e1..4c546a3 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index dc237c8..214e86b 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.31\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -15,15 +15,15 @@ msgstr ""
"Content-Type: text/plain; charset=ISO-8859-2\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -31,26 +31,26 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Starea #%d este de neacceptat. -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "context de sfrit(trailing) periculos"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " numerele de linie asociate regulii:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " tranziii exterioare(out): "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -59,11 +59,11 @@ msgstr ""
"\n"
" tranziii jam: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "verificare de consisten euat n epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -75,24 +75,24 @@ msgstr ""
"Rezultat(dump) DFA:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "nu am putut crea sfrit unic pentru starea buffer-ului"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "stare # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Nu am putut scrie yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "caracter greit de tranziie detectat n sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -104,29 +104,29 @@ msgstr ""
"Clase de Echivalen:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "starea # %d accept: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "starea # %d accept: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Nu am putut scrie yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Nu am putut scrie yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Nu am putut scrie ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -136,346 +136,346 @@ msgstr ""
"\n"
"Clase de Meta-Echivalen:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Nu am putut scrie yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Nu am putut scrie yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Nu am putut scrie yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Nu am putut scrie yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Nu am putut scrie yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Nu am putut scrie ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Nu am putut scrie ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Nu am putut scrie eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Nu am putut scrie yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "regula nu se potrivete cu nimic"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "a fost dat opiunea -s dar regula implicit se poate potrivi"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Nu se poate folosi -+ cu opiunea -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Nu se poate folosi -f sau -F cu opiunea -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Nu se poate folosi --reentrant sau --bison-bridge cu opiunea -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF i -Cm nu au sens folosite mpreun"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF i -I sunt incompatibile"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF sunt incompatibile cu module de compatibilitate lex"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf i -CF se exclud reciproc"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Nu se poate folosi -+ cu opiunea -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array incompatibil cu opiunea -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Opiunile -+ and --reentrant se exclud reciproc"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bridge bison nu este suportat pentru scannerul C++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "nu am putut crea %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "Nu am putut scrie capul de tabel"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "nu am putut deschide fiierul schelet %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "eroare de intrare(input) n timpul citirii fiierului schelet %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "eroare n nchiderea fiierului schelet %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "eroare n crearea fiierului de header %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "eroare n scrierea fiierului de output %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "eroare n nchiderea fiierului de output %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "eroare n tergerea fiierului de output %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Nu se revine (backing-up).\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d salvare de (inacceptabile) stri.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Tabelele compresate ntotdeauna au back-up.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "eroare n scrierea fiierului de backup %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "eroare n nchiderea fiierului de backup %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s versiunea %s statistici de folosire:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " opiuni de scanner: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d stri NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d stri DFA (%d cuvinte)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d reguli\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Nu se face backup\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d salvare de (inacceptabile) stri\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Tabelele compresate ntotdeauna au back-up\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Tipare de nceputuri de linie folosite\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d condiii de start\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d stri epsilon, %d stri dublu epsilon\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " nici o clas de caractere\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d perechi de stare/stareurmtoare create\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d tranziii unice/duplicate\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d intrri n tabele\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def intrri create\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (maxim %d) nxt-chk intrri create\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (maxim %d) model nxt-chk intrri create\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d intrri n tabel goale\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototipuri create\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d modele create, %d folosiri\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d clase de echivalen create\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d clase de meta-echivalen create\n"
-#: src/main.c:915
+#: src/main.c:936
#, 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"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d seturi de realocri necesare\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d intrri totale n tabel necesare\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Eroare intern. Opiunile flex(flexopts) sunt malformate.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "ncercai `%s --help' pentru mai multe informaii.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "opiune -C necunoscut `%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "eroare fatal de analiz(parse)"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "nu s-a putut crea fiierul de informaii de back-up %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
"-l opiunea de compatibilitate AT&T lex determin o scdere drastic a "
"performanei\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr "i poate fi sursa real a altor scderi de performan raportate\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -484,53 +484,53 @@ msgstr ""
"%%opiunea yylineno determin o scdere drastic a performanei DOAR n "
"regulile care se potrivesc caracterelor linie_nou(newline)\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interactie) determin o scdere minor a performanei\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() determin o scdere minor a performanei\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT determin o scdere drastic a performanei\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
"Contextul de sfrit(trailing) variabil determin o scdere drastic a "
"performanei\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT nu poate fi folosit cu -f sau -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%opiunea yylineno nu poate fi folosit cu REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"contextul de sfrit(trailing) variabil nu poate fi folosit cu -f sau -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%opunea yyclass este folositoare doar pentru scannerele C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Folosire: %s [OPIUNI] [FIIER]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -668,47 +668,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "numele \"%s\" este ridicol de lung"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "alocare de memorie euat n allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "caracter greit `%s' detectat n check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "scannerul necesit parametrul(flag) -8 pentru a folosi caracterul %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "eroare de memorie dinamic n copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "alocare de memorie euat n allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: eroare intern fatal, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "ncercare de a mri dimensiunea domeniului euat"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "linie greit n fiierul schelet"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "alocare de memorie euat n yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -719,39 +720,39 @@ msgstr ""
"\n"
"********** nceperea aducerii(dump) nfa cu starea de nceput %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "stare # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** sfrit de aducere(dump)\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "main vid n dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Regul de context de sfrit variabil la linia %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "tip de stare greit n mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "regulile de intrare(input) sunt prea complicate (>= %d stri NFA)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "s-au gsit prea multe tranziii n mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "prea multe reguli (> %d)!"
@@ -837,17 +838,17 @@ msgstr ""
msgid "incomplete name definition"
msgstr "definire de nume incomplet"
-#: src/scan.l:443
+#: src/scan.l:444
#, fuzzy
msgid "Option line too long\n"
msgstr "Linie de intrare(input) prea lung\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "%%opiune necunoscut: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "clas de caractere greit"
@@ -856,86 +857,90 @@ msgstr "clas de caractere greit"
msgid "undefined definition {%s}"
msgstr "definiie nedefinit {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "<condiie de start> greit: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "menionare(quote) lips"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "expresie clas caracter greit: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "caracter eronat ntre {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "lipsete }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "EOF ntlnit n mijlocul aciunii"
-#: src/scan.l:945
+#: src/scan.l:951
#, fuzzy
msgid "EOF encountered inside pattern"
msgstr "EOF ntlnit n mijlocul aciunii"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "caracter eronat: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "nu pot deschide %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Folosire: %s [OPIUNI]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "opiunea `%s' nu permite parametri\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "opiunea `%s' necesit un parametru\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "opiunea `%s' este ambigu\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Opiune necunoscut `%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Eroare necunoscut=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "alocare de memorie pentru tabela de simboluri euat"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "nume definit de dou ori"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "condiie de start %s definit de dou ori"
@@ -957,6 +962,9 @@ msgstr "*Ceva Ciudat* - tok: %d val: %d\n"
#~ msgid "consistency check failed in symfollowset"
#~ msgstr "verificare de consisten euat 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 opiunea de header dac se scrie la stdout"
diff --git a/po/ru.gmo b/po/ru.gmo
index c404d06..a5cc2e8 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index d7609cb..76c6585 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.38\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -20,15 +20,15 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Lokalize 1.4\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Не удалось выделить буфер для выводимой строки"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Не удалось выделить буфер для строковой директивы"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Не удалось выделить буфер для m4 def"
@@ -36,26 +36,26 @@ msgstr "Не удалось выделить буфер для m4 def"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Не удалось выделить буфер для m4 undef"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Состояние #%d не допускает -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "опасный замыкающий контекст"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " номера строк ассоциированного правила:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " out-переходы: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -64,11 +64,11 @@ msgstr ""
"\n"
" jam-переходы: EOF "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "ошибка при проверке на целостность в epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -80,24 +80,24 @@ msgstr ""
"Дамп ДКА:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "невозможно создать уникальное состояние конца буфера"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "состояние # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Невозможно записать yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "обнаружен неверный переходный символ в sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -109,29 +109,29 @@ msgstr ""
"Классы эквивалентности:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "состояние # %d допускает: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "состояние # %d допускает: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Невозможно записать yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Невозможно записать yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Невозможно записать ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -141,348 +141,348 @@ msgstr ""
"\n"
"Мета-эквивалентные Классы:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Невозможно записать yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Невозможно записать yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Невозможно записать yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Невозможно записать yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Невозможно записать yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Невозможно записать ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Невозможно записать ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Невозможно записать eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Невозможно записать yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "невозможно применить правило"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "указан параметр -s, но правило по умолчанию не может быть применено"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Невозможно использовать -+ с параметром -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Невозможно использовать -f или -F с параметром -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Невозможно использовать --reentrant или --bison-bridge с параметром -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "Параметры -Cf/-CF и -Cm вместе не имеют смысла"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "Параметры -Cf/-CF и -I несовместимы"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "Параметры -Cf/-CF несовместимы с режимом lex-совместимости"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "Параметры -Cf и -CF являются взаимоисключающими"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Невозможно использовать -+ с параметром -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array несовместим с параметром -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Параметры -+ и --reentrant являются взаимоисключающими."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison bridge не поддерживается для сканера C++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "невозможно создать %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "Невозможно записать заголовок таблиц"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "Невозможно открыть файл-каркас %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "Не удалось разместить определение макроса"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "ошибка чтения файла-каркаса %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "ошибка при закрытии файла-каркаса %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "ошибка создания заголовочного файла %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "ошибка записи в выходной файл %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "ошибка закрытия выходного файла %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "ошибка удаления выходного файла %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Резервное копирование отключено.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "резервное копирование %d (недопустимых) состояний.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Резервное копирование сжатых таблиц выполняется всегда.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "ошибка записи резервной копии файла %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "ошибка закрытия резервной копии файла %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "статистика использования %s версии %s:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " параметры сканера: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d состояний НКА\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d состояний ДКА (%d слов)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d правил\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Резервное копирование отключено\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " резервное копирование %d (недопустимых) состояний\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Резервное копирование сжатых таблиц выполняется всегда\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Используются шаблоны начала строки\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d начальных условий\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d эпсилон-состояний, %d двойных эпсилон-состояний\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " отсутствуют классы символов\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " создано %d пар состояние/след_состояние\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d уникальных/повторяющихся переходов\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d элементов таблицы\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " создано %d/%d base-def элементов\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " создано %d/%d (пик %d) nxt-chk элементов\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " создано %d/%d (пик %d) шаблонных nxt-chk элементов\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d пустых элементов таблицы\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " создано %d прототипов\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " создано %d шаблонов, %d используются\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " созданы классы эквивалентности %d/%d\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d мета-эквивалентных классов создано\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d записано) коллизий хэш-таблицы, %d эквивалентных ДКА\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " требуется %d наборов повторных размещений\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " всего требуется %d элементов таблицы\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Внутренняя ошибка. Неправильное значение flexopts.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Попробуйте «%s --help» для получения более подробного описания.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "неизвестное значение «%c» для -C"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "фатальная ошибка разбора"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "невозможно создать резервную копию информационного файла %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
"Параметр -l совместимости с AT&T lex влечёт значительное снижение "
"производительности\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr ""
" и также может быть истинным источником проблем с производительностью\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -491,54 +491,54 @@ msgstr ""
"%%option yylineno влечёт значительное снижение производительности ТОЛЬКО для "
"правил, которые могут совпадать с символами новой строки\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (интерактивный) влечёт незначительное снижение производительности\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() приводит к небольшому снижению производительности\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT влечёт значительное снижение производительности\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
"Правила с переменным замыкающим контекстом приводят к значительному снижению "
"производительности\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT не может быть использован вместе с -f или -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno не может быть использован с REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"правила с переменным замыкающим контекстом не могут быть использованы с -f "
"или -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass имеет смысл только для сканеров C++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Использование: %s [ПАРАМЕТРЫ] [ФАЙЛ]…\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -678,47 +678,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "не удалось разместить sko_stack"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "имя «%s» нелепо длинное"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "ошибка выделения памяти в allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "найден неверный символ «%s» в check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "для использования символа %s сканеру требуется параметр -8"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "ошибка при работе с динамической памятью в copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "ошибка выделения памяти в allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: фатальная внутренняя ошибка, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "ошибка при попытке увеличить размер массива"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "неверная строка в файле-каркасе"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "ошибка при выделении памяти в yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -729,39 +730,39 @@ msgstr ""
"\n"
"******** начало дампа конечного автомата с начальным состоянием %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "состояние # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********* конец дампа\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "пустой автомат в dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Правило с переменным замыкающим контекстом в строке %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "неверный тип состояния в mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "входные правила слишком сложные (>= %d состояний НКА)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "найдено слишком много переходов в mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "слишком много правил (> %d)!"
@@ -844,16 +845,16 @@ msgstr "Слишком длинное определение значения д
msgid "incomplete name definition"
msgstr "неполное определение имени"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Слишком длинный параметр\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "нераспознанный %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "неверный класс символа"
@@ -862,85 +863,89 @@ msgstr "неверный класс символа"
msgid "undefined definition {%s}"
msgstr "неопределенное определение {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "неверное <начальное условие>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "отсутствуют кавычки"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "неверное выражение класса символа: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "неверный символ внутри {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "отсутствует }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "встречен EOF внутри действия"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "встречен EOF внутри шаблона"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "неверный символ: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "невозможно открыть %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Использование: %s [ПАРАМЕТРЫ]…\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "параметр «%s» должен использоваться без аргумента\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "параметр «%s» должен использоваться с аргументом\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "неоднозначный ключ «%s»\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Нераспознанный параметр «%s»\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Неизвестная ошибка=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "ошибка при выделении памяти для таблицы символов"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "имя определено дважды"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "начальное условие %s описано дважды"
@@ -959,6 +964,9 @@ msgstr "Метка конца\n"
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.gmo b/po/sr.gmo
index 0454f7c..2049e87 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 6d24b18..f07cd53 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex-2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
"PO-Revision-Date: 2013-10-30 18:20+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
@@ -17,15 +17,15 @@ msgstr ""
"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"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "Није успело додељивање међумеморије нисци исписивања"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "Није успело додељивање међумеморије за одредницу реда"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "Није успело додељивање међумеморије за одредницу м4"
@@ -33,26 +33,26 @@ msgstr "Није успело додељивање међумеморије за
msgid "Allocation of buffer for m4 undef failed"
msgstr "Није успело додељивање међумеморије за поништавање одреднице м4"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Стање #%d је не-прихватљиво —\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "опасан пратећи контекст"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " бројеви реда придруженог правила:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " ван-прелаза:"
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -61,11 +61,11 @@ msgstr ""
"\n"
" јам-прелази: крај датотеке"
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "провера доследности није успела у „epsclosure()“"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -77,24 +77,24 @@ msgstr ""
"ДФА испис:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "не могу да направим јединствено стање краја међумеморије"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "стање # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Не могу да запишем „yynxt_tbl[][]“"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "откривен је лош знак прелаза у „sympartition()“"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -106,29 +106,29 @@ msgstr ""
"Разреди једнакости:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "стање # %d прихвата: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "стање # %d прихвата: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Не могу да запишем „yyacclist_tbl“"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Не могу да запишем „yyacc_tbl“"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Не могу да запишем „ecstbl“"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -138,345 +138,345 @@ msgstr ""
"\n"
"Разреди мета-једнакости:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Не могу да запишем „yymeta_tbl“"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Не могу да запишем „yybase_tbl“"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Не могу да запишем „yydef_tbl“"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Не могу да запишем „yynxt_tbl“"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Не могу да запишем „ychk_tbl“"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Не могу да запишем „ftbl“"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Не могу да запишем „ssltbl“"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Не могу да запишем „eoltbl“"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Не могу да запишем „yynultrans_tbl“"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "правило не може бити поклопљено"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "дата је опција „-s“ али основно правило може бити поклопљено"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Не могу да користим -+ са опцијом „-l“"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "Не могу да користим „-f“ или „-F“ са опцијом „-l“"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "Не могу да користим „--reentrant“ или „--bison-bridge“ са опцијом „-l“"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "„-Cf/-CF“ и „-Cm“ немају смисла заједно"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "„-Cf/-CF“ и „-I“ су несагласне"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "„-Cf/-CF“ су несагласни са режимом лекс-сагласности"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "„-Cf“ и „-CF“ се међусобно искључују"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Не могу да користим -+ са опцијом „-CF“"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%aниз није сагласан са опцијом -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Опције -+ и „--reentrant“ се међусобно искључују."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "бизонов мост није подржан за Ц++ скенер."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "не могу да направим %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "не могу да запшем бестаблично заглавље"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "Не могу да отворим датотеку окоснице „%s“"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "није успело додељивање одреднице макроа"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "грешка улаза читања датотеке окоснице „%s“"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "грешка затварања датотеке окоснице „%s“"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "грешка стварања датотеке заглавља „%s“"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "грешка записивања излазне датотеке „%s“"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "грешка затварања излазне датотеке „%s“"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "грешка брисања излазне датотеке „%s“"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Не правим резерву.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d стварам резерве (не-прихватам) стања.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Сжете табеле увек стварају резерву.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "грешка записивања датотеке резерве „%s“"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "грешка затварања датотеке резерве „%s“"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "Статистика коришћења %s издања%s:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " опције прегледача: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d НФА стања\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d ДФА стања (%d речи)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d правила\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Не правим резерву\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d стварам резерве (не-прихватам) стања\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Сжете табеле увек стварају резерву\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Коришћени су шаблони почетка-реда\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d услови покретања\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d стања ипсилона, %d стања двоструког ипсилона\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " нема разреда знака\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d пара стања/следећег_стања је направљено\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d јединствена/удвостручена прелаза\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d уноса табеле\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " направљено је %d/%d уноса основне одреднице\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " направљено је %d/%d (врх %d) „nxt-chk“ уноса\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " направљено је %d/%d (врх %d)шаблона „nxt-chk“ уноса\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d празна уноса табеле\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " направљених узорака — %d\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " направљених шаблона - %d, користим %d\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " направљено је %d/%d разреда једнакости\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " направљено је %d/%d разреда мета-једнакости\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (сачуваних %d) сукоба хеша, %d једнак ДФА-су\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " потребна су %d скупа поновног додељивања\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " потребна су укупно %d уноса табеле\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Унутрашња грешка. „flexopts“ је лоше обликован.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Пробајте „%s --help“ за више података.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "непозната опција -C „%c“"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "кобна грешка обраде"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "не могу да направим резерву датотеке података „%s“"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "-l опција сагласности АТ&Т лекса изазива велико смањење учинка\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " и може бити стваран извор других извешених ограничења учинка\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -485,51 +485,51 @@ msgstr ""
"%%опција „yylineno“ изазива смањење учинка САМО на правилима која могу да "
"поклопе знакове новог реда\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (међудејствено) изазива мање смањење учинка\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "„yymore()“ изазива мање смањење учинка\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "„REJECT“ изазива веће смањење учинка\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "Променљива правила пратећег контекса изазивају веће смањење учинка\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "„REJECT“ не може да се користи са „-f“ или „-F“"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%oпција „yylineno“ не може да се користи са „REJECT“"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"променљива правила пратећег контекста не могу бити коришћена са „-f“ или „-F“"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%oпција „yyclass“ има смисла само за Ц++ скенере"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Употреба: %s [ОПЦИЈЕ] [ДАТОТЕКА]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -672,47 +672,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "није успело додељивање „sko_stack“-а"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "назив „%s“ је смешно дуг"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "није успело додељивање меморије у „allocate_array()“"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "лош знак „%s“ је откривен у „check_char()“"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "скенер захтева -8 обележја да би користио знак „%s“"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "неуспех динамичке меморије у „copy_string()“"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "није успело додељивање меморије у „allocate_array()“"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: кобна унутрашња грешка, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "није успео покушај повећања величине низа"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "лош ред у датотеци окоснице"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "није успело додељивање меморије у „yy_flex_xmalloc()“"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -723,39 +724,39 @@ msgstr ""
"\n"
"********** започињем испис нфа-а са почетним стањем %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "стање # %4d"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** крај исписа\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "празна машина у „dupmachine()“"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Променљиво правило пратећег контекста на %d. реду\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "лоша врста стања у „mark_beginning_as_normal()“"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "улазна правила су превише сложена (>= %d НФА стања)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "пронађох превише прелаза у „mkxtion()“"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "превише правила (> %d)!"
@@ -832,16 +833,16 @@ msgstr "Вредност одреднице за {%s} је предуга\n"
msgid "incomplete name definition"
msgstr "непотпуна одредница назива"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "Ред опције је предуг\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "непозната %%опција: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "лош разред знака"
@@ -850,85 +851,89 @@ msgstr "лош разред знака"
msgid "undefined definition {%s}"
msgstr "неодређена одредница {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "лош [почетни услов]: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "недостају наводници"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "лош израз разреда знака: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "лош знак унутар {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "недостаје }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "наишао сам на крај датотеке унутар радње"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "наишао сам на крај датотеке унутар шаблона"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "лош знак: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "не могу да отворим „%s“"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Употреба: %s [ОПЦИЈЕ]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "опција „%s“ не дозвољава аргумент\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "опција „%s“ захтева аргумент\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "опција „%s“ је нејасна\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Непозната опција „%s“\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Непозната грешка=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "није успело додељивање меморије табеле симбола"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "назив је одређен два пута"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "почетни услов „%s“ је објављен два пута"
@@ -946,3 +951,6 @@ msgstr "Завршни означавач\n"
#, 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.gmo b/po/sv.gmo
index 859a594..6cea5da 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index 6495570..4a3582d 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.31\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\n"
"PO-Revision-Date: 2004-03-21 22:51+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Type: text/plain; charset=iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -32,26 +32,26 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Tillstnd %d r icke-accepterande -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "farligt efterfljande sammanhang"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " radnummer fr associerad regel:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " utvergngar: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" stoppvergngar: filslut "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "konsekvenskontrollen misslyckades i epsclosure()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,26 +76,26 @@ msgstr ""
"DFA-utskrift:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "kunde inte skapa ett unikt buffertsluttillstnd"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "tillstnd %d:\n"
# Det hr r ju helt sjukt. Har buggrapporterat detta att det br
# ersttas med %s
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Kunde inte skriva yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "otilltet vergngstecken funnet i sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -107,29 +107,29 @@ msgstr ""
"Ekvivalensklasser:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "tillstnd %d accepterar: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "tillstnd %d accepterar: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Kunde inte skriva yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Kunde inte skriva yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Kunde inte skriva ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -139,346 +139,346 @@ msgstr ""
"\n"
"Metaekvivalensklasser:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Kunde inte skriva yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Kunde inte skriva yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Kunde inte skriva yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Kunde inte skriva yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Kunde inte skriva yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Kunde inte skriva ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Kunde inte skriva ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Kunde inte skriva eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Kunde inte skriva yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "regeln kan inte matchas"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "flaggan -s angiven men standardregeln kan fljas"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "-+ kan inte anvndas tillsammans med flaggan -l"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "-f eller -F kan inte anvndas tillsammans med flaggan -l"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr ""
"--reentrant eller --bison-bridge kan inte anvndas tillsammans med flaggan -l"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF och -Cm kan inte anvndas tillsammans"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF och -I kan inte anvndas tillsammans"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF kan inte anvndas i lex-kompatibilitetslge"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf och -CF r msesidigt uteslutande"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "-+ kan inte anvndas tillsammans med flaggan -CF"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array kan inte anvndas tillsammans med flaggan -+"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Flaggorna -+ och --reentrant r msesidigt uteslutande."
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bisonbrygga stds inte fr C++-inlsaren."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "kunde inte skapa %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "kunde inte skriva tabellhuvud"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "kan inte ppna mallfilen %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "indatafel vid lsande av mallfilen %s"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "fel vid stngande av mallfilen %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "fel vid skapande av huvudfilen %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "fel vid skrivande av utfilen %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "fel vid stngande av utfilen %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "fel vid borttagning av utfilen %s"
# "Back up" i det hr sammanhanget handlar om att flexmaskinen backar.
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Backar inte.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d skerhetskopierande (icke-accepterande) tillstnd.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Komprimerade tabeller skerhetskopierar alltid.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "fel nr skerhetskopian %s skulle skrivas"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "fel nr skerhetskopian %s skulle stngas"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "Statistik ver anvndning av %s version %s:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " inlsarflaggor: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA-tillstnd\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA-tillstnd (%d ord)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d regler\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Inget skerhetskopierande\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d (icke-accepterande) tillstnd fr skerhetskopiering\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Komprimerade tabeller skerhetskopierar alltid\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Brjan-av-rad-mnster anvnda\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d startvillkor\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilontillstnd, %d dubbla epsilontillstnd\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " inga teckenklasser\n"
-#: src/main.c:855
+#: src/main.c:876
#, c-format
msgid " %d/%d character classes needed %d/%d words of storage, %d reused\n"
msgstr " %d/%d teckenklasser behvde %d/%d ord fr lagring, %d teranvnda\n"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d par med tillstnd/nsta-tillstnd skapade\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d unika/duplicerade vergngar\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d tabellposter\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d basstandardposter skapade\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (max %d) poster fr nsta kontroll skapade\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (max %d) mallposter fr nsta kontroll skapade\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d tomma tabellposter\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototyper skapade\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d mallar skapade, %d anvndningar\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d ekvivalensklasser skapade\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d metaekvivalensklasser skapade\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d sparade) hashkollisioner, %d DFA lika\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d uppsttningar med omallokeringar krvdes\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d tabellposter krvs totalt\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "Internt fel. flexopts r felaktiga.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Prova \"%s --help\" fr mer information.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "oknd flagga till -C \"%c\""
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "allvarligt fel vid tolkningen"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "kunde inte skapa filen %s med skerhetskopieringsinformation"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr ""
"flaggan -l fr beteende som AT&T:s lex medfr en vsentlig prestandafrlust\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -487,54 +487,54 @@ msgstr ""
"%%option yylineno medfr en prestandafrlust ENDAST p regler som kan matcha "
"nyradstecken\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (interaktiv) medfr en mindre prestandafrlust\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() medfr en mindre prestandafrlust\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT medfr en vsentlig prestandafrlust\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr ""
"Regler fr varierbar efterfljande sammanhang medfr en vsentlig "
"prestandafrlust\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT kan inte anvndas tillsammans med -f eller -F"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno kan inte anvndas tillsammans med REJECT"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr ""
"regler fr varierbar efterfljande kontext kan inte anvndas\n"
"tillsammans med -f eller -F"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass r bara meningsfull fr C++-inlsare"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Anvndning: %s [FLAGGOR] [FIL]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -668,47 +668,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "namnet \"%s\" r ljligt lngt"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "minnesallokeringen misslyckades i allocate_array()"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "otilltet tecken \"%s\" funnet i check_char()"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "inlsaren krver flaggan -8 fr att kunna anvnda tecknet %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "dynamiskt minnesfel i copy_string()"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "minnesallokeringen misslyckades i allocate_array()"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: allvarligt internt fel, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "frsk att ka arraystorlek misslyckades"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "otillten rad i mallfilen"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "minnesallokeringen misslyckades i yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -719,39 +720,39 @@ msgstr ""
"\n"
"********** brjan av utskrift av nfa med starttillstnd %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "tillstnd %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** slut p utskrift\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "tom maskin i dupmachine()"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "Regel fr varierbar efterfljande kontext p rad %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "otillten tillstndstyp i mark_beginning_as_normal()"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "indatareglerna r fr komplicerade (>= %d NFA-tillstnd)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "fann fr mnga vergngar i mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "fr mnga regler (> %d)!"
@@ -834,17 +835,17 @@ msgstr ""
msgid "incomplete name definition"
msgstr "ofullstndig namndefinition"
-#: src/scan.l:443
+#: src/scan.l:444
#, fuzzy
msgid "Option line too long\n"
msgstr "Fr lng indatarad\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "oknd %%option: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "otillten teckenklass"
@@ -853,86 +854,90 @@ msgstr "otillten teckenklass"
msgid "undefined definition {%s}"
msgstr "odefinierad definition {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "otilltet <startvillkor>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "citationstecken saknas"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "otilltet uttryck fr teckenklass: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "otilltet tecken inom {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "} saknas"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "filslut ptrffat inuti en handling"
-#: src/scan.l:945
+#: src/scan.l:951
#, fuzzy
msgid "EOF encountered inside pattern"
msgstr "filslut ptrffat inuti en handling"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "otilltet tecken: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "kan inte ppna %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Anvndning: %s [FLAGGOR]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "flaggan \"%s\" tar inget argument\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "flaggan \"%s\" krver ett argument\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "flaggan \"%s\" r tvetydig\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Oknd flagga \"%s\"\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Oknt fel=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "minnesallokering fr symboltabell misslyckades"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "namnet definierat tv gnger"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "startvillkoret %s deklarerat tv gnger"
@@ -954,6 +959,9 @@ msgstr "*Ngot mrkligt* - tecken: %d vrde: %d\n"
#~ msgid "consistency check failed in symfollowset"
#~ msgstr "konsekvenskontrollen misslyckades i symfollowset"
+#~ msgid "dynamic memory failure in copy_string()"
+#~ msgstr "dynamiskt minnesfel i copy_string()"
+
#~ msgid "Can't specify header option if writing to stdout."
#~ msgstr "Kan inte ange huvudflagga d utskrift sker till standard ut."
diff --git a/po/tr.gmo b/po/tr.gmo
index d532bc3..49d11e4 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index 5185639..e62255f 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.31\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -16,15 +16,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.0.2\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr ""
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr ""
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr ""
@@ -32,26 +32,26 @@ msgstr ""
msgid "Allocation of buffer for m4 undef failed"
msgstr ""
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "Durum #%d kabul etmiyor -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "izleyen bağlam tehlikeli"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " alakalı kural satır numaraları:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " dış-geçişler: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -60,11 +60,11 @@ msgstr ""
"\n"
" sıkışık-geçişler: EOF "
-#: src/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"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -76,24 +76,24 @@ msgstr ""
"DFA Dökümü:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "tekil tampon sonu durumu yaratılamadı"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "durum # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "yynxt_tbl[][] yazılamadı"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "sympartition() içinde hatalı geçiş karakterleri saptandı"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -105,29 +105,29 @@ msgstr ""
"Denklik Sınıfları:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "durum # %d kabul eder: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "durum # %d kabul eder: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "yyacclist_tbl yazılamadı"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "yyacc_tbl yazılamadı"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "ecstbl yazılamadı"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -137,346 +137,346 @@ msgstr ""
"\n"
"Ara-Denklik Sınıfları:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "yymeta_tbl yazılamadı"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "yybase_tbl yazılamadı"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "yydef_tbl yazılamadı"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "yynxt_tbl yazılamadı"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "yychk_tbl yazılamadı"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "ftbl yazılamadı"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "ssltbl yazılamadı"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "eoltbl yazılamadı"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "yynultrans_tbl yazılamadı"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "kural eşlenemedi"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "-s seçeneği verilmiş fakat öntanımlı kural eşlenebiliyor"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "-+'yi -l seçeneği ile kullanma"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "-f veya -F'yi -l seçeneği ile kullanma"
-#: src/main.c:244
+#: src/main.c:229
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"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF ve -Cm birlikte anlam ifade etmiyor"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF ve -I uyumsuz"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF lex-uyumluluk kipi ile uyumsuz"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf ve -CF bir arada kullanılamaz"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "-+, -CF seçeneği ile kullanılamaz"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array, -+ seçeneği ile uyumsuz"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "-+ ve --reentrant seçenekleri bir arada kullanılamaz"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison bridge, C++ tarayıcısı için desteklenmiyor."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "%s oluşturulamadı"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "tablo başlığı yazılamadı"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "iskelet dosyası %s açılamadı"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr ""
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "iskelet dosyası %s okunurken girdi hatası"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "iskelet dosyası %s kapatılırken hata"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "başlık dosyası %s oluşturulurken hata"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "çıktı dosyası %s yazılırken hata"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "çıktı dosyası %s kapatılırken hata"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "çıktı dosyası %s silinirken hata"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Yedekleme yok.\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d yedeklenen (kabul-etmeyen) durumlar.\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Sıkıştırılmış tablolar daima yedeklidir.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "yedek dosyası %s yazılırken hata"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "yedek dosyası %s kapatılırken hata"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s sürüm %s kullanım istatistikleri:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " tarayıcı seçenekleri: -"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA durumu\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA durumu (%d sözcük)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d kural\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Yedekleme yok\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d yedeklenmiş (kabul-edilmeyen) durum\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Sıkıştırılmış tablolar daima yedeklenir\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Başlangıç-satırı kalıpları kullanıldı\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d başlangıç şartları\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d epsilon durumu, %d çift epsilon durumu\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " karakter sınıfı yok\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d durumu/sonrakidurum çifti yaratıldı\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d tekil/çift geçişler\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d tablo girdileri\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d temel-tanım girdileri yaratıldı\n"
-#: src/main.c:880
+#: src/main.c:901
#, 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"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d boş tablo girdileri\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d prototip yaratıldı\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d şablon yaratıldı, %d kullanıldı\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d denklik sınıfı yaratıldı\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d ara-denklik sınıfı yaratıldı\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d kaydedildi) saçılma çarpışması, %d DFA denk\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " %d tekrar ayırım kümesine ihtiyaç var\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " %d toplam tablo girdisine ihtiyaç var\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "İç hata. flexopt'lar bozuk.\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "Daha fazla bilgi için `%s --help' yazın.\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "bilinmeyen -C seçeneği '%c'"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "ölümcül ayrıştırma hatası"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "yedekleme bilgi dosyası %s oluşturulamadı"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -485,51 +485,51 @@ msgstr ""
"yylineno %%seçeneği YALNIZCA yenisatır karakterlerini de eşleyen satırlarda "
"yavaşlar.\n"
-#: src/main.c:1537
+#: src/main.c:1556
#, 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"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() küçük ölçekli bir yavaşlamaya neden olur\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT büyük ölçekli bir yavaşlamaya neden olur\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT, -f veya -F ile kullanılamaz"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno, REJECT ile birlikte kullanılamaz"
-#: src/main.c:1571
+#: src/main.c:1590
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"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass, sadece C++ tarayıcıları için anlamlıdır"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Kullanım: %s [SEÇENEKLER...] [DOSYA...]\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -662,47 +662,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr ""
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "\"%s\" ismi gülünç derecede uzun"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "allocate_array() içinde bellek ayırımı başarısız"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "check_char() içinde hatalı karakter '%s' saptandı"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "copy_string() içinde dinamik bellek hatası"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "allocate_array() içinde bellek ayırımı başarısız"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: ölümcül iç hata, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "dizi boyutunu artırma denemesi başarısız"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "iskelet dosya içinde hatalı satır"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "yy_flex_xmalloc() içinde bellek ayırımı başarısız"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -713,39 +714,39 @@ msgstr ""
"\n"
"********** başlangıç durumu %d olan nfa'nın dökümüne başlanıyor\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "durum # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** döküm sonu\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "dupmachine() içinde boş makine"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "mark_beginning_as_normal() içinde hatalı durum türü"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "girdi kuralları fazla karışık (>= %d NFA durumu)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "mkxtion() içinde çok fazla geçiş bulundu"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "çok fazla kural (> %d)!"
@@ -831,17 +832,17 @@ msgstr ""
msgid "incomplete name definition"
msgstr "eksik isim tanımlaması"
-#: src/scan.l:443
+#: src/scan.l:444
#, fuzzy
msgid "Option line too long\n"
msgstr "Girdi satırı fazla uzun\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "geçersiz %%seçenek: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "hatalı karakter sınıfı"
@@ -850,86 +851,90 @@ msgstr "hatalı karakter sınıfı"
msgid "undefined definition {%s}"
msgstr "belirsiz tanım {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "hatalı <başlangıç şartı>: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "eksik çift tırnak"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "bozuk karakter sınıfı ifadesi: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "{}'ler içinde hatalı karakter"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "eksik }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "bir eylem içinde EOF ile karşılaşıldı"
-#: src/scan.l:945
+#: src/scan.l:951
#, fuzzy
msgid "EOF encountered inside pattern"
msgstr "bir eylem içinde EOF ile karşılaşıldı"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "hatalı karakter: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "%s açılamıyor"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "Kullanım: %s [SEÇENEKLER...]\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "`%s' seçeneği argüman kullanmaz\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "`%s' seçeneği için argüman zorunludur\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "`%s' seçeneği belirsiz\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Bilinmeyen seçenek: `%s'\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Bilinmeyen hata=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "simge tablosu bellek ayırımı başarısız"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "isim iki defa tanımlandı"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "başlangıç şartı %s iki defa bildirildi"
@@ -950,3 +955,6 @@ 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.gmo b/po/vi.gmo
index e2ad23c..2d9758b 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index 27553d5..788103e 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex-2.5.38\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -22,15 +22,15 @@ msgstr ""
"X-Generator: Poedit 1.5.5\n"
"X-Poedit-SourceCharset: utf-8\n"
-#: src/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"
-#: src/buf.c:101
+#: 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"
-#: src/buf.c:178
+#: 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"
@@ -38,26 +38,26 @@ msgstr "Việc phân bổ bộ đệm cho “m4 def” gặp lỗi"
msgid "Allocation of buffer for m4 undef failed"
msgstr "Việc phân bổ bộ đệm cho “m4 undef” gặp lỗi"
-#: src/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"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "ngữ cảnh theo sau là nguy hiểm"
-#: src/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:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " việc chuyển tiếp xuất: "
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -66,11 +66,11 @@ msgstr ""
"\n"
" chuyển tiếp kẹt: gặp kết thúc tập tin "
-#: src/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()"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -82,24 +82,24 @@ msgstr ""
"Đổ DFA:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
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"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "trạng thái# %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "Không thể ghi \"yynxt_tbl[][]\""
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "phát hiện ký tự chuyển tiếp sai trong sympartition()"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -111,29 +111,29 @@ msgstr ""
"Lớp tương đương:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "trạng thái # %d chấp nhận: [%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "trạng thái # %d chấp nhận: "
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "Không thể ghi \"yyacclist_tbl\""
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "Không thể ghi \"yyacc_tbl\""
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "Không thể ghi \"ecstbl\""
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -143,349 +143,349 @@ msgstr ""
"\n"
"Lớp tương-đương-meta:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "Không thể ghi \"yymeta_tbl\""
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "Không thể ghi \"yybase_tbl\""
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "Không thể ghi \"yydef_tbl\""
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "Không thể ghi \"yynxt_tbl\""
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "Không thể ghi \"yychk_tbl\""
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "Không thể ghi \"ftbl\""
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "Không thể ghi \"ssltbl\""
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "Không thể ghi \"eoltbl\""
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "Không thể ghi \"yynultrans_tbl\""
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "quy tắc không thể được khớp"
-#: src/main.c:197
+#: src/main.c:184
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"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "Không thể dùng ký tự \"-+\" với tùy chọn \"-l\""
-#: src/main.c:240
+#: src/main.c:225
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\""
-#: src/main.c:244
+#: src/main.c:229
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\""
-#: src/main.c:276
+#: src/main.c:261
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"
-#: src/main.c:279
+#: src/main.c:264
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"
-#: src/main.c:283
+#: src/main.c:268
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)"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "Hai tùy chọn \"-Cf\" and \"-CF\" loại từ lẫn nhau"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "Không thể dùng ký tự \"-+\" với tùy chọn \"-CF\""
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "\"%array\" (mảng) không tương thích với tùy chọn \"-+\""
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "Hai tùy chọn \"- +\" và \"--reentrant\" xung đột với nhau."
-#: src/main.c:303
+#: src/main.c:288
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++."
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "không thể tạo %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "không thể ghi phần đầu bảng"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "không thể mở tập tin khung sườn %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "việc phân bổ cho định nghĩa macro gặp lỗi"
-#: src/main.c:505
+#: src/main.c:527
#, 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"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "gặp lỗi khi đóng tập tin khung sườn %s"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "gặp lỗi khi tạo tập tin phần đầu %s"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "gặp lỗi khi ghi tập tin xuất %s"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "gặp lỗi khi đóng tập tin xuất %s"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "gặp lỗi khi xoá bỏ tập tin xuất %s"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "Không sao lưu.\n"
-#: src/main.c:721
+#: src/main.c:742
#, 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"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "Bảng đã nén lúc nào cũng sao lưu.\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "găp lỗi khi ghi tập tin sao lưu %s"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "gặp lỗi khi đóng tập tin sao lưu %s"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s phiên bản %s thống kê sử dụng:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " tùy chọn bộ quét: —"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d trạng thái NFA\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d trạng thái DFA (%d từ)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d quy tắc\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " Không sao lưu\n"
-#: src/main.c:832
+#: src/main.c:853
#, 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"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " Bảng đã nén lúc nào cũng sao lưu\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " Dùng mẫu kiểu đầu dòng\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d điều kiện bắt đầu\n"
-#: src/main.c:847
+#: src/main.c:868
#, 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"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " không có lớp ký tự\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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"
-#: src/main.c:860
+#: src/main.c:881
#, 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"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d việc chuyển tiếp duy nhất/trùng\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d mục tin bảng\n"
-#: src/main.c:876
+#: src/main.c:897
#, 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"
-#: src/main.c:880
+#: src/main.c:901
#, 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"
-#: src/main.c:884
+#: src/main.c:905
#, 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"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d mục tin bảng trống\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d proto (khai báo nguyên mẫu) đã được tạo\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d mẫu đã được tạo, %d lần dùng\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d lớp kiểu tương đương đã được tạo\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d lớp tương-đương-meta đã được tạo\n"
-#: src/main.c:915
+#: src/main.c:936
#, 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"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " cần %d tập hợp tái cấp phát\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " cần tổng %d mục tin bảng\n"
-#: src/main.c:996
+#: src/main.c:1015
#, 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"
-#: src/main.c:1006
+#: src/main.c:1025
#, 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"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "không hiểu tùy chọn \"-C\" là \"%c\""
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "gặp lỗi phân tích nghiêm trọng"
-#: src/main.c:1500
+#: src/main.c:1519
#, 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"
-#: src/main.c:1521
+#: src/main.c:1540
#, 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"
-#: src/main.c:1524
+#: src/main.c:1543
#, 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"
-#: src/main.c:1530
+#: src/main.c:1549
#, c-format
msgid ""
"%%option yylineno entails a performance penalty ONLY on rules that can match "
@@ -494,53 +494,53 @@ 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"
-#: src/main.c:1537
+#: src/main.c:1556
#, 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"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() giảm hiệu suất một ít\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, 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"
-#: src/main.c:1553
+#: src/main.c:1572
#, 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"
-#: src/main.c:1565
+#: src/main.c:1584
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\""
-#: src/main.c:1568
+#: src/main.c:1587
#, 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)"
-#: src/main.c:1571
+#: src/main.c:1590
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\""
-#: src/main.c:1699
+#: src/main.c:1718
#, 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++"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] [TẬP_TIN]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -683,47 +683,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "việc phân bổ cho sko_stack gặp lỗi"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "tên \"%s\" là dài nhố nhăng"
-#: src/misc.c:179
+#: src/misc.c:175
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)"
-#: src/misc.c:232
+#: src/misc.c:225
#, 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ự)"
-#: src/misc.c:237
+#: src/misc.c:230
#, 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"
-#: src/misc.c:270
-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:249
+#, 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)"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s: gặp lỗi nôi bộ nghiêm trọng, %s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "việc thử tăng kích cỡ mảng đã thất bại"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "gặp dòng sai trong tập tin khung sườn"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "việc phân bổ bộ nhớ bị lỗi trong yy_flex_xmalloc()"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -734,40 +735,40 @@ msgstr ""
"\n"
"********** bắt đầu đổ NFA có trạng thái bắt đầu là %d\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "trạng thái # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** đổ xong\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "máy trống trong dupmachine() (nhân đôi máy)"
-#: src/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"
-#: src/nfa.c:364
+#: src/nfa.c:356
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)"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, 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)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "gặp quá nhiều chuyển tiếp trong mkxtion()"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "quá nhiều quy tắc (> %d) !"
@@ -846,16 +847,16 @@ msgstr "Giá trị định nghĩa cho {%s} quá dài\n"
msgid "incomplete name definition"
msgstr "lời đinh nghĩa tên chưa hoàn tất"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "dòng tùy chọn quá dài\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "gặp tùy chọn %% không được nhận dạng: %s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "lớp ký tự sai"
@@ -864,85 +865,89 @@ msgstr "lớp ký tự sai"
msgid "undefined definition {%s}"
msgstr "chưa định nghĩa định danh {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "<start condition> (điệu kiện bắt đầu) sai: %s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "thiếu dấu trích dẫn"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "biểu thức lớp ký tự sai: %s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "có ký tự sai ở trong hai dấu ngoặc móc {}"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "thiếu }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "gặp kết thúc tập tin ở trong một hành động"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "gặp kết thúc tập tin ở trong mẫu"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "ký tự sai: %s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "không thể mở %s"
-#: src/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"
-#: src/scanopt.c:559
+#: 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"
-#: src/scanopt.c:564
+#: 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"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "tùy chọn \"%s\" chưa rõ ràng\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "Không nhận ra tùy chọn \"%s\"\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "Không rõ lỗi=(%d)\n"
-#: src/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"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "tên đã được định nghĩa hai lần"
-#: src/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"
@@ -960,3 +965,6 @@ msgstr "Dấu kết thúc\n"
#, 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.gmo b/po/zh_CN.gmo
index aa03f76..0478a8c 100644
--- a/po/zh_CN.gmo
+++ b/po/zh_CN.gmo
Binary files differ
diff --git a/po/zh_CN.po b/po/zh_CN.po
index b5ecb46..feac102 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.38\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -18,15 +18,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.4\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "给予缓冲区配额以打印字串时失败"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "给予缓冲区配额用于列指令时失败"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "给予缓冲区配额用于 m4 def 时失败"
@@ -34,26 +34,26 @@ msgstr "给予缓冲区配额用于 m4 def 时失败"
msgid "Allocation of buffer for m4 undef failed"
msgstr "给予缓冲区配额用于 m4 undef 时失败"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "#%d 正处于非访问状态 -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "不安全的末端上下文"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " 关联的规则列号:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " 外转换:"
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -62,11 +62,11 @@ msgstr ""
"\n"
" 合并转换:文件结尾 "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "epsclosure() 中的一致性检查失败"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -78,24 +78,24 @@ msgstr ""
"DFA 转储:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "无法创建独立的 end-of-buffer 状态"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "状态 # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "无法写入 yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "在 sympartition() 检测到错误的变换字符"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -107,29 +107,29 @@ msgstr ""
"等价类:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "状态 # %d 接受:[%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "状态 # %d 接受:"
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "无法写入 yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "无法写入 yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "无法写入 ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -139,394 +139,394 @@ msgstr ""
"\n"
"元等价类:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "无法写入 yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "无法写入 yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "无法写入 yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "无法写入 yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "无法写入 yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "无法写入 ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "无法写入 ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "无法写入 eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "无法写入 yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "无法匹配规则"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "-s 选项已给定但是可以吻合缺省规则"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "无法将 -+ 与 -l 选项共同使用"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "无法将 -f 或 -F 与 -l 选项共同使用"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "无法将 --reentrant 或 --bison-bridge 与 -l 选项共同使用"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF 和 -Cm 共用时不具任何意义"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF 和 -I 是不兼容的"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF 与 lex 兼容模式是不兼容的"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf 和 -CF 是互斥的"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "无法将 -+ 与 -CF 选项共同使用"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array 与 -+ 选项不兼容"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "选项 -+ 和 --reentrant 是互斥的。"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison 桥接器不受 C++ 扫描程序支持。"
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "无法创建 %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "无法写入表头"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "无法打开骨架文件 %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "给予宏定义配额时失败"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "读取骨架文件 %s 时输入错误"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "关闭骨架文件 %s 出错"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "创建头文件 %s 出错"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "写入输出文件 %s 出错"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "关闭输出文件 %s 出错"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "删除输出文件 %s 出错"
# See Concept Index. fr translation is wrong for that 'archive'.
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "没有回溯。\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d 回溯 (非接受) 状态。\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "压缩过的表格总会自动回溯。\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "写入回溯文件 %s 出错"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "关闭回溯文件 %s 出错"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s 版本 %s 用法统计:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " 扫描器选项:-"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA 状态\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA 状态 (%d 个字词)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d 条规则\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " 没有回溯\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d 回溯 (非接受) 状态\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " 压缩过的表格总会自动回溯\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " 列首式样已使用\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d 起始条件\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d ε状态,%d 双倍ε状态\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " 无字符类别\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d 状态/下一状态对已创建\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d 独一/重复转换\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d 表格项目\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def 项目已创建\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (峰值 %d) nxt-chk 项目已创建\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (峰值 %d) 模板 nxt-chk 项目已创建\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d 清空表格项目\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d 原型已创建\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d 范本已创建,%d 使用\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d 等价类别已创建\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d 后设等价类别已创建\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d 已保存) 哈希碰撞,%d DFAs 相等\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " 需要 %d 组重新配置\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " 总计需要 %d 表格项目\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "内部错误。flexopts 功能异常。\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "尝试「%s --help」以获得更多信息。\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "未知的 -C 选项“%c”"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "致命的解析错误"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "无法创建回溯信息文件 %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "-l AT&T lex 兼容性选项会导致大幅性能减退\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " 同时也许是其他回报性能减退的实际来源\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, 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:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (交互式) 导致小幅性能减退\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() 导致小幅性能减退\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT 导致大幅性能减退\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "变量末尾上下文规则导致大幅性能减退\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT 无法与 -f 或 -F 共同使用"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno 无法与 REJECT 共同使用"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr "变量末尾上下文规则无法与 -f 或 -F 共同使用"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass 只对于 C++ 扫描程序有意义"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "用法:%s [选项] [文件]...\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -658,47 +658,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "给予 sko_stack 配额时失败"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "名称「%s」有荒谬的长度"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "在 allocatearray() 中内存配置失败"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "在 checkchar() 中侦测到不当的字符「%s」"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "扫描程序需要 -8 旗标以使用字符 %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "在 copystring() 中动态内存失败"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "在 allocatearray() 中内存配置失败"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s:严重内部错误,%s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "试图增加数组大小时失败"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "骨架文件中错误的行"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "在 yy_flex_xmalloc() 中的内存分配失败"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -709,39 +710,39 @@ msgstr ""
"\n"
"********** 开始输出起始状态为 %d 的 NFA\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "状态 # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** 输出结束\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "在 dupmachine() 中清空机器"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "变量末尾上下文规则于列 %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "在 mark_beginning_as_normal() 中有不当的状态输入"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "输入规则太复杂 (>= %d NFA 状态)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "在 mkxtion() 中找到太多转换"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "规则过多 (> %d)!"
@@ -818,16 +819,16 @@ msgstr "{%s} 的定义值太长\n"
msgid "incomplete name definition"
msgstr "不完整的名称定义"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "选项列太长\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "不能识别的 %%选项:%s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "错误的字符类别"
@@ -836,85 +837,89 @@ msgstr "错误的字符类别"
msgid "undefined definition {%s}"
msgstr "未定义的定义 {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "错误 <起始条件>:%s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "遗漏引号"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "错误的字符类别表达式:%s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "不当字符于 {} 内部"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "遗漏 }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "在动作中文件结束"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "在式样之内遇到文件结束"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "错误的字符:%s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "无法打开 %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "用法:%s [选项]...\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "选项“%s”不接受参数\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "选项“%s”需要一个参数\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "选项「%s」是模棱两可的\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "未知的选项“%s”\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "未知错误=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "符号表内存分配失败"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "名称定义了两次"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "起始条件 %s 声明了两次"
@@ -933,6 +938,9 @@ msgstr "结束标志\n"
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.gmo b/po/zh_TW.gmo
index 66acc0c..dbd94a1 100644
--- a/po/zh_TW.gmo
+++ b/po/zh_TW.gmo
Binary files differ
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 8ed3cb5..e033222 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: flex 2.5.37\n"
"Report-Msgid-Bugs-To: flex-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2015-11-17 11:17-0500\n"
+"POT-Creation-Date: 2016-03-01 19:54-0500\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"
@@ -18,15 +18,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: src/buf.c:78
+#: src/buf.c:79
msgid "Allocation of buffer to print string failed"
msgstr "給予緩衝區配額以列印字串時失敗"
-#: src/buf.c:101
+#: src/buf.c:107
msgid "Allocation of buffer for line directive failed"
msgstr "給予緩衝區配額用於列指令時失敗"
-#: src/buf.c:178
+#: src/buf.c:177
msgid "Allocation of buffer for m4 def failed"
msgstr "給予緩衝區配額用於 m4 def 時失敗"
@@ -34,26 +34,26 @@ msgstr "給予緩衝區配額用於 m4 def 時失敗"
msgid "Allocation of buffer for m4 undef failed"
msgstr "給予緩衝區配額用於 m4 undef 時失敗"
-#: src/dfa.c:61
+#: src/dfa.c:59
#, c-format
msgid "State #%d is non-accepting -\n"
msgstr "#%d 正處於非存取狀態 -\n"
-#: src/dfa.c:124
+#: src/dfa.c:119
msgid "dangerous trailing context"
msgstr "不安全的末端內文"
-#: src/dfa.c:166
+#: src/dfa.c:159
#, c-format
msgid " associated rule line numbers:"
msgstr " 關聯的規則列號:"
-#: src/dfa.c:202
+#: src/dfa.c:193
#, c-format
msgid " out-transitions: "
msgstr " 外轉換:"
-#: src/dfa.c:210
+#: src/dfa.c:201
#, c-format
msgid ""
"\n"
@@ -62,11 +62,11 @@ msgstr ""
"\n"
" 合併轉換:檔案結尾 "
-#: src/dfa.c:341
+#: src/dfa.c:331
msgid "consistency check failed in epsclosure()"
msgstr "epsclosure() 中的一致性檢查失敗"
-#: src/dfa.c:429
+#: src/dfa.c:419
msgid ""
"\n"
"\n"
@@ -78,24 +78,24 @@ msgstr ""
" DFA 傾印:\n"
"\n"
-#: src/dfa.c:604
+#: src/dfa.c:592
msgid "could not create unique end-of-buffer state"
msgstr "無法建立獨一的緩衝區結尾狀態"
-#: src/dfa.c:625
+#: src/dfa.c:613
#, c-format
msgid "state # %d:\n"
msgstr "狀態 # %d:\n"
-#: src/dfa.c:785
+#: src/dfa.c:773
msgid "Could not write yynxt_tbl[][]"
msgstr "無法寫入 yynxt_tbl[][]"
-#: src/dfa.c:1049
+#: src/dfa.c:1033
msgid "bad transition character detected in sympartition()"
msgstr "在 sympartition() 偵測到不當的轉換字元"
-#: src/gen.c:499
+#: src/gen.c:494
msgid ""
"\n"
"\n"
@@ -107,29 +107,29 @@ msgstr ""
"等價類別:\n"
"\n"
-#: src/gen.c:684 src/gen.c:713 src/gen.c:1237
+#: src/gen.c:679 src/gen.c:708 src/gen.c:1228
#, c-format
msgid "state # %d accepts: [%d]\n"
msgstr "狀態 # %d 接受:[%d]\n"
-#: src/gen.c:1132
+#: src/gen.c:1125
#, c-format
msgid "state # %d accepts: "
msgstr "狀態 # %d 接受:"
-#: src/gen.c:1179
+#: src/gen.c:1172
msgid "Could not write yyacclist_tbl"
msgstr "無法寫入 yyacclist_tbl"
-#: src/gen.c:1255
+#: src/gen.c:1246
msgid "Could not write yyacc_tbl"
msgstr "無法寫入 yyacc_tbl"
-#: src/gen.c:1270 src/gen.c:1655 src/gen.c:1678
+#: src/gen.c:1261 src/gen.c:1633 src/gen.c:1656
msgid "Could not write ecstbl"
msgstr "無法寫入 ecstbl"
-#: src/gen.c:1293
+#: src/gen.c:1281
msgid ""
"\n"
"\n"
@@ -139,393 +139,393 @@ msgstr ""
"\n"
" 後設等價類別:\n"
-#: src/gen.c:1315
+#: src/gen.c:1303
msgid "Could not write yymeta_tbl"
msgstr "無法寫入 yymeta_tbl"
-#: src/gen.c:1376
+#: src/gen.c:1362
msgid "Could not write yybase_tbl"
msgstr "無法寫入 yybase_tbl"
-#: src/gen.c:1410
+#: src/gen.c:1394
msgid "Could not write yydef_tbl"
msgstr "無法寫入 yydef_tbl"
-#: src/gen.c:1450
+#: src/gen.c:1432
msgid "Could not write yynxt_tbl"
msgstr "無法寫入 yynxt_tbl"
-#: src/gen.c:1486
+#: src/gen.c:1466
msgid "Could not write yychk_tbl"
msgstr "無法寫入 yychk_tbl"
-#: src/gen.c:1640 src/gen.c:1669
+#: src/gen.c:1618 src/gen.c:1647
msgid "Could not write ftbl"
msgstr "無法寫入 ftbl"
-#: src/gen.c:1646
+#: src/gen.c:1624
msgid "Could not write ssltbl"
msgstr "無法寫入 ssltbl"
-#: src/gen.c:1697
+#: src/gen.c:1675
msgid "Could not write eoltbl"
msgstr "無法寫入 eoltbl"
-#: src/gen.c:1757
+#: src/gen.c:1732
msgid "Could not write yynultrans_tbl"
msgstr "無法寫入 yynultrans_tbl"
-#: src/main.c:192
+#: src/main.c:179
msgid "rule cannot be matched"
msgstr "規則無法吻合"
-#: src/main.c:197
+#: src/main.c:184
msgid "-s option given but default rule can be matched"
msgstr "-s 選項已給定但是可以吻合預設規則"
-#: src/main.c:237
+#: src/main.c:222
msgid "Can't use -+ with -l option"
msgstr "無法將 -+ 與 -l 選項共同使用"
-#: src/main.c:240
+#: src/main.c:225
msgid "Can't use -f or -F with -l option"
msgstr "無法將 -f 或 -F 與 -l 選項共同使用"
-#: src/main.c:244
+#: src/main.c:229
msgid "Can't use --reentrant or --bison-bridge with -l option"
msgstr "無法將 --reentrant 或 --bison-bridge 與 -l 選項共同使用"
-#: src/main.c:276
+#: src/main.c:261
msgid "-Cf/-CF and -Cm don't make sense together"
msgstr "-Cf/-CF 和 -Cm 共用時不具任何意義"
-#: src/main.c:279
+#: src/main.c:264
msgid "-Cf/-CF and -I are incompatible"
msgstr "-Cf/-CF 和 -I 是不相容的"
-#: src/main.c:283
+#: src/main.c:268
msgid "-Cf/-CF are incompatible with lex-compatibility mode"
msgstr "-Cf/-CF 與 lex 相容模式是不相容的"
-#: src/main.c:288
+#: src/main.c:273
msgid "-Cf and -CF are mutually exclusive"
msgstr "-Cf 和 -CF 是互斥的"
-#: src/main.c:292
+#: src/main.c:277
msgid "Can't use -+ with -CF option"
msgstr "無法將 -+ 與 -CF 選項共同使用"
-#: src/main.c:295
+#: src/main.c:280
#, c-format
msgid "%array incompatible with -+ option"
msgstr "%array 與 -+ 選項不相容"
-#: src/main.c:300
+#: src/main.c:285
msgid "Options -+ and --reentrant are mutually exclusive."
msgstr "選項 -+ 和 --reentrant 是互斥的。"
-#: src/main.c:303
+#: src/main.c:288
msgid "bison bridge not supported for the C++ scanner."
msgstr "bison 橋接器不受 C++ 掃描程式支援。"
-#: src/main.c:358 src/main.c:404
+#: src/main.c:343 src/main.c:427
#, c-format
msgid "could not create %s"
msgstr "無法建立 %s"
-#: src/main.c:417
+#: src/main.c:439
msgid "could not write tables header"
msgstr "無法寫入表頭"
-#: src/main.c:421
+#: src/main.c:443
#, c-format
msgid "can't open skeleton file %s"
msgstr "無法開啟架構檔案 %s"
-#: src/main.c:457
+#: src/main.c:480
msgid "allocation of macro definition failed"
msgstr "給予巨集定義配額時失敗"
-#: src/main.c:505
+#: src/main.c:527
#, c-format
msgid "input error reading skeleton file %s"
msgstr "讀取架構檔案 %s 時輸入錯誤"
-#: src/main.c:509
+#: src/main.c:531
#, c-format
msgid "error closing skeleton file %s"
msgstr "關閉架構檔案 %s 時發生錯誤"
-#: src/main.c:694
+#: src/main.c:715
#, c-format
msgid "error creating header file %s"
msgstr "建立標頭檔案 %s 時發生錯誤"
-#: src/main.c:702
+#: src/main.c:723
#, c-format
msgid "error writing output file %s"
msgstr "寫入輸出檔案 %s 時發生錯誤"
-#: src/main.c:706
+#: src/main.c:727
#, c-format
msgid "error closing output file %s"
msgstr "關閉輸出檔案 %s 時發生錯誤"
-#: src/main.c:710
+#: src/main.c:731
#, c-format
msgid "error deleting output file %s"
msgstr "刪除輸出檔案 %s 時發生錯誤"
-#: src/main.c:717
+#: src/main.c:738
#, c-format
msgid "No backing up.\n"
msgstr "沒有備份。\n"
-#: src/main.c:721
+#: src/main.c:742
#, c-format
msgid "%d backing up (non-accepting) states.\n"
msgstr "%d 備份 (非接受) 狀態。\n"
-#: src/main.c:725
+#: src/main.c:746
#, c-format
msgid "Compressed tables always back up.\n"
msgstr "壓縮過的表格自動備份。\n"
-#: src/main.c:728
+#: src/main.c:749
#, c-format
msgid "error writing backup file %s"
msgstr "寫入備份檔案 %s 時發生錯誤"
-#: src/main.c:732
+#: src/main.c:753
#, c-format
msgid "error closing backup file %s"
msgstr "關閉備份檔案 %s 時發生錯誤"
-#: src/main.c:737
+#: src/main.c:758
#, c-format
msgid "%s version %s usage statistics:\n"
msgstr "%s 版本 %s 用法統計:\n"
-#: src/main.c:740
+#: src/main.c:761
#, c-format
msgid " scanner options: -"
msgstr " 掃描程式選項:-"
-#: src/main.c:819
+#: src/main.c:840
#, c-format
msgid " %d/%d NFA states\n"
msgstr " %d/%d NFA 狀態\n"
-#: src/main.c:821
+#: src/main.c:842
#, c-format
msgid " %d/%d DFA states (%d words)\n"
msgstr " %d/%d DFA 狀態 (%d 個字詞)\n"
-#: src/main.c:823
+#: src/main.c:844
#, c-format
msgid " %d rules\n"
msgstr " %d 條規則\n"
-#: src/main.c:828
+#: src/main.c:849
#, c-format
msgid " No backing up\n"
msgstr " 沒有備份\n"
-#: src/main.c:832
+#: src/main.c:853
#, c-format
msgid " %d backing-up (non-accepting) states\n"
msgstr " %d 備份 (非接受) 狀態\n"
-#: src/main.c:837
+#: src/main.c:858
#, c-format
msgid " Compressed tables always back-up\n"
msgstr " 壓縮過的表格自動備份\n"
-#: src/main.c:841
+#: src/main.c:862
#, c-format
msgid " Beginning-of-line patterns used\n"
msgstr " 列首式樣已使用\n"
-#: src/main.c:843
+#: src/main.c:864
#, c-format
msgid " %d/%d start conditions\n"
msgstr " %d/%d 起始條件\n"
-#: src/main.c:847
+#: src/main.c:868
#, c-format
msgid " %d epsilon states, %d double epsilon states\n"
msgstr " %d ε狀態,%d 雙倍ε狀態\n"
-#: src/main.c:851
+#: src/main.c:872
#, c-format
msgid " no character classes\n"
msgstr " 無字元類別\n"
-#: src/main.c:855
+#: src/main.c:876
#, 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:860
+#: src/main.c:881
#, c-format
msgid " %d state/nextstate pairs created\n"
msgstr " %d 狀態/下一狀態對已建立\n"
-#: src/main.c:863
+#: src/main.c:884
#, c-format
msgid " %d/%d unique/duplicate transitions\n"
msgstr " %d/%d 獨一/重複轉換\n"
-#: src/main.c:868
+#: src/main.c:889
#, c-format
msgid " %d table entries\n"
msgstr " %d 表格項目\n"
-#: src/main.c:876
+#: src/main.c:897
#, c-format
msgid " %d/%d base-def entries created\n"
msgstr " %d/%d base-def 項目已建立\n"
-#: src/main.c:880
+#: src/main.c:901
#, c-format
msgid " %d/%d (peak %d) nxt-chk entries created\n"
msgstr " %d/%d (尖峰 %d) nxt-chk 項目已建立\n"
-#: src/main.c:884
+#: src/main.c:905
#, c-format
msgid " %d/%d (peak %d) template nxt-chk entries created\n"
msgstr " %d/%d (尖峰 %d) 模板 nxt-chk 項目已建立\n"
-#: src/main.c:888
+#: src/main.c:909
#, c-format
msgid " %d empty table entries\n"
msgstr " %d 清空表格項目\n"
-#: src/main.c:890
+#: src/main.c:911
#, c-format
msgid " %d protos created\n"
msgstr " %d 原型已建立\n"
-#: src/main.c:893
+#: src/main.c:914
#, c-format
msgid " %d templates created, %d uses\n"
msgstr " %d 範本已建立,%d 使用\n"
-#: src/main.c:901
+#: src/main.c:922
#, c-format
msgid " %d/%d equivalence classes created\n"
msgstr " %d/%d 等價類別已建立\n"
-#: src/main.c:909
+#: src/main.c:930
#, c-format
msgid " %d/%d meta-equivalence classes created\n"
msgstr " %d/%d 後設等價類別已建立\n"
-#: src/main.c:915
+#: src/main.c:936
#, c-format
msgid " %d (%d saved) hash collisions, %d DFAs equal\n"
msgstr " %d (%d 已儲存) 雜湊碰撞,%d DFAs 相等\n"
-#: src/main.c:917
+#: src/main.c:938
#, c-format
msgid " %d sets of reallocations needed\n"
msgstr " 需要 %d 組重新配置\n"
-#: src/main.c:919
+#: src/main.c:940
#, c-format
msgid " %d total table entries needed\n"
msgstr " 總計需要 %d 表格項目\n"
-#: src/main.c:996
+#: src/main.c:1015
#, c-format
msgid "Internal error. flexopts are malformed.\n"
msgstr "內部錯誤。flexopts 功能異常。\n"
-#: src/main.c:1006
+#: src/main.c:1025
#, c-format
msgid "Try `%s --help' for more information.\n"
msgstr "嘗試「%s --help」以獲得更多資訊。\n"
-#: src/main.c:1063
+#: src/main.c:1082
#, c-format
msgid "unknown -C option '%c'"
msgstr "不明 -C 選項「%c」"
-#: src/main.c:1192
+#: src/main.c:1211
#, c-format
msgid "%s %s\n"
msgstr "%s %s\n"
-#: src/main.c:1468
+#: src/main.c:1487
msgid "fatal parse error"
msgstr "嚴重的解析錯誤"
-#: src/main.c:1500
+#: src/main.c:1519
#, c-format
msgid "could not create backing-up info file %s"
msgstr "無法建立備份資訊檔案 %s"
-#: src/main.c:1521
+#: src/main.c:1540
#, c-format
msgid "-l AT&T lex compatibility option entails a large performance penalty\n"
msgstr "-l AT&T lex 相容性選項會導致大幅效能減退\n"
-#: src/main.c:1524
+#: src/main.c:1543
#, c-format
msgid " and may be the actual source of other reported performance penalties\n"
msgstr " 同時也許是其他回報效能減退的實際來源\n"
-#: src/main.c:1530
+#: src/main.c:1549
#, 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:1537
+#: src/main.c:1556
#, c-format
msgid "-I (interactive) entails a minor performance penalty\n"
msgstr "-I (互動式) 導致小幅效能減退\n"
-#: src/main.c:1542
+#: src/main.c:1561
#, c-format
msgid "yymore() entails a minor performance penalty\n"
msgstr "yymore() 導致小幅效能減退\n"
-#: src/main.c:1548
+#: src/main.c:1567
#, c-format
msgid "REJECT entails a large performance penalty\n"
msgstr "REJECT 導致大幅效能減退\n"
-#: src/main.c:1553
+#: src/main.c:1572
#, c-format
msgid "Variable trailing context rules entail a large performance penalty\n"
msgstr "變數末尾內文規則導致大幅效能減退\n"
-#: src/main.c:1565
+#: src/main.c:1584
msgid "REJECT cannot be used with -f or -F"
msgstr "REJECT 無法與 -f 或 -F 共同使用"
-#: src/main.c:1568
+#: src/main.c:1587
#, c-format
msgid "%option yylineno cannot be used with REJECT"
msgstr "%option yylineno 無法與 REJECT 共同使用"
-#: src/main.c:1571
+#: src/main.c:1590
msgid "variable trailing context rules cannot be used with -f or -F"
msgstr "變數末尾內文規則無法與 -f 或 -F 共同使用"
-#: src/main.c:1699
+#: src/main.c:1718
#, c-format
msgid "%option yyclass only meaningful for C++ scanners"
msgstr "%option yyclass 只對於 C++ 掃描程式有意義"
-#: src/main.c:1806
+#: src/main.c:1805
#, c-format
msgid "Usage: %s [OPTIONS] [FILE]...\n"
msgstr "用法:%s [選項] [檔案]…\n"
-#: src/main.c:1809
+#: src/main.c:1808
#, fuzzy, c-format
msgid ""
"Generates programs that perform pattern-matching on text.\n"
@@ -657,47 +657,48 @@ msgstr ""
msgid "allocation of sko_stack failed"
msgstr "給予 sko_stack 配額時失敗"
-#: src/misc.c:102 src/misc.c:129
+#: src/misc.c:101 src/misc.c:128
#, c-format
msgid "name \"%s\" ridiculously long"
msgstr "名稱「%s」有荒謬的長度"
-#: src/misc.c:179
+#: src/misc.c:175
msgid "memory allocation failed in allocate_array()"
msgstr "在 allocatearray() 中記憶體配置失敗"
-#: src/misc.c:232
+#: src/misc.c:225
#, c-format
msgid "bad character '%s' detected in check_char()"
msgstr "在 checkchar() 中偵測到不當的字元「%s」"
-#: src/misc.c:237
+#: src/misc.c:230
#, c-format
msgid "scanner requires -8 flag to use the character %s"
msgstr "掃描程式需要 -8 旗標以使用字元 %s"
-#: src/misc.c:270
-msgid "dynamic memory failure in copy_string()"
-msgstr "在 copystring() 中動態記憶體失敗"
+#: src/misc.c:249
+#, fuzzy
+msgid "memory allocation failure in xstrdup()"
+msgstr "在 allocatearray() 中記憶體配置失敗"
-#: src/misc.c:369
+#: src/misc.c:323
#, c-format
msgid "%s: fatal internal error, %s\n"
msgstr "%s:嚴重內部錯誤,%s\n"
-#: src/misc.c:795
+#: src/misc.c:712
msgid "attempt to increase array size failed"
msgstr "試圖增加陣列大小時失敗"
-#: src/misc.c:922
+#: src/misc.c:839
msgid "bad line in skeleton file"
msgstr "架構檔案中不當的列"
-#: src/misc.c:971
+#: src/misc.c:889
msgid "memory allocation failed in yy_flex_xmalloc()"
msgstr "在 yy_flex_xmalloc() 中的記憶體配置失敗"
-#: src/nfa.c:104
+#: src/nfa.c:100
#, c-format
msgid ""
"\n"
@@ -708,39 +709,39 @@ msgstr ""
"\n"
"********** 開始輸出起始狀態為 %d 的 NFA\n"
-#: src/nfa.c:115
+#: src/nfa.c:111
#, c-format
msgid "state # %4d\t"
msgstr "狀態 # %4d\t"
-#: src/nfa.c:130
+#: src/nfa.c:126
#, c-format
msgid "********** end of dump\n"
msgstr "********** 傾印結束\n"
-#: src/nfa.c:174
+#: src/nfa.c:169
msgid "empty machine in dupmachine()"
msgstr "在 dupmachine() 中清空機器"
-#: src/nfa.c:240
+#: src/nfa.c:234
#, c-format
msgid "Variable trailing context rule at line %d\n"
msgstr "變數末尾內文規則於列 %d\n"
-#: src/nfa.c:364
+#: src/nfa.c:356
msgid "bad state type in mark_beginning_as_normal()"
msgstr "在 mark_beginning_as_normal() 中有不當的狀態輸入"
-#: src/nfa.c:609
+#: src/nfa.c:594
#, c-format
msgid "input rules are too complicated (>= %d NFA states)"
msgstr "輸入規則太複雜 (>= %d NFA 狀態)"
-#: src/nfa.c:688
+#: src/nfa.c:672
msgid "found too many transitions in mkxtion()"
msgstr "在 mkxtion() 中找到太多轉換"
-#: src/nfa.c:714
+#: src/nfa.c:698
#, c-format
msgid "too many rules (> %d)!"
msgstr "太多規則 (> %d)!"
@@ -817,16 +818,16 @@ msgstr "{%s} 的定義值太長\n"
msgid "incomplete name definition"
msgstr "不完整的名稱定義"
-#: src/scan.l:443
+#: src/scan.l:444
msgid "Option line too long\n"
msgstr "選項列太長\n"
-#: src/scan.l:451
+#: src/scan.l:452
#, c-format
msgid "unrecognized %%option: %s"
msgstr "無法辨識的 %%option:%s"
-#: src/scan.l:633 src/scan.l:800
+#: src/scan.l:633 src/scan.l:806
msgid "bad character class"
msgstr "不當的字元類別"
@@ -835,85 +836,89 @@ msgstr "不當的字元類別"
msgid "undefined definition {%s}"
msgstr "未定義的定義 {%s}"
-#: src/scan.l:755
+#: src/scan.l:746
+msgid "unbalanced parenthesis"
+msgstr ""
+
+#: src/scan.l:761
#, c-format
msgid "bad <start condition>: %s"
msgstr "不當的 <起始條件>:%s"
-#: src/scan.l:768
+#: src/scan.l:774
msgid "missing quote"
msgstr "缺少引號"
-#: src/scan.l:834
+#: src/scan.l:840
#, c-format
msgid "bad character class expression: %s"
msgstr "不當的字元類別運算式:%s"
-#: src/scan.l:856
+#: src/scan.l:862
msgid "bad character inside {}'s"
msgstr "不當字元於 {} 內部"
-#: src/scan.l:862
+#: src/scan.l:868
msgid "missing }"
msgstr "缺少 }"
-#: src/scan.l:940
+#: src/scan.l:946
msgid "EOF encountered inside an action"
msgstr "在動作之內遇到檔案結束"
-#: src/scan.l:945
+#: src/scan.l:951
msgid "EOF encountered inside pattern"
msgstr "在式樣之內遇到檔案結束"
-#: src/scan.l:967
+#: src/scan.l:973
#, c-format
msgid "bad character: %s"
msgstr "不當的字元:%s"
-#: src/scan.l:996
+#: src/scan.l:1001
#, c-format
msgid "can't open %s"
msgstr "無法開啟 %s"
-#: src/scanopt.c:291
+#: src/scanopt.c:259
#, c-format
msgid "Usage: %s [OPTIONS]...\n"
msgstr "用法:%s [選項]…\n"
-#: src/scanopt.c:559
+#: src/scanopt.c:524
#, c-format
msgid "option `%s' doesn't allow an argument\n"
msgstr "選項「%s」不允許任何引數\n"
-#: src/scanopt.c:564
+#: src/scanopt.c:529
#, c-format
msgid "option `%s' requires an argument\n"
msgstr "選項「%s」需要一個引數\n"
-#: src/scanopt.c:568
+#: src/scanopt.c:533
#, c-format
msgid "option `%s' is ambiguous\n"
msgstr "選項「%s」是模稜兩可的\n"
-#: src/scanopt.c:572
+#: src/scanopt.c:537
#, c-format
msgid "Unrecognized option `%s'\n"
msgstr "無法辨識的選項 %s\n"
-#: src/scanopt.c:576
+#: src/scanopt.c:541
#, c-format
msgid "Unknown error=(%d)\n"
msgstr "不明錯誤=(%d)\n"
-#: src/sym.c:100
+#: src/sym.c:92
msgid "symbol table memory allocation failed"
msgstr "符號表記憶體配置失敗"
-#: src/sym.c:202
+#: src/sym.c:183
msgid "name defined twice"
msgstr "名稱定義了兩次"
-#: src/sym.c:253
+#: src/sym.c:231
#, c-format
msgid "start condition %s declared twice"
msgstr "起始條件 %s 宣告了兩次"
@@ -931,3 +936,6 @@ msgstr "結束標誌\n"
#, 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() 中動態記憶體失敗"
diff --git a/src/FlexLexer.h b/src/FlexLexer.h
index b725b1f..c4dad2b 100644
--- a/src/FlexLexer.h
+++ b/src/FlexLexer.h
@@ -35,78 +35,74 @@
// to rename each yyFlexLexer to some other xxFlexLexer. You then
// include <FlexLexer.h> in your other sources once per lexer class:
//
-// #undef yyFlexLexer
-// #define yyFlexLexer xxFlexLexer
-// #include <FlexLexer.h>
+// #undef yyFlexLexer
+// #define yyFlexLexer xxFlexLexer
+// #include <FlexLexer.h>
//
-// #undef yyFlexLexer
-// #define yyFlexLexer zzFlexLexer
-// #include <FlexLexer.h>
-// ...
+// #undef yyFlexLexer
+// #define yyFlexLexer zzFlexLexer
+// #include <FlexLexer.h>
+// ...
#ifndef __FLEX_LEXER_H
// Never included before - need to define base class.
#define __FLEX_LEXER_H
#include <iostream>
-# ifndef FLEX_STD
-# define FLEX_STD std::
-# endif
extern "C++" {
struct yy_buffer_state;
typedef int yy_state_type;
-class FlexLexer {
+class FlexLexer
+{
public:
- virtual ~FlexLexer() { }
-
- const char* YYText() const { return yytext; }
- int YYLeng() const { return yyleng; }
-
- virtual void
- yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
- virtual struct yy_buffer_state*
- yy_create_buffer( FLEX_STD istream* s, int size ) = 0;
- virtual struct yy_buffer_state*
- yy_create_buffer( FLEX_STD istream& s, int size ) = 0;
- virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
- virtual void yyrestart( FLEX_STD istream* s ) = 0;
- virtual void yyrestart( FLEX_STD istream& s ) = 0;
-
- virtual int yylex() = 0;
-
- // Call yylex with new input/output sources.
- int yylex( FLEX_STD istream& new_in, FLEX_STD ostream& new_out )
- {
- switch_streams( new_in, new_out );
- return yylex();
- }
-
- int yylex( FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0)
- {
- switch_streams( new_in, new_out );
- return yylex();
- }
-
- // Switch to new input/output streams. A nil stream pointer
- // indicates "keep the current one".
- virtual void switch_streams( FLEX_STD istream* new_in,
- FLEX_STD ostream* new_out ) = 0;
- virtual void switch_streams( FLEX_STD istream& new_in,
- FLEX_STD ostream& new_out ) = 0;
-
- int lineno() const { return yylineno; }
-
- int debug() const { return yy_flex_debug; }
- void set_debug( int flag ) { yy_flex_debug = flag; }
+ virtual ~FlexLexer() { }
+
+ const char* YYText() const { return yytext; }
+ int YYLeng() const { return yyleng; }
+
+ virtual void
+ yy_switch_to_buffer( yy_buffer_state* new_buffer ) = 0;
+ virtual yy_buffer_state* yy_create_buffer( std::istream* s, int size ) = 0;
+ virtual yy_buffer_state* yy_create_buffer( std::istream& s, int size ) = 0;
+ virtual void yy_delete_buffer( yy_buffer_state* b ) = 0;
+ virtual void yyrestart( std::istream* s ) = 0;
+ virtual void yyrestart( std::istream& s ) = 0;
+
+ virtual int yylex() = 0;
+
+ // Call yylex with new input/output sources.
+ int yylex( std::istream& new_in, std::ostream& new_out )
+ {
+ switch_streams( new_in, new_out );
+ return yylex();
+ }
+
+ int yylex( std::istream* new_in, std::ostream* new_out = 0)
+ {
+ switch_streams( new_in, new_out );
+ return yylex();
+ }
+
+ // Switch to new input/output streams. A nil stream pointer
+ // indicates "keep the current one".
+ virtual void switch_streams( std::istream* new_in,
+ std::ostream* new_out ) = 0;
+ virtual void switch_streams( std::istream& new_in,
+ std::ostream& new_out ) = 0;
+
+ int lineno() const { return yylineno; }
+
+ int debug() const { return yy_flex_debug; }
+ void set_debug( int flag ) { yy_flex_debug = flag; }
protected:
- char* yytext;
- int yyleng;
- int yylineno; // only maintained if you use %option yylineno
- int yy_flex_debug; // only has effect with -d or "%option debug"
+ char* yytext;
+ int yyleng;
+ int yylineno; // only maintained if you use %option yylineno
+ int yy_flex_debug; // only has effect with -d or "%option debug"
};
}
@@ -116,110 +112,109 @@ protected:
// Either this is the first time through (yyFlexLexerOnce not defined),
// or this is a repeated include to define a different flavor of
// yyFlexLexer, as discussed in the flex manual.
-#define yyFlexLexerOnce
+# define yyFlexLexerOnce
extern "C++" {
class yyFlexLexer : public FlexLexer {
public:
- // arg_yyin and arg_yyout default to the cin and cout, but we
- // only make that assignment when initializing in yylex().
- yyFlexLexer( FLEX_STD istream& arg_yyin, FLEX_STD ostream& arg_yyout );
- yyFlexLexer( FLEX_STD istream* arg_yyin = 0, FLEX_STD ostream* arg_yyout = 0 );
+ // arg_yyin and arg_yyout default to the cin and cout, but we
+ // only make that assignment when initializing in yylex().
+ yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout );
+ yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );
private:
- void ctor_common();
+ void ctor_common();
public:
- virtual ~yyFlexLexer();
+ virtual ~yyFlexLexer();
- void yy_switch_to_buffer( struct yy_buffer_state* new_buffer );
- struct yy_buffer_state* yy_create_buffer( FLEX_STD istream* s, int size );
- struct yy_buffer_state* yy_create_buffer( FLEX_STD istream& s, int size );
- void yy_delete_buffer( struct yy_buffer_state* b );
- void yyrestart( FLEX_STD istream* s );
- void yyrestart( FLEX_STD istream& s );
+ void yy_switch_to_buffer( yy_buffer_state* new_buffer );
+ yy_buffer_state* yy_create_buffer( std::istream* s, int size );
+ yy_buffer_state* yy_create_buffer( std::istream& s, int size );
+ void yy_delete_buffer( yy_buffer_state* b );
+ void yyrestart( std::istream* s );
+ void yyrestart( std::istream& s );
- void yypush_buffer_state( struct yy_buffer_state* new_buffer );
- void yypop_buffer_state();
+ void yypush_buffer_state( yy_buffer_state* new_buffer );
+ void yypop_buffer_state();
- virtual int yylex();
- virtual void switch_streams( FLEX_STD istream& new_in, FLEX_STD ostream& new_out );
- virtual void switch_streams( FLEX_STD istream* new_in = 0, FLEX_STD ostream* new_out = 0 );
- virtual int yywrap();
+ virtual int yylex();
+ virtual void switch_streams( std::istream& new_in, std::ostream& new_out );
+ virtual void switch_streams( std::istream* new_in = 0, std::ostream* new_out = 0 );
+ virtual int yywrap();
protected:
- virtual int LexerInput( char* buf, int max_size );
- virtual void LexerOutput( const char* buf, int size );
- virtual void LexerError( const char* msg );
+ virtual int LexerInput( char* buf, int max_size );
+ virtual void LexerOutput( const char* buf, int size );
+ virtual void LexerError( const char* msg );
- void yyunput( int c, char* buf_ptr );
- int yyinput();
+ void yyunput( int c, char* buf_ptr );
+ int yyinput();
- void yy_load_buffer_state();
- void yy_init_buffer( struct yy_buffer_state* b, FLEX_STD istream& s );
- void yy_flush_buffer( struct yy_buffer_state* b );
+ void yy_load_buffer_state();
+ void yy_init_buffer( yy_buffer_state* b, std::istream& s );
+ void yy_flush_buffer( yy_buffer_state* b );
- int yy_start_stack_ptr;
- int yy_start_stack_depth;
- int* yy_start_stack;
+ int yy_start_stack_ptr;
+ int yy_start_stack_depth;
+ int* yy_start_stack;
- void yy_push_state( int new_state );
- void yy_pop_state();
- int yy_top_state();
+ void yy_push_state( int new_state );
+ void yy_pop_state();
+ int yy_top_state();
- yy_state_type yy_get_previous_state();
- yy_state_type yy_try_NUL_trans( yy_state_type current_state );
- int yy_get_next_buffer();
+ yy_state_type yy_get_previous_state();
+ yy_state_type yy_try_NUL_trans( yy_state_type current_state );
+ int yy_get_next_buffer();
- FLEX_STD istream yyin; // input source for default LexerInput
- FLEX_STD ostream yyout; // output sink for default LexerOutput
+ std::istream yyin; // input source for default LexerInput
+ std::ostream yyout; // output sink for default LexerOutput
- // yy_hold_char holds the character lost when yytext is formed.
- char yy_hold_char;
+ // yy_hold_char holds the character lost when yytext is formed.
+ char yy_hold_char;
- // Number of characters read into yy_ch_buf.
- int yy_n_chars;
+ // Number of characters read into yy_ch_buf.
+ int yy_n_chars;
- // Points to current character in buffer.
- char* yy_c_buf_p;
+ // Points to current character in buffer.
+ char* yy_c_buf_p;
- int yy_init; // whether we need to initialize
- int yy_start; // start state number
+ int yy_init; // whether we need to initialize
+ int yy_start; // start state number
- // Flag which is used to allow yywrap()'s to do buffer switches
- // instead of setting up a fresh yyin. A bit of a hack ...
- int yy_did_buffer_switch_on_eof;
+ // Flag which is used to allow yywrap()'s to do buffer switches
+ // instead of setting up a fresh yyin. A bit of a hack ...
+ int yy_did_buffer_switch_on_eof;
- size_t yy_buffer_stack_top; /**< index of top of stack. */
- size_t yy_buffer_stack_max; /**< capacity of stack. */
- struct yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */
- void yyensure_buffer_stack(void);
+ size_t yy_buffer_stack_top; /**< index of top of stack. */
+ size_t yy_buffer_stack_max; /**< capacity of stack. */
+ yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */
+ void yyensure_buffer_stack(void);
- // The following are not always needed, but may be depending
- // on use of certain flex features (like REJECT or yymore()).
+ // The following are not always needed, but may be depending
+ // on use of certain flex features (like REJECT or yymore()).
- yy_state_type yy_last_accepting_state;
- char* yy_last_accepting_cpos;
+ yy_state_type yy_last_accepting_state;
+ char* yy_last_accepting_cpos;
- yy_state_type* yy_state_buf;
- yy_state_type* yy_state_ptr;
+ yy_state_type* yy_state_buf;
+ yy_state_type* yy_state_ptr;
- char* yy_full_match;
- int* yy_full_state;
- int yy_full_lp;
+ char* yy_full_match;
+ int* yy_full_state;
+ int yy_full_lp;
- int yy_lp;
- int yy_looking_for_trail_begin;
+ int yy_lp;
+ int yy_looking_for_trail_begin;
- int yy_more_flag;
- int yy_more_len;
- int yy_more_offset;
- int yy_prev_more_offset;
+ int yy_more_flag;
+ int yy_more_len;
+ int yy_more_offset;
+ int yy_prev_more_offset;
};
}
#endif // yyFlexLexer || ! yyFlexLexerOnce
-
diff --git a/src/Makefile.am b/src/Makefile.am
index e324854..416995e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,39 +1,47 @@
AM_YFLAGS = -d
localedir = $(datadir)/locale
AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl
-LIBS = @LIBINTL@ @LIBS@
+LIBS = @LIBS@
m4 = @M4@
bin_PROGRAMS = flex
+noinst_PROGRAMS = stage1flex
lib_LTLIBRARIES = \
libfl.la \
libfl_pic.la
+stage1flex_SOURCES = \
+ scan.l \
+ $(COMMON_SOURCES)
+
flex_SOURCES = \
+ stage1scan.l \
+ $(COMMON_SOURCES)
+
+COMMON_SOURCES = \
+ buf.c \
ccl.c \
dfa.c \
ecs.c \
- scanflags.c \
+ filter.c \
gen.c \
main.c \
misc.c \
nfa.c \
+ options.c \
parse.y \
- scan.l \
+ regex.c \
+ scanflags.c \
+ scanopt.c \
skel.c \
sym.c \
- tblcmp.c \
- yylex.c \
- options.c \
- scanopt.c \
- buf.c \
tables.c \
tables_shared.c \
- filter.c \
- regex.c
+ tblcmp.c \
+ yylex.c
-LDADD = ../lib/libcompat.la
+LDADD = ../lib/libcompat.la @LIBINTL@
libfl_la_SOURCES = \
libmain.c \
@@ -64,13 +72,25 @@ EXTRA_DIST = \
mkskel.sh \
gettext.h
-BUILT_SOURCES = \
- skel.c
+DISTCLEANFILES = stage1scan.c
MAINTAINERCLEANFILES = skel.c
-skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
- sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | $(m4) -P -DFLEX_MAJOR_VERSION=`echo $(VERSION)|cut -f 1 -d .` -DFLEX_MINOR_VERSION=`echo $(VERSION)|cut -f 2 -d .` -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | sed 's/m4postproc_/m4_/g' | $(SHELL) $(srcdir)/mkskel.sh >skel.c
+$(srcdir)/skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
+ sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | \
+ $(m4) -P -I $(srcdir) \
+ -DFLEX_MAJOR_VERSION=` echo $(VERSION)|cut -f 1 -d .` \
+ -DFLEX_MINOR_VERSION=` echo $(VERSION)|cut -f 2 -d .` \
+ -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | \
+ sed 's/m4postproc_/m4_/g' | \
+ $(SHELL) $(srcdir)/mkskel.sh >skel.c.tmp
+ mv skel.c.tmp $(srcdir)/skel.c
+
+stage1scan.l: scan.l
+ cp $(srcdir)/scan.l $(srcdir)/stage1scan.l
+
+stage1scan.c: stage1scan.l stage1flex$(EXEEXT)
+ $(top_builddir)/src/stage1flex$(EXEEXT) -o $@ $<
# Explicitly describe dependencies.
# You can recreate this with `gcc -I. -MM *.c'
diff --git a/src/Makefile.in b/src/Makefile.in
index a9e0074..46b0c6c 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -91,6 +91,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = flex$(EXEEXT)
+noinst_PROGRAMS = stage1flex$(EXEEXT)
subdir = src
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
@@ -155,17 +156,21 @@ libfl_pic_la_OBJECTS = $(am_libfl_pic_la_OBJECTS)
libfl_pic_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libfl_pic_la_LDFLAGS) $(LDFLAGS) -o $@
-PROGRAMS = $(bin_PROGRAMS)
-am_flex_OBJECTS = ccl.$(OBJEXT) dfa.$(OBJEXT) ecs.$(OBJEXT) \
- scanflags.$(OBJEXT) gen.$(OBJEXT) main.$(OBJEXT) \
- misc.$(OBJEXT) nfa.$(OBJEXT) parse.$(OBJEXT) scan.$(OBJEXT) \
- skel.$(OBJEXT) sym.$(OBJEXT) tblcmp.$(OBJEXT) yylex.$(OBJEXT) \
- options.$(OBJEXT) scanopt.$(OBJEXT) buf.$(OBJEXT) \
- tables.$(OBJEXT) tables_shared.$(OBJEXT) filter.$(OBJEXT) \
- regex.$(OBJEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+am__objects_1 = buf.$(OBJEXT) ccl.$(OBJEXT) dfa.$(OBJEXT) \
+ ecs.$(OBJEXT) filter.$(OBJEXT) gen.$(OBJEXT) main.$(OBJEXT) \
+ misc.$(OBJEXT) nfa.$(OBJEXT) options.$(OBJEXT) parse.$(OBJEXT) \
+ regex.$(OBJEXT) scanflags.$(OBJEXT) scanopt.$(OBJEXT) \
+ skel.$(OBJEXT) sym.$(OBJEXT) tables.$(OBJEXT) \
+ tables_shared.$(OBJEXT) tblcmp.$(OBJEXT) yylex.$(OBJEXT)
+am_flex_OBJECTS = stage1scan.$(OBJEXT) $(am__objects_1)
flex_OBJECTS = $(am_flex_OBJECTS)
flex_LDADD = $(LDADD)
flex_DEPENDENCIES = ../lib/libcompat.la
+am_stage1flex_OBJECTS = scan.$(OBJEXT) $(am__objects_1)
+stage1flex_OBJECTS = $(am_stage1flex_OBJECTS)
+stage1flex_LDADD = $(LDADD)
+stage1flex_DEPENDENCIES = ../lib/libcompat.la
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
@@ -217,9 +222,10 @@ AM_V_YACC = $(am__v_YACC_@AM_V@)
am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
am__v_YACC_0 = @echo " YACC " $@;
am__v_YACC_1 =
-SOURCES = $(libfl_la_SOURCES) $(libfl_pic_la_SOURCES) $(flex_SOURCES)
+SOURCES = $(libfl_la_SOURCES) $(libfl_pic_la_SOURCES) $(flex_SOURCES) \
+ $(stage1flex_SOURCES)
DIST_SOURCES = $(libfl_la_SOURCES) $(libfl_pic_la_SOURCES) \
- $(flex_SOURCES)
+ $(flex_SOURCES) $(stage1flex_SOURCES)
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
@@ -248,7 +254,7 @@ ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \
- parse.c parse.h scan.c
+ parse.c parse.h scan.c stage1scan.c
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
@@ -302,7 +308,7 @@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
-LIBS = @LIBINTL@ @LIBS@
+LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
@@ -338,6 +344,7 @@ SET_MAKE = @SET_MAKE@
SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
SHELL = @SHELL@
STRIP = @STRIP@
+TEXI2DVI = @TEXI2DVI@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
XGETTEXT = @XGETTEXT@
@@ -405,30 +412,37 @@ lib_LTLIBRARIES = \
libfl.la \
libfl_pic.la
+stage1flex_SOURCES = \
+ scan.l \
+ $(COMMON_SOURCES)
+
flex_SOURCES = \
+ stage1scan.l \
+ $(COMMON_SOURCES)
+
+COMMON_SOURCES = \
+ buf.c \
ccl.c \
dfa.c \
ecs.c \
- scanflags.c \
+ filter.c \
gen.c \
main.c \
misc.c \
nfa.c \
+ options.c \
parse.y \
- scan.l \
+ regex.c \
+ scanflags.c \
+ scanopt.c \
skel.c \
sym.c \
- tblcmp.c \
- yylex.c \
- options.c \
- scanopt.c \
- buf.c \
tables.c \
tables_shared.c \
- filter.c \
- regex.c
+ tblcmp.c \
+ yylex.c
-LDADD = ../lib/libcompat.la
+LDADD = ../lib/libcompat.la @LIBINTL@
libfl_la_SOURCES = \
libmain.c \
libyywrap.c
@@ -456,9 +470,7 @@ EXTRA_DIST = \
mkskel.sh \
gettext.h
-BUILT_SOURCES = \
- skel.c
-
+DISTCLEANFILES = stage1scan.c
MAINTAINERCLEANFILES = skel.c
# Run GNU indent on sources. Don't run this unless all the sources compile cleanly.
@@ -496,7 +508,7 @@ indentfiles = \
tables_shared.h \
tblcmp.c
-all: $(BUILT_SOURCES) config.h
+all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
@@ -651,6 +663,15 @@ installcheck-binPROGRAMS: $(bin_PROGRAMS)
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
done; \
done; rm -f c$${pid}_.???; exit $$bad
+
+clean-noinstPROGRAMS:
+ @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
+ echo " rm -f" $$list; \
+ rm -f $$list || exit $$?; \
+ test -n "$(EXEEXT)" || exit 0; \
+ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+ echo " rm -f" $$list; \
+ rm -f $$list
parse.h: parse.c
@if test ! -f $@; then rm -f parse.c; else :; fi
@if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) parse.c; else :; fi
@@ -659,6 +680,10 @@ flex$(EXEEXT): $(flex_OBJECTS) $(flex_DEPENDENCIES) $(EXTRA_flex_DEPENDENCIES)
@rm -f flex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(flex_OBJECTS) $(flex_LDADD) $(LIBS)
+stage1flex$(EXEEXT): $(stage1flex_OBJECTS) $(stage1flex_DEPENDENCIES) $(EXTRA_stage1flex_DEPENDENCIES)
+ @rm -f stage1flex$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(stage1flex_OBJECTS) $(stage1flex_LDADD) $(LIBS)
+
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -683,6 +708,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanflags.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanopt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1scan.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sym.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables_shared.Po@am__quote@
@@ -826,8 +852,7 @@ distdir: $(DISTFILES)
fi; \
done
check-am: all-am
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
+check: check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) config.h
install-binPROGRAMS: install-libLTLIBRARIES
@@ -835,8 +860,7 @@ installdirs:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-am
+install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
@@ -862,6 +886,7 @@ clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@@ -869,12 +894,12 @@ maintainer-clean-generic:
-rm -f parse.c
-rm -f parse.h
-rm -f scan.c
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -rm -f stage1scan.c
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
- clean-libtool mostlyclean-am
+ clean-libtool clean-noinstPROGRAMS mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
@@ -943,31 +968,44 @@ ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
uninstall-libLTLIBRARIES
-.MAKE: all check install install-am install-strip
+.MAKE: all install-am install-strip
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \
clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
- clean-libtool cscopelist-am ctags ctags-am distclean \
- distclean-compile distclean-generic distclean-hdr \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-binPROGRAMS \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-includeHEADERS install-info install-info-am \
- install-libLTLIBRARIES install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installcheck-binPROGRAMS installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
- pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \
- uninstall-binPROGRAMS uninstall-includeHEADERS \
+ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
+ ctags-am distclean distclean-compile distclean-generic \
+ distclean-hdr distclean-libtool distclean-tags distdir dvi \
+ dvi-am html html-am info info-am install install-am \
+ install-binPROGRAMS install-data install-data-am install-dvi \
+ install-dvi-am install-exec install-exec-am install-html \
+ install-html-am install-includeHEADERS install-info \
+ install-info-am install-libLTLIBRARIES install-man install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installcheck-binPROGRAMS \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-compile mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-includeHEADERS \
uninstall-libLTLIBRARIES
.PRECIOUS: Makefile
-skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
- sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | $(m4) -P -DFLEX_MAJOR_VERSION=`echo $(VERSION)|cut -f 1 -d .` -DFLEX_MINOR_VERSION=`echo $(VERSION)|cut -f 2 -d .` -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | sed 's/m4postproc_/m4_/g' | $(SHELL) $(srcdir)/mkskel.sh >skel.c
+$(srcdir)/skel.c: flex.skl mkskel.sh flexint.h tables_shared.h
+ sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | \
+ $(m4) -P -I $(srcdir) \
+ -DFLEX_MAJOR_VERSION=` echo $(VERSION)|cut -f 1 -d .` \
+ -DFLEX_MINOR_VERSION=` echo $(VERSION)|cut -f 2 -d .` \
+ -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | \
+ sed 's/m4postproc_/m4_/g' | \
+ $(SHELL) $(srcdir)/mkskel.sh >skel.c.tmp
+ mv skel.c.tmp $(srcdir)/skel.c
+
+stage1scan.l: scan.l
+ cp $(srcdir)/scan.l $(srcdir)/stage1scan.l
+
+stage1scan.c: stage1scan.l stage1flex$(EXEEXT)
+ $(top_builddir)/src/stage1flex$(EXEEXT) -o $@ $<
# Explicitly describe dependencies.
# You can recreate this with `gcc -I. -MM *.c'
diff --git a/src/buf.c b/src/buf.c
index 7e05abc..ada1958 100644
--- a/src/buf.c
+++ b/src/buf.c
@@ -73,12 +73,13 @@ struct Buf *buf_prints (struct Buf *buf, const char *fmt, const char *s)
char *t;
size_t tsz;
- t = flex_alloc (tsz = strlen (fmt) + strlen (s) + 1);
+ tsz = strlen(fmt) + strlen(s) + 1;
+ t = malloc(tsz);
if (!t)
flexfatal (_("Allocation of buffer to print string failed"));
snprintf (t, tsz, fmt, s);
buf = buf_strappend (buf, t);
- flex_free (t);
+ free(t);
return buf;
}
@@ -104,14 +105,14 @@ struct Buf *buf_linedir (struct Buf *buf, const char* filename, int lineno)
t = malloc(tsz);
if (!t)
flexfatal (_("Allocation of buffer for line directive failed"));
- for (dst = t + sprintf (t, "#line %d \"", lineno), src = filename; *src; *dst++ = *src++)
+ for (dst = t + snprintf (t, tsz, "#line %d \"", lineno), src = filename; *src; *dst++ = *src++)
if (*src == '\\') /* escape backslashes */
*dst++ = '\\';
*dst++ = '"';
*dst++ = '\n';
*dst = '\0';
buf = buf_strappend (buf, t);
- flex_free (t);
+ free(t);
return buf;
}
@@ -129,10 +130,7 @@ struct Buf *buf_concat(struct Buf* dest, const struct Buf* src)
/* Appends n characters in str to buf. */
-struct Buf *buf_strnappend (buf, str, n)
- struct Buf *buf;
- const char *str;
- int n;
+struct Buf *buf_strnappend (struct Buf *buf, const char *str, int n)
{
buf_append (buf, str, n + 1);
@@ -143,18 +141,13 @@ struct Buf *buf_strnappend (buf, str, n)
}
/* Appends characters in str to buf. */
-struct Buf *buf_strappend (buf, str)
- struct Buf *buf;
- const char *str;
+struct Buf *buf_strappend (struct Buf *buf, const char *str)
{
- return buf_strnappend (buf, str, strlen (str));
+ return buf_strnappend (buf, str, (int) strlen (str));
}
/* appends "#define str def\n" */
-struct Buf *buf_strdefine (buf, str, def)
- struct Buf *buf;
- const char *str;
- const char *def;
+struct Buf *buf_strdefine (struct Buf *buf, const char *str, const char *def)
{
buf_strappend (buf, "#define ");
buf_strappend (buf, " ");
@@ -178,7 +171,8 @@ struct Buf *buf_m4_define (struct Buf *buf, const char* def, const char* val)
size_t strsz;
val = val?val:"";
- str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(def) + strlen(val) + 2);
+ strsz = strlen(fmt) + strlen(def) + strlen(val) + 2;
+ str = malloc(strsz);
if (!str)
flexfatal (_("Allocation of buffer for m4 def failed"));
@@ -198,7 +192,8 @@ struct Buf *buf_m4_undefine (struct Buf *buf, const char* def)
char * str;
size_t strsz;
- str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(def) + 2);
+ strsz = strlen(fmt) + strlen(def) + 2;
+ str = malloc(strsz);
if (!str)
flexfatal (_("Allocation of buffer for m4 undef failed"));
@@ -208,23 +203,21 @@ struct Buf *buf_m4_undefine (struct Buf *buf, const char* def)
}
/* create buf with 0 elements, each of size elem_size. */
-void buf_init (buf, elem_size)
- struct Buf *buf;
- size_t elem_size;
+void buf_init (struct Buf *buf, size_t elem_size)
{
- buf->elts = (void *) 0;
+ buf->elts = NULL;
buf->nelts = 0;
buf->elt_size = elem_size;
buf->nmax = 0;
}
/* frees memory */
-void buf_destroy (buf)
- struct Buf *buf;
+void buf_destroy (struct Buf *buf)
{
- if (buf && buf->elts)
- flex_free (buf->elts);
- buf->elts = (void *) 0;
+ if (buf) {
+ free(buf->elts);
+ buf->elts = NULL;
+ }
}
@@ -234,10 +227,7 @@ void buf_destroy (buf)
* We grow by mod(512) boundaries.
*/
-struct Buf *buf_append (buf, ptr, n_elem)
- struct Buf *buf;
- const void *ptr;
- int n_elem;
+struct Buf *buf_append (struct Buf *buf, const void *ptr, int n_elem)
{
int n_alloc = 0;
diff --git a/src/ccl.c b/src/ccl.c
index 7b134af..ff9a213 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -52,9 +52,7 @@ ccl_contains (const int cclp, const int ch)
/* ccladd - add a single character to a ccl */
-void ccladd (cclp, ch)
- int cclp;
- int ch;
+void ccladd (int cclp, int ch)
{
int ind, len, newpos, i;
@@ -85,7 +83,7 @@ void ccladd (cclp, ch)
}
ccllen[cclp] = len + 1;
- ccltbl[newpos] = ch;
+ ccltbl[newpos] = (unsigned char) ch;
}
/* dump_cclp - same thing as list_character_set, but for cclps. */
@@ -185,7 +183,7 @@ ccl_set_union (int a, int b)
/* cclinit - return an empty ccl */
-int cclinit ()
+int cclinit (void)
{
if (++lastccl >= current_maxccls) {
current_maxccls += MAX_CCLS_INCREMENT;
@@ -225,8 +223,7 @@ int cclinit ()
/* cclnegate - negate the given ccl */
-void cclnegate (cclp)
- int cclp;
+void cclnegate (int cclp)
{
cclng[cclp] = 1;
ccl_has_nl[cclp] = !ccl_has_nl[cclp];
@@ -240,9 +237,7 @@ void cclnegate (cclp)
* has a non-zero value in the cset array.
*/
-void list_character_set (file, cset)
- FILE *file;
- int cset[];
+void list_character_set (FILE *file, int cset[])
{
int i;
diff --git a/src/dfa.c b/src/dfa.c
index 0a68e3a..be62da8 100644
--- a/src/dfa.c
+++ b/src/dfa.c
@@ -34,10 +34,10 @@
/* declare functions that have forward references */
-void dump_associated_rules PROTO ((FILE *, int));
-void dump_transitions PROTO ((FILE *, int[]));
-void sympartition PROTO ((int[], int, int[], int[]));
-int symfollowset PROTO ((int[], int, int, int[]));
+void dump_associated_rules(FILE *, int);
+void dump_transitions(FILE *, int[]);
+void sympartition(int[], int, int[], int[]);
+int symfollowset(int[], int, int, int[]);
/* check_for_backing_up - check a DFA state for backing up
@@ -49,9 +49,7 @@ int symfollowset PROTO ((int[], int, int, int[]));
* indexed by equivalence class.
*/
-void check_for_backing_up (ds, state)
- int ds;
- int state[];
+void check_for_backing_up (int ds, int state[])
{
if ((reject && !dfaacc[ds].dfaacc_set) || (!reject && !dfaacc[ds].dfaacc_state)) { /* state is non-accepting */
++num_backing_up;
@@ -96,10 +94,7 @@ void check_for_backing_up (ds, state)
* accset[1 .. nacc] is the list of accepting numbers for the DFA state.
*/
-void check_trailing_context (nfa_states, num_states, accset, nacc)
- int *nfa_states, num_states;
- int *accset;
- int nacc;
+void check_trailing_context (int *nfa_states, int num_states, int *accset, int nacc)
{
int i, j;
@@ -137,9 +132,7 @@ void check_trailing_context (nfa_states, num_states, accset, nacc)
* and writes a report to the given file.
*/
-void dump_associated_rules (file, ds)
- FILE *file;
- int ds;
+void dump_associated_rules (FILE *file, int ds)
{
int i, j;
int num_associated_rules = 0;
@@ -161,7 +154,7 @@ void dump_associated_rules (file, ds)
}
}
- qsort (&rule_set [1], num_associated_rules, sizeof (rule_set [1]), intcmp);
+ qsort (&rule_set [1], (size_t) num_associated_rules, sizeof (rule_set [1]), intcmp);
fprintf (file, _(" associated rule line numbers:"));
@@ -187,9 +180,7 @@ void dump_associated_rules (file, ds)
* is done to the given file.
*/
-void dump_transitions (file, state)
- FILE *file;
- int state[];
+void dump_transitions (FILE *file, int state[])
{
int i, ec;
int out_char_set[CSIZE];
@@ -235,8 +226,7 @@ void dump_transitions (file, state)
* hashval is the hash value for the dfa corresponding to the state set.
*/
-int *epsclosure (t, ns_addr, accset, nacc_addr, hv_addr)
- int *t, *ns_addr, accset[], *nacc_addr, *hv_addr;
+int *epsclosure (int *t, int *ns_addr, int accset[], int *nacc_addr, int *hv_addr)
{
int stkpos, ns, tsp;
int numstates = *ns_addr, nacc, hashval, transsym, nfaccnum;
@@ -351,7 +341,7 @@ ADD_STATE(state); \
/* increase_max_dfas - increase the maximum number of DFAs */
-void increase_max_dfas ()
+void increase_max_dfas (void)
{
current_max_dfas += MAX_DFAS_INCREMENT;
@@ -378,7 +368,7 @@ void increase_max_dfas ()
* dfa starts out in state #1.
*/
-void ntod ()
+void ntod (void)
{
int *accset, ds, nacc, newds;
int sym, hashval, numstates, dsize;
@@ -521,15 +511,13 @@ void ntod ()
* So we'll have to realloc() on the way...
* we'll wait until we can calculate yynxt_tbl->td_hilen.
*/
- yynxt_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct
- yytbl_data));
+ yynxt_tbl = calloc(1, sizeof (struct yytbl_data));
+
yytbl_data_init (yynxt_tbl, YYTD_ID_NXT);
yynxt_tbl->td_hilen = 1;
yynxt_tbl->td_lolen = num_full_table_rows;
yynxt_tbl->td_data = yynxt_data =
- (flex_int32_t *) calloc (yynxt_tbl->td_lolen *
+ calloc(yynxt_tbl->td_lolen *
yynxt_tbl->td_hilen,
sizeof (flex_int32_t));
yynxt_curr = 0;
@@ -713,7 +701,7 @@ void ntod ()
/* Each time we hit here, it's another td_hilen, so we realloc. */
yynxt_tbl->td_hilen++;
yynxt_tbl->td_data = yynxt_data =
- (flex_int32_t *) realloc (yynxt_data,
+ realloc (yynxt_data,
yynxt_tbl->td_hilen *
yynxt_tbl->td_lolen *
sizeof (flex_int32_t));
@@ -805,8 +793,8 @@ void ntod ()
mkdeftbl ();
}
- flex_free ((void *) accset);
- flex_free ((void *) nset);
+ free(accset);
+ free(nset);
}
@@ -820,8 +808,7 @@ void ntod ()
* On return, the dfa state number is in newds.
*/
-int snstods (sns, numstates, accset, nacc, hashval, newds_addr)
- int sns[], numstates, accset[], nacc, hashval, *newds_addr;
+int snstods (int sns[], int numstates, int accset[], int nacc, int hashval, int *newds_addr)
{
int didsort = 0;
int i, j;
@@ -836,7 +823,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr)
/* We sort the states in sns so we
* can compare it to oldsns quickly.
*/
- qsort (&sns [1], numstates, sizeof (sns [1]), intcmp);
+ qsort (&sns [1], (size_t) numstates, sizeof (sns [1]), intcmp);
didsort = 1;
}
@@ -871,7 +858,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr)
*/
if (!didsort)
- qsort (&sns [1], numstates, sizeof (sns [1]), intcmp);
+ qsort (&sns [1], (size_t) numstates, sizeof (sns [1]), intcmp);
for (i = 1; i <= numstates; ++i)
dss[newds][i] = sns[i];
@@ -881,7 +868,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr)
if (nacc == 0) {
if (reject)
- dfaacc[newds].dfaacc_set = (int *) 0;
+ dfaacc[newds].dfaacc_set = NULL;
else
dfaacc[newds].dfaacc_state = 0;
@@ -894,7 +881,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr)
* match in the event of ties will work.
*/
- qsort (&accset [1], nacc, sizeof (accset [1]), intcmp);
+ qsort (&accset [1], (size_t) nacc, sizeof (accset [1]), intcmp);
dfaacc[newds].dfaacc_set =
allocate_integer_array (nacc + 1);
@@ -942,8 +929,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr)
* int transsym, int nset[current_max_dfa_size] );
*/
-int symfollowset (ds, dsize, transsym, nset)
- int ds[], dsize, transsym, nset[];
+int symfollowset (int ds[], int dsize, int transsym, int nset[])
{
int ns, tsp, sym, i, j, lenccl, ch, numstates, ccllist;
@@ -1020,9 +1006,7 @@ int symfollowset (ds, dsize, transsym, nset)
* int symlist[numecs], int duplist[numecs] );
*/
-void sympartition (ds, numstates, symlist, duplist)
- int ds[], numstates;
- int symlist[], duplist[];
+void sympartition (int ds[], int numstates, int symlist[], int duplist[])
{
int tch, i, j, k, ns, dupfwd[CSIZE + 1], lenccl, cclp, ich;
diff --git a/src/ecs.c b/src/ecs.c
index b206351..b2afc1f 100644
--- a/src/ecs.c
+++ b/src/ecs.c
@@ -36,7 +36,7 @@
/* ccl2ecl - convert character classes to set of equivalence classes */
-void ccl2ecl ()
+void ccl2ecl (void)
{
int i, ich, newlen, cclp, ccls, cclmec;
@@ -74,8 +74,7 @@ void ccl2ecl ()
* Returned is the number of classes.
*/
-int cre8ecs (fwd, bck, num)
- int fwd[], bck[], num;
+int cre8ecs (int fwd[], int bck[], int num)
{
int i, j, numcl;
@@ -100,9 +99,9 @@ int cre8ecs (fwd, bck, num)
/* mkeccl - update equivalence classes based on character class xtions
*
* synopsis
- * Char ccls[];
+ * unsigned char ccls[];
* int lenccl, fwd[llsiz], bck[llsiz], llsiz, NUL_mapping;
- * void mkeccl( Char ccls[], int lenccl, int fwd[llsiz], int bck[llsiz],
+ * void mkeccl( unsigned char ccls[], int lenccl, int fwd[llsiz], int bck[llsiz],
* int llsiz, int NUL_mapping );
*
* ccls contains the elements of the character class, lenccl is the
@@ -112,9 +111,7 @@ int cre8ecs (fwd, bck, num)
* NUL_mapping is the value which NUL (0) should be mapped to.
*/
-void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping)
- Char ccls[];
- int lenccl, fwd[], bck[], llsiz, NUL_mapping;
+void mkeccl (unsigned char ccls[], int lenccl, int fwd[], int bck[], int llsiz, int NUL_mapping)
{
int cclp, oldec, newec;
int cclm, i, j;
@@ -201,8 +198,7 @@ void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping)
/* mkechar - create equivalence class for single character */
-void mkechar (tch, fwd, bck)
- int tch, fwd[], bck[];
+void mkechar (int tch, int fwd[], int bck[])
{
/* If until now the character has been a proper subset of
* an equivalence class, break it away to create a new ec
diff --git a/src/filter.c b/src/filter.c
index 987366a..1ac199f 100644
--- a/src/filter.c
+++ b/src/filter.c
@@ -47,9 +47,9 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd,
va_list ap;
/* allocate and initialize new filter */
- f = (struct filter *) flex_alloc (sizeof (struct filter));
+ f = malloc(sizeof(struct filter));
if (!f)
- flexerror (_("flex_alloc failed (f) in filter_create_ext"));
+ flexerror(_("malloc failed (f) in filter_create_ext"));
memset (f, 0, sizeof (*f));
f->filter_func = NULL;
f->extra = NULL;
@@ -66,23 +66,16 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd,
/* allocate argv, and populate it with the argument list. */
max_args = 8;
- f->argv =
- (const char **) flex_alloc (sizeof (char *) *
- (max_args + 1));
+ f->argv = malloc(sizeof(char *) * (size_t) (max_args + 1));
if (!f->argv)
- flexerror (_("flex_alloc failed (f->argv) in filter_create_ext"));
+ flexerror(_("malloc failed (f->argv) in filter_create_ext"));
f->argv[f->argc++] = cmd;
va_start (ap, cmd);
while ((s = va_arg (ap, const char *)) != NULL) {
if (f->argc >= max_args) {
max_args += 8;
- f->argv =
- (const char **) flex_realloc (f->argv,
- sizeof (char
- *) *
- (max_args +
- 1));
+ f->argv = realloc(f->argv, sizeof(char*) * (size_t) (max_args + 1));
}
f->argv[f->argc++] = s;
}
@@ -107,9 +100,9 @@ struct filter *filter_create_int (struct filter *chain,
struct filter *f;
/* allocate and initialize new filter */
- f = (struct filter *) flex_alloc (sizeof (struct filter));
+ f = malloc(sizeof(struct filter));
if (!f)
- flexerror (_("flex_alloc failed in filter_create_int"));
+ flexerror(_("malloc failed in filter_create_int"));
memset (f, 0, sizeof (*f));
f->next = NULL;
f->argc = 0;
@@ -174,6 +167,8 @@ clearerr(stdin);
flexfatal (_("dup2(pipes[0],0)"));
close (pipes[0]);
fseek (stdin, 0, SEEK_CUR);
+ ungetc(' ', stdin); /* still an evil hack, but one that works better */
+ (void)fgetc(stdin); /* on NetBSD than the fseek attempt does */
/* run as a filter, either internally or by exec */
if (chain->filter_func) {
@@ -288,9 +283,9 @@ int filter_tee_header (struct filter *chain)
fprintf (to_c, "m4_define( [[M4_YY_OUTFILE_NAME]],[[%s]])m4_dnl\n",
outfilename ? outfilename : "<stdout>");
- buf = (char *) flex_alloc (readsz);
+ buf = malloc((size_t) readsz);
if (!buf)
- flexerror (_("flex_alloc failed in filter_tee_header"));
+ flexerror(_("malloc failed in filter_tee_header"));
while (fgets (buf, readsz, stdin)) {
fputs (buf, to_c);
if (write_header)
@@ -341,7 +336,7 @@ int filter_tee_header (struct filter *chain)
int filter_fix_linedirs (struct filter *chain)
{
char *buf;
- const int readsz = 512;
+ const size_t readsz = 512;
int lineno = 1;
bool in_gen = true; /* in generated code */
bool last_was_blank = false;
@@ -349,11 +344,11 @@ int filter_fix_linedirs (struct filter *chain)
if (!chain)
return 0;
- buf = (char *) flex_alloc (readsz);
+ buf = malloc(readsz);
if (!buf)
- flexerror (_("flex_alloc failed in filter_fix_linedirs"));
+ flexerror(_("malloc failed in filter_fix_linedirs"));
- while (fgets (buf, readsz, stdin)) {
+ while (fgets (buf, (int) readsz, stdin)) {
regmatch_t m[10];
diff --git a/src/flex.skl b/src/flex.skl
index 1ecea58..d85e729 100644
--- a/src/flex.skl
+++ b/src/flex.skl
@@ -13,10 +13,10 @@
%# through m4. Macros beginning with `m4_' will be processed.
%# The quoting is "[[" and "]]" so we don't interfere with
%# user code.
-%#
+%#
%# All generate macros for the m4 stage contain the text "m4" or "M4"
%# in them. This is to distinguish them from CPP macros.
-%# The exception to this rule is YY_G, which is an m4 macro,
+%# The exception to this rule is YY_G, which is an m4 macro,
%# but it needs to be remain short because it is used everywhere.
%#
/* A lexical scanner generated by flex */
@@ -29,7 +29,7 @@ m4_changecom
m4_changequote
m4_changequote([[, ]])
-%#
+%#
%# Lines in this skeleton starting with a "%" character are "control lines"
%# and affect the generation of the scanner. The possible control codes are
%# listed and processed in misc.c.
@@ -215,7 +215,7 @@ m4preproc_include(`flexint.h')
%if-c++-only
/* begin standard C++ headers. */
-#include <iostream>
+#include <iostream>
#include <errno.h>
#include <cstdlib>
#include <cstdio>
@@ -223,38 +223,26 @@ m4preproc_include(`flexint.h')
/* end standard C++ headers. */
%endif
-#ifdef __cplusplus
-
-/* The "const" storage-class-modifier is valid. */
-#define YY_USE_CONST
-
-#else /* ! __cplusplus */
-
-/* C99 requires __STDC__ to be defined as 1. */
-#if defined (__STDC__)
-
-#define YY_USE_CONST
-
-#endif /* defined (__STDC__) */
-#endif /* ! __cplusplus */
-
-#ifdef YY_USE_CONST
+/* TODO: this is always defined, so inline it */
#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
#else
-#define yyconst
+#define yynoreturn
#endif
%# For compilers that can not handle prototypes.
%# e.g.,
%# The function prototype
%# int foo(int x, char* y);
-%#
+%#
%# ...should be written as
%# int foo M4_YY_PARAMS(int x, char* y);
-%#
+%#
%# ...which could possibly generate
%# int foo ();
-%#
+%#
m4_ifdef( [[M4_YY_NO_ANSI_FUNC_PROTOS]],
[[
m4_define( [[M4_YY_PARAMS]], [[()]])
@@ -329,7 +317,7 @@ m4_define( [[M4_YY_DOC_PARAM]], [[@param yyscanner The scanner object.]])
#define yy_flex_debug YY_G(yy_flex_debug_r)
m4_define( [[M4_YY_INCR_LINENO]],
-[[
+[[
do{ yylineno++;
yycolumn=0;
}while(0)
@@ -342,7 +330,7 @@ m4_define( [[M4_YY_INCR_LINENO]],
%if-not-reentrant
m4_define( [[M4_YY_INCR_LINENO]],
-[[
+[[
yylineno++;
]])
@@ -477,7 +465,7 @@ typedef size_t yy_size_t;
#endif
%if-not-reentrant
-extern yy_size_t yyleng;
+extern int yyleng;
%endif
%if-c-only
@@ -499,7 +487,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]],
[[
/* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
* access to the local variable yy_act. Since yyless() is a macro, it would break
- * existing scanners that call yyless() from OUTSIDE yylex.
+ * existing scanners that call yyless() from OUTSIDE yylex.
* One obvious solution it to make yy_act a global. I tried that, and saw
* a 5% performance hit in a non-yylineno scanner, because yy_act is
* normally declared as a register variable-- so it is not worth it.
@@ -556,7 +544,7 @@ struct yy_buffer_state
%endif
%if-c++-only
- std::streambuf* yy_input_file;
+ std::streambuf* yy_input_file;
%endif
@@ -566,7 +554,7 @@ struct yy_buffer_state
/* Size of input buffer in bytes, not including room for EOB
* characters.
*/
- yy_size_t yy_buf_size;
+ int yy_buf_size;
/* Number of characters read into yy_ch_buf, not including EOB
* characters.
@@ -594,7 +582,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
@@ -628,7 +616,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]],
/* Stack of input buffers. */
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
-static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
%endif
%ok-for-header
%endif
@@ -661,10 +649,10 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]],
/* yy_hold_char holds the character lost when yytext is formed. */
static char yy_hold_char;
static int yy_n_chars; /* number of characters read into yy_ch_buf */
-yy_size_t yyleng;
+int yyleng;
/* Points to current character in buffer. */
-static char *yy_c_buf_p = (char *) 0;
+static char *yy_c_buf_p = NULL;
static int yy_init = 0; /* whether we need to initialize */
static int yy_start = 0; /* start state number */
@@ -697,7 +685,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]],
YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG );
YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG );
-YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, yy_size_t len M4_YY_PROTO_LAST_ARG );
+YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, int len M4_YY_PROTO_LAST_ARG );
%endif
@@ -755,10 +743,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]],
static yy_state_type yy_get_previous_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );
static yy_state_type yy_try_NUL_trans M4_YY_PARAMS( yy_state_type current_state M4_YY_PROTO_LAST_ARG);
static int yy_get_next_buffer M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );
-#if defined(__GNUC__) && __GNUC__ >= 3
-__attribute__((__noreturn__))
-#endif
-static void yy_fatal_error M4_YY_PARAMS( yyconst char msg[] M4_YY_PROTO_LAST_ARG );
+static void yynoreturn yy_fatal_error M4_YY_PARAMS( yyconst char* msg M4_YY_PROTO_LAST_ARG );
]])
%endif
@@ -832,7 +817,7 @@ struct yyguts_t
YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
char yy_hold_char;
int yy_n_chars;
- yy_size_t yyleng_r;
+ int yyleng_r;
char *yy_c_buf_p;
int yy_init;
int yy_start;
@@ -969,7 +954,7 @@ void yyset_out M4_YY_PARAMS( FILE * _out_str M4_YY_PROTO_LAST_ARG );
m4_ifdef( [[M4_YY_NO_GET_LENG]],,
[[
-yy_size_t yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );
+ int yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );
]])
m4_ifdef( [[M4_YY_NO_GET_TEXT]],,
@@ -1125,7 +1110,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]],
/* This used to be an fputs(), but since the string might contain NUL's,
* we now use fwrite().
*/
-#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
%endif
%if-c++-only C++ definition
#define ECHO LexerOutput( yytext, yyleng )
@@ -1191,7 +1176,7 @@ int yytables_destroy M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG);
/** Describes a mapping from a serialized table id to its deserialized state in
* this scanner. This is the bridge between our "generic" deserialization code
- * and the specifics of this scanner.
+ * and the specifics of this scanner.
*/
struct yytbl_dmap {
enum yytbl_id dm_id;/**< table identifier */
@@ -1533,7 +1518,7 @@ do_action: /* This label is used only to access EOF actions. */
* This constructor simply maintains backward compatibility.
* DEPRECATED
*/
-yyFlexLexer::yyFlexLexer( FLEX_STD istream* arg_yyin, FLEX_STD ostream* arg_yyout ):
+yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ):
yyin(arg_yyin ? arg_yyin->rdbuf() : std::cin.rdbuf()),
yyout(arg_yyout ? arg_yyout->rdbuf() : std::cout.rdbuf())
{
@@ -1569,7 +1554,7 @@ void yyFlexLexer::ctor_common()
yy_start_stack_ptr = yy_start_stack_depth = 0;
yy_start_stack = NULL;
- yy_buffer_stack = 0;
+ yy_buffer_stack = NULL;
yy_buffer_stack_top = 0;
yy_buffer_stack_max = 0;
@@ -1718,7 +1703,7 @@ int yyFlexLexer::yy_get_next_buffer()
else
{
- yy_size_t num_to_read =
+ int num_to_read =
YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
while ( num_to_read <= 0 )
@@ -1737,7 +1722,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]],
if ( b->yy_is_our_buffer )
{
- yy_size_t new_size = b->yy_buf_size * 2;
+ int new_size = b->yy_buf_size * 2;
if ( new_size <= 0 )
b->yy_buf_size += b->yy_buf_size / 8;
@@ -1751,7 +1736,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]],
}
else
/* Can't grow it, we don't own it. */
- b->yy_ch_buf = 0;
+ b->yy_ch_buf = NULL;
if ( ! b->yy_ch_buf )
YY_FATAL_ERROR(
@@ -1891,7 +1876,7 @@ m4_ifdef( [[M4_YY_NO_UNPUT]],,
yy_cp += (int) (dest - source);
yy_bp += (int) (dest - source);
YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
- YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+ YY_G(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
YY_FATAL_ERROR( "flex scanner push-back overflow" );
@@ -1946,7 +1931,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]],
else
{ /* need more input */
- yy_size_t offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);
+ int offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);
++YY_G(yy_c_buf_p);
switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) )
@@ -1970,7 +1955,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]],
case EOB_ACT_END_OF_FILE:
{
if ( yywrap( M4_YY_CALL_ONLY_ARG ) )
- return EOF;
+ return 0;
if ( ! YY_G(yy_did_buffer_switch_on_eof) )
YY_NEW_FILE;
@@ -2341,7 +2326,7 @@ static void yyensure_buffer_stack YYFARGS0(void)
void yyFlexLexer::yyensure_buffer_stack(void)
%endif
{
- yy_size_t num_to_alloc;
+ int num_to_alloc;
M4_YY_DECL_GUTS_VAR();
if (!YY_G(yy_buffer_stack)) {
@@ -2356,10 +2341,10 @@ void yyFlexLexer::yyensure_buffer_stack(void)
M4_YY_CALL_LAST_ARG);
if ( ! YY_G(yy_buffer_stack) )
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
-
-
+
+
memset(YY_G(yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-
+
YY_G(yy_buffer_stack_max) = num_to_alloc;
YY_G(yy_buffer_stack_top) = 0;
return;
@@ -2395,7 +2380,7 @@ m4_ifdef( [[M4_YY_NO_SCAN_BUFFER]],,
* @param base the character buffer
* @param size the size in bytes of the character buffer
* M4_YY_DOC_PARAM
- * @return the newly allocated buffer state object.
+ * @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size)
{
@@ -2406,7 +2391,7 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size)
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
/* They forgot to leave room for the EOB's. */
- return 0;
+ return NULL;
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) M4_YY_CALL_LAST_ARG );
if ( ! b )
@@ -2415,7 +2400,7 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size)
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
b->yy_buf_pos = b->yy_ch_buf = base;
b->yy_is_our_buffer = 0;
- b->yy_input_file = 0;
+ b->yy_input_file = NULL;
b->yy_n_chars = b->yy_buf_size;
b->yy_is_interactive = 0;
b->yy_at_bol = 1;
@@ -2445,7 +2430,7 @@ YY_BUFFER_STATE yy_scan_string YYFARGS1( yyconst char *, yystr)
{
m4_dnl M4_YY_DECL_GUTS_VAR();
- return yy_scan_bytes( yystr, strlen(yystr) M4_YY_CALL_LAST_ARG);
+ return yy_scan_bytes( yystr, (int) strlen(yystr) M4_YY_CALL_LAST_ARG);
}
%endif
]])
@@ -2461,7 +2446,7 @@ m4_ifdef( [[M4_YY_NO_SCAN_BYTES]],,
* M4_YY_DOC_PARAM
* @return the newly allocated buffer state object.
*/
-YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yybytes_len)
+YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, int ,_yybytes_len)
{
YY_BUFFER_STATE b;
char *buf;
@@ -2470,7 +2455,7 @@ YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yyb
m4_dnl M4_YY_DECL_GUTS_VAR();
/* Get memory for full buffer, including space for trailing EOB's. */
- n = _yybytes_len + 2;
+ n = (yy_size_t) _yybytes_len + 2;
buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG );
if ( ! buf )
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
@@ -2510,7 +2495,7 @@ m4_ifdef( [[M4_YY_NO_PUSH_STATE]],,
yy_size_t new_size;
YY_G(yy_start_stack_depth) += YY_START_STACK_INCR;
- new_size = YY_G(yy_start_stack_depth) * sizeof( int );
+ new_size = (yy_size_t) YY_G(yy_start_stack_depth) * sizeof( int );
if ( ! YY_G(yy_start_stack) )
YY_G(yy_start_stack) = (int *) yyalloc( new_size M4_YY_CALL_LAST_ARG );
@@ -2567,7 +2552,7 @@ m4_ifdef( [[M4_YY_NO_TOP_STATE]],,
#endif
%if-c-only
-static void yy_fatal_error YYFARGS1(yyconst char*, msg)
+static void yynoreturn yy_fatal_error YYFARGS1(yyconst char*, msg)
{
M4_YY_DECL_GUTS_VAR();
M4_YY_NOOP_GUTS_VAR();
@@ -2576,7 +2561,7 @@ static void yy_fatal_error YYFARGS1(yyconst char*, msg)
}
%endif
%if-c++-only
-void yyFlexLexer::LexerError( yyconst char msg[] )
+void yyFlexLexer::LexerError( yyconst char* msg )
{
M4_YY_DECL_GUTS_VAR();
std::cerr << msg << std::endl;
@@ -2628,7 +2613,7 @@ m4_ifdef( [[M4_YY_NO_GET_LINENO]],,
int yyget_lineno YYFARGS0(void)
{
M4_YY_DECL_GUTS_VAR();
-
+
m4_ifdef( [[M4_YY_REENTRANT]],
[[
if (! YY_CURRENT_BUFFER)
@@ -2648,7 +2633,7 @@ m4_ifdef( [[M4_YY_NO_GET_COLUMN]],,
int yyget_column YYFARGS0(void)
{
M4_YY_DECL_GUTS_VAR();
-
+
m4_ifdef( [[M4_YY_REENTRANT]],
[[
if (! YY_CURRENT_BUFFER)
@@ -2688,7 +2673,7 @@ m4_ifdef( [[M4_YY_NO_GET_LENG]],,
/** Get the length of the current token.
* M4_YY_DOC_PARAM
*/
-yy_size_t yyget_leng YYFARGS0(void)
+int yyget_leng YYFARGS0(void)
{
M4_YY_DECL_GUTS_VAR();
return yyleng;
@@ -2915,20 +2900,20 @@ int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
errno = EINVAL;
return 1;
}
-
+
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
-
+
if (*ptr_yy_globals == NULL){
errno = ENOMEM;
return 1;
}
-
+
/* By setting to 0xAA, we expose bugs in
yy_init_globals. Leave at 0x00 for releases. */
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
-
+
yyset_extra (yy_user_defined, *ptr_yy_globals);
-
+
return yy_init_globals ( *ptr_yy_globals );
}
@@ -2951,10 +2936,10 @@ m4_ifdef( [[M4_YY_USE_LINENO]],
yylineno = 1;
]])
]])
- YY_G(yy_buffer_stack) = 0;
+ YY_G(yy_buffer_stack) = NULL;
YY_G(yy_buffer_stack_top) = 0;
YY_G(yy_buffer_stack_max) = 0;
- YY_G(yy_c_buf_p) = (char *) 0;
+ YY_G(yy_c_buf_p) = NULL;
YY_G(yy_init) = 0;
YY_G(yy_start) = 0;
@@ -2985,8 +2970,8 @@ m4_ifdef( [[M4_YY_TEXT_IS_ARRAY]],
yyin = stdin;
yyout = stdout;
#else
- yyin = (FILE *) 0;
- yyout = (FILE *) 0;
+ yyin = NULL;
+ yyout = NULL;
#endif
/* For future reference: Set errno on error, since we are called by
@@ -3083,7 +3068,7 @@ void *yyalloc YYFARGS1( yy_size_t ,size)
{
M4_YY_DECL_GUTS_VAR();
M4_YY_NOOP_GUTS_VAR();
- return (void *) malloc( size );
+ return malloc(size);
}
]])
@@ -3101,7 +3086,7 @@ void *yyrealloc YYFARGS2( void *,ptr, yy_size_t ,size)
* any pointer type to void*, and deal with argument conversions
* as though doing an assignment.
*/
- return (void *) realloc( (char *) ptr, size );
+ return realloc(ptr, size);
}
]])
@@ -3216,7 +3201,7 @@ static struct yytbl_dmap *yytbl_dmap_lookup YYFARGS2(struct yytbl_dmap *, dmap,
return NULL;
}
-/** Read a table while mapping its contents to the local array.
+/** Read a table while mapping its contents to the local array.
* @param dmap used to performing mapping
* @return 0 on success
*/
@@ -3261,7 +3246,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read
if(M4_YY_TABLES_VERIFY)
/* We point to the array itself */
- p = dmap->dm_arr;
+ p = dmap->dm_arr;
else
/* We point to the address of a pointer. */
*dmap->dm_arr = p = (void *) yyalloc (bytes M4_YY_CALL_LAST_ARG);
@@ -3308,7 +3293,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read
rv = yytbl_read8 (&t8, rd);
t32 = t8;
break;
- default:
+ default:
YY_FATAL_ERROR( "invalid td_flags" ); /* TODO: not fatal. */
return -1;
}
@@ -3365,7 +3350,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read
YY_FATAL_ERROR( "transition table not found" ); /* TODO: not fatal. */
return -1;
}
-
+
if( M4_YY_TABLES_VERIFY)
v = &(((struct yy_trans_info *) (transdmap->dm_arr))[t32]);
else
@@ -3376,7 +3361,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read
YY_FATAL_ERROR( "tables verification failed at YYTD_PTRANS" );
}else
((struct yy_trans_info **) p)[0] = v;
-
+
/* increment p */
p = (struct yy_trans_info **) p + 1;
}
@@ -3492,7 +3477,7 @@ int yytables_fload YYFARGS1(FILE *, fp)
/** Destroy the loaded tables, freeing memory, etc.. */
int yytables_destroy YYFARGS0(void)
-{
+{
struct yytbl_dmap *dmap=0;
if(!M4_YY_TABLES_VERIFY){
diff --git a/src/flexdef.h b/src/flexdef.h
index 496e34c..27ad610 100644
--- a/src/flexdef.h
+++ b/src/flexdef.h
@@ -39,30 +39,15 @@
#include <config.h>
#endif
-/* AIX requires this to be the first thing in the file. */
-#if !defined(__GNUC__) && !defined(__lint__)
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-
-#ifdef STDC_HEADERS
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <setjmp.h>
#include <ctype.h>
+#include <libgen.h> /* for XPG version of basename(3) */
#include <string.h>
#include <math.h>
-#endif
+
#ifdef HAVE_ASSERT_H
#include <assert.h>
#else
@@ -81,16 +66,11 @@ char *alloca ();
#ifdef HAVE_SYS_PARAMS_H
#include <sys/params.h>
#endif
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
#endif
-#ifdef HAVE_STDBOOL_H
+#include <sys/wait.h>
#include <stdbool.h>
-#else
-#define bool int
-#define true 1
-#define false 0
-#endif
#ifdef HAVE_REGEX_H
#include <regex.h>
#endif
@@ -109,33 +89,12 @@ char *alloca ();
/* Always be prepared to generate an 8-bit scanner. */
#define CSIZE 256
-#define Char unsigned char
/* Size of input alphabet - should be size of ASCII set. */
#ifndef DEFAULT_CSIZE
#define DEFAULT_CSIZE 128
#endif
-#ifndef PROTO
-#if defined(__STDC__)
-#define PROTO(proto) proto
-#else
-#define PROTO(proto) ()
-#endif
-#endif
-
-#ifdef VMS
-#ifndef __VMS_POSIX
-#define unlink remove
-#define SHORT_FILE_NAMES
-#endif
-#endif
-
-#ifdef MS_DOS
-#define SHORT_FILE_NAMES
-#endif
-
-
/* Maximum line length we'll have to deal with. */
#define MAXLINE 2048
@@ -150,11 +109,6 @@ char *alloca ();
#endif
-/* ANSI C does not guarantee that isascii() is defined */
-#ifndef isascii
-#define isascii(c) ((c) <= 0177)
-#endif
-
#define unspecified -1
/* Special chk[] values marking the slots taking by end-of-buffer and action
@@ -445,7 +399,7 @@ extern int trace_hex;
*/
extern int datapos, dataline, linenum;
-extern FILE *skelfile, *yyin, *backing_up_file;
+extern FILE *skelfile, *backing_up_file;
extern const char *skel[];
extern int skel_ind;
extern char *infilename, *outfilename, *headerfilename;
@@ -647,7 +601,7 @@ extern int end_of_buffer_state;
extern int lastccl, *cclmap, *ccllen, *cclng, cclreuse;
extern int current_maxccls, current_max_ccl_tbl_size;
-extern Char *ccltbl;
+extern unsigned char *ccltbl;
/* Variables for miscellaneous information:
@@ -675,62 +629,54 @@ extern int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs;
extern int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave;
extern int num_backing_up, bol_needed;
-void *allocate_array PROTO ((int, size_t));
-void *reallocate_array PROTO ((void *, int, size_t));
+#ifndef HAVE_REALLOCARRAY
+void *reallocarray(void *, size_t, size_t);
+#endif
-void *flex_alloc PROTO ((size_t));
-void *flex_realloc PROTO ((void *, size_t));
-void flex_free PROTO ((void *));
+void *allocate_array(int, size_t);
+void *reallocate_array(void *, int, size_t);
#define allocate_integer_array(size) \
- (int *) allocate_array( size, sizeof( int ) )
+ allocate_array(size, sizeof(int))
#define reallocate_integer_array(array,size) \
- (int *) reallocate_array( (void *) array, size, sizeof( int ) )
+ reallocate_array((void *) array, size, sizeof(int))
#define allocate_bool_array(size) \
- (bool *) allocate_array( size, sizeof( bool ) )
+ allocate_array(size, sizeof(bool))
#define reallocate_bool_array(array,size) \
- (bool *) reallocate_array( (void *) array, size, sizeof( bool ) )
+ reallocate_array((void *) array, size, sizeof(bool))
#define allocate_int_ptr_array(size) \
- (int **) allocate_array( size, sizeof( int * ) )
+ allocate_array(size, sizeof(int *))
#define allocate_char_ptr_array(size) \
- (char **) allocate_array( size, sizeof( char * ) )
+ allocate_array(size, sizeof(char *))
#define allocate_dfaacc_union(size) \
- (union dfaacc_union *) \
- allocate_array( size, sizeof( union dfaacc_union ) )
+ allocate_array(size, sizeof(union dfaacc_union))
#define reallocate_int_ptr_array(array,size) \
- (int **) reallocate_array( (void *) array, size, sizeof( int * ) )
+ reallocate_array((void *) array, size, sizeof(int *))
#define reallocate_char_ptr_array(array,size) \
- (char **) reallocate_array( (void *) array, size, sizeof( char * ) )
+ reallocate_array((void *) array, size, sizeof(char *))
#define reallocate_dfaacc_union(array, size) \
- (union dfaacc_union *) \
- reallocate_array( (void *) array, size, sizeof( union dfaacc_union ) )
+ reallocate_array((void *) array, size, sizeof(union dfaacc_union))
#define allocate_character_array(size) \
- (char *) allocate_array( size, sizeof( char ) )
+ allocate_array( size, sizeof(char))
#define reallocate_character_array(array,size) \
- (char *) reallocate_array( (void *) array, size, sizeof( char ) )
+ reallocate_array((void *) array, size, sizeof(char))
#define allocate_Character_array(size) \
- (Char *) allocate_array( size, sizeof( Char ) )
+ allocate_array(size, sizeof(unsigned char))
#define reallocate_Character_array(array,size) \
- (Char *) reallocate_array( (void *) array, size, sizeof( Char ) )
-
-
-/* Used to communicate between scanner and parser. The type should really
- * be YYSTYPE, but we can't easily get our hands on it.
- */
-extern int yylval;
+ reallocate_array((void *) array, size, sizeof(unsigned char))
/* External functions that are cross-referenced among the flex source files. */
@@ -738,146 +684,143 @@ extern int yylval;
/* from file ccl.c */
-extern void ccladd PROTO ((int, int)); /* add a single character to a ccl */
-extern int cclinit PROTO ((void)); /* make an empty ccl */
-extern void cclnegate PROTO ((int)); /* negate a ccl */
+extern void ccladd(int, int); /* add a single character to a ccl */
+extern int cclinit(void); /* make an empty ccl */
+extern void cclnegate(int); /* negate a ccl */
extern int ccl_set_diff (int a, int b); /* set difference of two ccls. */
extern int ccl_set_union (int a, int b); /* set union of two ccls. */
/* List the members of a set of characters in CCL form. */
-extern void list_character_set PROTO ((FILE *, int[]));
+extern void list_character_set(FILE *, int[]);
/* from file dfa.c */
/* Check a DFA state for backing up. */
-extern void check_for_backing_up PROTO ((int, int[]));
+extern void check_for_backing_up(int, int[]);
/* Check to see if NFA state set constitutes "dangerous" trailing context. */
-extern void check_trailing_context PROTO ((int *, int, int *, int));
+extern void check_trailing_context(int *, int, int *, int);
/* Construct the epsilon closure of a set of ndfa states. */
-extern int *epsclosure PROTO ((int *, int *, int[], int *, int *));
+extern int *epsclosure(int *, int *, int[], int *, int *);
/* Increase the maximum number of dfas. */
-extern void increase_max_dfas PROTO ((void));
+extern void increase_max_dfas(void);
-extern void ntod PROTO ((void)); /* convert a ndfa to a dfa */
+extern void ntod(void); /* convert a ndfa to a dfa */
/* Converts a set of ndfa states into a dfa state. */
-extern int snstods PROTO ((int[], int, int[], int, int, int *));
+extern int snstods(int[], int, int[], int, int, int *);
/* from file ecs.c */
/* Convert character classes to set of equivalence classes. */
-extern void ccl2ecl PROTO ((void));
+extern void ccl2ecl(void);
/* Associate equivalence class numbers with class members. */
-extern int cre8ecs PROTO ((int[], int[], int));
+extern int cre8ecs(int[], int[], int);
/* Update equivalence classes based on character class transitions. */
-extern void mkeccl PROTO ((Char[], int, int[], int[], int, int));
+extern void mkeccl(unsigned char[], int, int[], int[], int, int);
/* Create equivalence class for single character. */
-extern void mkechar PROTO ((int, int[], int[]));
+extern void mkechar(int, int[], int[]);
/* from file gen.c */
-extern void do_indent PROTO ((void)); /* indent to the current level */
+extern void do_indent(void); /* indent to the current level */
/* Generate the code to keep backing-up information. */
-extern void gen_backing_up PROTO ((void));
+extern void gen_backing_up(void);
/* Generate the code to perform the backing up. */
-extern void gen_bu_action PROTO ((void));
+extern void gen_bu_action(void);
/* Generate full speed compressed transition table. */
-extern void genctbl PROTO ((void));
+extern void genctbl(void);
/* Generate the code to find the action number. */
-extern void gen_find_action PROTO ((void));
+extern void gen_find_action(void);
-extern void genftbl PROTO ((void)); /* generate full transition table */
+extern void genftbl(void); /* generate full transition table */
/* Generate the code to find the next compressed-table state. */
-extern void gen_next_compressed_state PROTO ((char *));
+extern void gen_next_compressed_state(char *);
/* Generate the code to find the next match. */
-extern void gen_next_match PROTO ((void));
+extern void gen_next_match(void);
/* Generate the code to find the next state. */
-extern void gen_next_state PROTO ((int));
+extern void gen_next_state(int);
/* Generate the code to make a NUL transition. */
-extern void gen_NUL_trans PROTO ((void));
+extern void gen_NUL_trans(void);
/* Generate the code to find the start state. */
-extern void gen_start_state PROTO ((void));
+extern void gen_start_state(void);
/* Generate data statements for the transition tables. */
-extern void gentabs PROTO ((void));
+extern void gentabs(void);
/* Write out a formatted string at the current indentation level. */
-extern void indent_put2s PROTO ((const char *, const char *));
+extern void indent_put2s(const char *, const char *);
/* Write out a string + newline at the current indentation level. */
-extern void indent_puts PROTO ((const char *));
+extern void indent_puts(const char *);
-extern void make_tables PROTO ((void)); /* generate transition tables */
+extern void make_tables(void); /* generate transition tables */
/* from file main.c */
-extern void check_options PROTO ((void));
-extern void flexend PROTO ((int));
-extern void usage PROTO ((void));
+extern void check_options(void);
+extern void flexend(int);
+extern void usage(void);
/* from file misc.c */
/* Add a #define to the action file. */
-extern void action_define PROTO ((const char *defname, int value));
+extern void action_define(const char *defname, int value);
/* Add the given text to the stored actions. */
-extern void add_action PROTO ((const char *new_text));
+extern void add_action(const char *new_text);
/* True if a string is all lower case. */
-extern int all_lower PROTO ((char *));
+extern int all_lower(char *);
/* True if a string is all upper case. */
-extern int all_upper PROTO ((char *));
+extern int all_upper(char *);
/* Compare two integers for use by qsort. */
-extern int intcmp PROTO ((const void *, const void *));
+extern int intcmp(const void *, const void *);
/* Check a character to make sure it's in the expected range. */
-extern void check_char PROTO ((int c));
+extern void check_char(int c);
/* Replace upper-case letter to lower-case. */
-extern Char clower PROTO ((int));
+extern unsigned char clower(int);
-/* Returns a dynamically allocated copy of a string. */
-extern char *copy_string PROTO ((const char *));
-
-/* Returns a dynamically allocated copy of a (potentially) unsigned string. */
-extern Char *copy_unsigned_string PROTO ((Char *));
+/* strdup() that fails fatally on allocation failures. */
+extern char *xstrdup(const char *);
/* Compare two characters for use by qsort with '\0' sorting last. */
-extern int cclcmp PROTO ((const void *, const void *));
+extern int cclcmp(const void *, const void *);
/* Finish up a block of data declarations. */
-extern void dataend PROTO ((void));
+extern void dataend(void);
/* Flush generated data statements. */
-extern void dataflush PROTO ((void));
+extern void dataflush(void);
/* Report an error message and terminate. */
-extern void flexerror PROTO ((const char *));
+extern void flexerror(const char *);
/* Report a fatal error message and terminate. */
-extern void flexfatal PROTO ((const char *));
+extern void flexfatal(const char *);
/* Report a fatal error with a pinpoint, and terminate */
#if HAVE_DECL___FUNC__
@@ -901,207 +844,199 @@ extern void flexfatal PROTO ((const char *));
#endif /* ! HAVE_DECL___func__ */
/* Convert a hexadecimal digit string to an integer value. */
-extern int htoi PROTO ((Char[]));
+extern int htoi(unsigned char[]);
/* Report an error message formatted */
-extern void lerr PROTO ((const char *, ...))
+extern void lerr(const char *, ...)
#if defined(__GNUC__) && __GNUC__ >= 3
__attribute__((__format__(__printf__, 1, 2)))
#endif
;
/* Like lerr, but also exit after displaying message. */
-extern void lerr_fatal PROTO ((const char *, ...))
+extern void lerr_fatal(const char *, ...)
#if defined(__GNUC__) && __GNUC__ >= 3
__attribute__((__format__(__printf__, 1, 2)))
#endif
;
/* Spit out a "#line" statement. */
-extern void line_directive_out PROTO ((FILE *, int));
+extern void line_directive_out(FILE *, int);
/* Mark the current position in the action array as the end of the section 1
* user defs.
*/
-extern void mark_defs1 PROTO ((void));
+extern void mark_defs1(void);
/* Mark the current position in the action array as the end of the prolog. */
-extern void mark_prolog PROTO ((void));
+extern void mark_prolog(void);
/* Generate a data statment for a two-dimensional array. */
-extern void mk2data PROTO ((int));
+extern void mk2data(int);
-extern void mkdata PROTO ((int)); /* generate a data statement */
+extern void mkdata(int); /* generate a data statement */
/* Return the integer represented by a string of digits. */
-extern int myctoi PROTO ((const char *));
+extern int myctoi(const char *);
/* Return character corresponding to escape sequence. */
-extern Char myesc PROTO ((Char[]));
+extern unsigned char myesc(unsigned char[]);
/* Convert an octal digit string to an integer value. */
-extern int otoi PROTO ((Char[]));
+extern int otoi(unsigned char[]);
/* Output a (possibly-formatted) string to the generated scanner. */
-extern void out PROTO ((const char *));
-extern void out_dec PROTO ((const char *, int));
-extern void out_dec2 PROTO ((const char *, int, int));
-extern void out_hex PROTO ((const char *, unsigned int));
-extern void out_str PROTO ((const char *, const char *));
-extern void out_str3
-PROTO ((const char *, const char *, const char *, const char *));
-extern void out_str_dec PROTO ((const char *, const char *, int));
-extern void outc PROTO ((int));
-extern void outn PROTO ((const char *));
-extern void out_m4_define (const char* def, const char* val);
+extern void out(const char *);
+extern void out_dec(const char *, int);
+extern void out_dec2(const char *, int, int);
+extern void out_hex(const char *, unsigned int);
+extern void out_str(const char *, const char *);
+extern void out_str3(const char *, const char *, const char *, const char *);
+extern void out_str_dec(const char *, const char *, int);
+extern void outc(int);
+extern void outn(const char *);
+extern void out_m4_define(const char* def, const char* val);
/* Return a printable version of the given character, which might be
* 8-bit.
*/
-extern char *readable_form PROTO ((int));
+extern char *readable_form(int);
/* Write out one section of the skeleton file. */
-extern void skelout PROTO ((void));
+extern void skelout(void);
/* Output a yy_trans_info structure. */
-extern void transition_struct_out PROTO ((int, int));
+extern void transition_struct_out(int, int);
/* Only needed when using certain broken versions of bison to build parse.c. */
-extern void *yy_flex_xmalloc PROTO ((int));
-
-/* Set a region of memory to 0. */
-extern void zero_out PROTO ((char *, size_t));
+extern void *yy_flex_xmalloc(int);
/* from file nfa.c */
/* Add an accepting state to a machine. */
-extern void add_accept PROTO ((int, int));
+extern void add_accept(int, int);
/* Make a given number of copies of a singleton machine. */
-extern int copysingl PROTO ((int, int));
+extern int copysingl(int, int);
/* Debugging routine to write out an nfa. */
-extern void dumpnfa PROTO ((int));
+extern void dumpnfa(int);
/* Finish up the processing for a rule. */
-extern void finish_rule PROTO ((int, int, int, int, int));
+extern void finish_rule(int, int, int, int, int);
/* Connect two machines together. */
-extern int link_machines PROTO ((int, int));
+extern int link_machines(int, int);
/* Mark each "beginning" state in a machine as being a "normal" (i.e.,
* not trailing context associated) state.
*/
-extern void mark_beginning_as_normal PROTO ((int));
+extern void mark_beginning_as_normal(int);
/* Make a machine that branches to two machines. */
-extern int mkbranch PROTO ((int, int));
+extern int mkbranch(int, int);
-extern int mkclos PROTO ((int)); /* convert a machine into a closure */
-extern int mkopt PROTO ((int)); /* make a machine optional */
+extern int mkclos(int); /* convert a machine into a closure */
+extern int mkopt(int); /* make a machine optional */
/* Make a machine that matches either one of two machines. */
-extern int mkor PROTO ((int, int));
+extern int mkor(int, int);
/* Convert a machine into a positive closure. */
-extern int mkposcl PROTO ((int));
+extern int mkposcl(int);
-extern int mkrep PROTO ((int, int, int)); /* make a replicated machine */
+extern int mkrep(int, int, int); /* make a replicated machine */
/* Create a state with a transition on a given symbol. */
-extern int mkstate PROTO ((int));
+extern int mkstate(int);
-extern void new_rule PROTO ((void)); /* initialize for a new rule */
+extern void new_rule(void); /* initialize for a new rule */
/* from file parse.y */
/* Build the "<<EOF>>" action for the active start conditions. */
-extern void build_eof_action PROTO ((void));
+extern void build_eof_action(void);
/* Write out a message formatted with one string, pinpointing its location. */
-extern void format_pinpoint_message PROTO ((const char *, const char *));
+extern void format_pinpoint_message(const char *, const char *);
/* Write out a message, pinpointing its location. */
-extern void pinpoint_message PROTO ((const char *));
+extern void pinpoint_message(const char *);
/* Write out a warning, pinpointing it at the given line. */
-extern void line_warning PROTO ((const char *, int));
+extern void line_warning(const char *, int);
/* Write out a message, pinpointing it at the given line. */
-extern void line_pinpoint PROTO ((const char *, int));
+extern void line_pinpoint(const char *, int);
/* Report a formatted syntax error. */
-extern void format_synerr PROTO ((const char *, const char *));
-extern void synerr PROTO ((const char *)); /* report a syntax error */
-extern void format_warn PROTO ((const char *, const char *));
-extern void warn PROTO ((const char *)); /* report a warning */
-extern void yyerror PROTO ((const char *)); /* report a parse error */
-extern int yyparse PROTO ((void)); /* the YACC parser */
+extern void format_synerr(const char *, const char *);
+extern void synerr(const char *); /* report a syntax error */
+extern void format_warn(const char *, const char *);
+extern void warn(const char *); /* report a warning */
+extern void yyerror(const char *); /* report a parse error */
/* from file scan.l */
/* The Flex-generated scanner for flex. */
-extern int flexscan PROTO ((void));
+extern int flexscan(void);
/* Open the given file (if NULL, stdin) for scanning. */
-extern void set_input_file PROTO ((char *));
-
-/* Wrapup a file in the lexical analyzer. */
-extern int yywrap PROTO ((void));
+extern void set_input_file(char *);
/* from file sym.c */
/* Save the text of a character class. */
-extern void cclinstal PROTO ((Char[], int));
+extern void cclinstal(char[], int);
/* Lookup the number associated with character class. */
-extern int ccllookup PROTO ((Char[]));
+extern int ccllookup(char[]);
-extern void ndinstal PROTO ((const char *, Char[])); /* install a name definition */
-extern Char *ndlookup PROTO ((const char *)); /* lookup a name definition */
+extern void ndinstal(const char *, char[]); /* install a name definition */
+extern char *ndlookup(const char *); /* lookup a name definition */
/* Increase maximum number of SC's. */
-extern void scextend PROTO ((void));
-extern void scinstal PROTO ((const char *, int)); /* make a start condition */
+extern void scextend(void);
+extern void scinstal(const char *, int); /* make a start condition */
/* Lookup the number associated with a start condition. */
-extern int sclookup PROTO ((const char *));
+extern int sclookup(const char *);
/* from file tblcmp.c */
/* Build table entries for dfa state. */
-extern void bldtbl PROTO ((int[], int, int, int, int));
+extern void bldtbl(int[], int, int, int, int);
-extern void cmptmps PROTO ((void)); /* compress template table entries */
-extern void expand_nxt_chk PROTO ((void)); /* increase nxt/chk arrays */
+extern void cmptmps(void); /* compress template table entries */
+extern void expand_nxt_chk(void); /* increase nxt/chk arrays */
/* Finds a space in the table for a state to be placed. */
-extern int find_table_space PROTO ((int *, int));
-extern void inittbl PROTO ((void)); /* initialize transition tables */
+extern int find_table_space(int *, int);
+extern void inittbl(void); /* initialize transition tables */
/* Make the default, "jam" table entries. */
-extern void mkdeftbl PROTO ((void));
+extern void mkdeftbl(void);
/* Create table entries for a state (or state fragment) which has
* only one out-transition.
*/
-extern void mk1tbl PROTO ((int, int, int, int));
+extern void mk1tbl(int, int, int, int);
/* Place a state into full speed transition table. */
-extern void place_state PROTO ((int *, int, int));
+extern void place_state(int *, int, int);
/* Save states with only one out-transition to be processed later. */
-extern void stack1 PROTO ((int, int, int, int));
+extern void stack1(int, int, int, int);
/* from file yylex.c */
-extern int yylex PROTO ((void));
+extern int yylex(void);
/* A growable array. See buf.c. */
struct Buf {
@@ -1111,21 +1046,18 @@ struct Buf {
int nmax; /* max capacity of elements. */
};
-extern void buf_init PROTO ((struct Buf * buf, size_t elem_size));
-extern void buf_destroy PROTO ((struct Buf * buf));
-extern struct Buf *buf_append
-PROTO ((struct Buf * buf, const void *ptr, int n_elem));
-extern struct Buf *buf_concat PROTO((struct Buf* dest, const struct Buf* src));
-extern struct Buf *buf_strappend PROTO ((struct Buf *, const char *str));
-extern struct Buf *buf_strnappend
-PROTO ((struct Buf *, const char *str, int nchars));
-extern struct Buf *buf_strdefine
-PROTO ((struct Buf * buf, const char *str, const char *def));
-extern struct Buf *buf_prints PROTO((struct Buf *buf, const char *fmt, const char* s));
-extern struct Buf *buf_m4_define PROTO((struct Buf *buf, const char* def, const char* val));
-extern struct Buf *buf_m4_undefine PROTO((struct Buf *buf, const char* def));
-extern struct Buf *buf_print_strings PROTO((struct Buf * buf, FILE* out));
-extern struct Buf *buf_linedir PROTO((struct Buf *buf, const char* filename, int lineno));
+extern void buf_init(struct Buf * buf, size_t elem_size);
+extern void buf_destroy(struct Buf * buf);
+extern struct Buf *buf_append(struct Buf * buf, const void *ptr, int n_elem);
+extern struct Buf *buf_concat(struct Buf* dest, const struct Buf* src);
+extern struct Buf *buf_strappend(struct Buf *, const char *str);
+extern struct Buf *buf_strnappend(struct Buf *, const char *str, int nchars);
+extern struct Buf *buf_strdefine(struct Buf * buf, const char *str, const char *def);
+extern struct Buf *buf_prints(struct Buf *buf, const char *fmt, const char* s);
+extern struct Buf *buf_m4_define(struct Buf *buf, const char* def, const char* val);
+extern struct Buf *buf_m4_undefine(struct Buf *buf, const char* def);
+extern struct Buf *buf_print_strings(struct Buf * buf, FILE* out);
+extern struct Buf *buf_linedir(struct Buf *buf, const char* filename, int lineno);
extern struct Buf userdef_buf; /* a string buffer for #define's generated by user-options on cmd line. */
extern struct Buf defs_buf; /* a char* buffer to save #define'd some symbols generated by flex. */
@@ -1187,14 +1119,14 @@ struct filter {
/* output filter chain */
extern struct filter * output_chain;
-extern struct filter *filter_create_ext PROTO((struct filter * chain, const char *cmd, ...));
-struct filter *filter_create_int PROTO((struct filter *chain,
+extern struct filter *filter_create_ext (struct filter * chain, const char *cmd, ...);
+struct filter *filter_create_int(struct filter *chain,
int (*filter_func) (struct filter *),
- void *extra));
-extern bool filter_apply_chain PROTO((struct filter * chain));
-extern int filter_truncate (struct filter * chain, int max_len);
-extern int filter_tee_header PROTO((struct filter *chain));
-extern int filter_fix_linedirs PROTO((struct filter *chain));
+ void *extra);
+extern bool filter_apply_chain(struct filter * chain);
+extern int filter_truncate(struct filter * chain, int max_len);
+extern int filter_tee_header(struct filter *chain);
+extern int filter_fix_linedirs(struct filter *chain);
/*
@@ -1214,9 +1146,9 @@ bool regmatch_empty (regmatch_t * m);
typedef unsigned int scanflags_t;
extern scanflags_t* _sf_stk;
extern size_t _sf_top_ix, _sf_max; /**< stack of scanner flags. */
-#define _SF_CASE_INS 0x0001
-#define _SF_DOT_ALL 0x0002
-#define _SF_SKIP_WS 0x0004
+#define _SF_CASE_INS ((scanflags_t) 0x0001)
+#define _SF_DOT_ALL ((scanflags_t) 0x0002)
+#define _SF_SKIP_WS ((scanflags_t) 0x0004)
#define sf_top() (_sf_stk[_sf_top_ix])
#define sf_case_ins() (sf_top() & _SF_CASE_INS)
#define sf_dot_all() (sf_top() & _SF_DOT_ALL)
diff --git a/src/gen.c b/src/gen.c
index 81e7c27..4688709 100644
--- a/src/gen.c
+++ b/src/gen.c
@@ -37,16 +37,11 @@
/* declare functions that have forward references */
-void gen_next_state PROTO ((int));
-void genecs PROTO ((void));
-void indent_put2s PROTO ((const char *, const char *));
-void indent_puts PROTO ((const char *));
+void genecs(void);
static int indent_level = 0; /* each level is 8 spaces */
-#define indent_up() (++indent_level)
-#define indent_down() (--indent_level)
#define set_indent(indent_val) indent_level = indent_val
/* Almost everything is done in terms of arrays starting at 1, so provide
@@ -125,12 +120,12 @@ static struct yytbl_data *mkeoltbl (void)
flex_int8_t *tdata = 0;
struct yytbl_data *tbl;
- tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data));
+ tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (tbl, YYTD_ID_RULE_CAN_MATCH_EOL);
tbl->td_flags = YYTD_DATA8;
tbl->td_lolen = num_rules + 1;
tbl->td_data = tdata =
- (flex_int8_t *) calloc (tbl->td_lolen, sizeof (flex_int8_t));
+ calloc(tbl->td_lolen, sizeof (flex_int8_t));
for (i = 1; i <= num_rules; i++)
tdata[i] = rule_has_nl[i] ? 1 : 0;
@@ -176,12 +171,12 @@ void gen_backing_up (void)
else
indent_puts ("if ( yy_accept[yy_current_state] )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("YY_G(yy_last_accepting_state) = yy_current_state;");
indent_puts ("YY_G(yy_last_accepting_cpos) = yy_cp;");
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
@@ -232,14 +227,14 @@ static struct yytbl_data *mkctbl (void)
((tblend + numecs + 1) >= INT16_MAX
|| long_align) ? "flex_int32_t" : "flex_int16_t");
- tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data));
+ tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (tbl, YYTD_ID_TRANSITION);
tbl->td_flags = YYTD_DATA32 | YYTD_STRUCT;
tbl->td_hilen = 0;
tbl->td_lolen = tblend + numecs + 1; /* number of structs */
tbl->td_data = tdata =
- (flex_int32_t *) calloc (tbl->td_lolen * 2, sizeof (flex_int32_t));
+ calloc(tbl->td_lolen * 2, sizeof (flex_int32_t));
/* We want the transition to be represented as the offset to the
* next state, not the actual state number, which is what it currently
@@ -328,14 +323,14 @@ static struct yytbl_data *mkssltbl (void)
flex_int32_t *tdata = 0;
flex_int32_t i;
- tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data));
+ tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (tbl, YYTD_ID_START_STATE_LIST);
tbl->td_flags = YYTD_DATA32 | YYTD_PTRANS;
tbl->td_hilen = 0;
tbl->td_lolen = lastsc * 2 + 1;
tbl->td_data = tdata =
- (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(tbl->td_lolen, sizeof (flex_int32_t));
for (i = 0; i <= lastsc * 2; ++i)
tdata[i] = base[i];
@@ -452,20 +447,20 @@ void genctbl (void)
/* mkecstbl - Make equivalence-class tables. */
-struct yytbl_data *mkecstbl (void)
+static struct yytbl_data *mkecstbl (void)
{
int i;
struct yytbl_data *tbl = 0;
flex_int32_t *tdata = 0;
- tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data));
+ tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (tbl, YYTD_ID_EC);
tbl->td_flags |= YYTD_DATA32;
tbl->td_hilen = 0;
tbl->td_lolen = csize;
tbl->td_data = tdata =
- (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(tbl->td_lolen, sizeof (flex_int32_t));
for (i = 1; i < csize; ++i) {
ecgroup[i] = ABS (ecgroup[i]);
@@ -534,13 +529,13 @@ void gen_find_action (void)
indent_puts
("for ( ; ; ) /* until we find what rule we matched */");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts
("if ( YY_G(yy_lp) && YY_G(yy_lp) < yy_accept[yy_current_state + 1] )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("yy_act = yy_acclist[YY_G(yy_lp)];");
@@ -548,25 +543,25 @@ void gen_find_action (void)
indent_puts
("if ( yy_act & YY_TRAILING_HEAD_MASK ||");
indent_puts (" YY_G(yy_looking_for_trail_begin) )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts
("if ( yy_act == YY_G(yy_looking_for_trail_begin) )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("YY_G(yy_looking_for_trail_begin) = 0;");
indent_puts ("yy_act &= ~YY_TRAILING_HEAD_MASK;");
indent_puts ("break;");
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts
("else if ( yy_act & YY_TRAILING_MASK )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts
("YY_G(yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;");
@@ -585,10 +580,10 @@ void gen_find_action (void)
}
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts ("else");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("YY_G(yy_full_match) = yy_cp;");
indent_puts
@@ -596,7 +591,7 @@ void gen_find_action (void)
indent_puts ("YY_G(yy_full_lp) = YY_G(yy_lp);");
indent_puts ("break;");
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts ("++YY_G(yy_lp);");
indent_puts ("goto find_rule;");
@@ -606,16 +601,16 @@ void gen_find_action (void)
/* Remember matched text in case we back up due to
* trailing context plus REJECT.
*/
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("YY_G(yy_full_match) = yy_cp;");
indent_puts ("break;");
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts ("--yy_cp;");
@@ -628,7 +623,7 @@ void gen_find_action (void)
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
else { /* compressed */
@@ -639,7 +634,7 @@ void gen_find_action (void)
* the match.
*/
indent_puts ("if ( yy_act == 0 )");
- indent_up ();
+ ++indent_level;
indent_puts ("{ /* have to back up */");
indent_puts
("yy_cp = YY_G(yy_last_accepting_cpos);");
@@ -648,7 +643,7 @@ void gen_find_action (void)
indent_puts
("yy_act = yy_accept[yy_current_state];");
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
}
}
@@ -664,14 +659,14 @@ struct yytbl_data *mkftbl (void)
struct yytbl_data *tbl;
flex_int32_t *tdata = 0;
- tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data));
+ tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (tbl, YYTD_ID_ACCEPT);
tbl->td_flags |= YYTD_DATA32;
tbl->td_hilen = 0; /* it's a one-dimensional array */
tbl->td_lolen = lastdfa + 1;
tbl->td_data = tdata =
- (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(tbl->td_lolen, sizeof (flex_int32_t));
dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action;
@@ -727,8 +722,7 @@ void genftbl (void)
/* Generate the code to find the next compressed-table state. */
-void gen_next_compressed_state (char_map)
- char *char_map;
+void gen_next_compressed_state (char *char_map)
{
indent_put2s ("YY_CHAR yy_c = %s;", char_map);
@@ -740,7 +734,7 @@ void gen_next_compressed_state (char_map)
indent_puts
("while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("yy_current_state = (int) yy_def[yy_current_state];");
@@ -757,16 +751,16 @@ void gen_next_compressed_state (char_map)
/* lastdfa + 2 is the beginning of the templates */
out_dec ("if ( yy_current_state >= %d )\n", lastdfa + 2);
- indent_up ();
+ ++indent_level;
indent_puts ("yy_c = yy_meta[(unsigned int) yy_c];");
- indent_down ();
+ --indent_level;
}
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts
- ("yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];");
+ ("yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];");
}
@@ -793,7 +787,7 @@ void gen_next_match (void)
("while ( (yy_current_state = yy_nxt[yy_current_state*YY_NXT_LOLEN + %s ]) > 0 )",
char_map);
- indent_up ();
+ ++indent_level;
if (num_backing_up > 0) {
indent_puts ("{");
@@ -807,7 +801,7 @@ void gen_next_match (void)
indent_puts ("}");
- indent_down ();
+ --indent_level;
outc ('\n');
indent_puts ("yy_current_state = -yy_current_state;");
@@ -824,7 +818,7 @@ void gen_next_match (void)
indent_puts ("yy_verify == yy_c;");
indent_put2s (" yy_c = %s )", char_map_2);
- indent_up ();
+ ++indent_level;
if (num_backing_up > 0)
indent_puts ("{");
@@ -837,14 +831,14 @@ void gen_next_match (void)
indent_puts ("}");
}
- indent_down ();
+ --indent_level;
indent_puts ("}");
}
else { /* compressed */
indent_puts ("do");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
gen_next_state (false);
@@ -853,7 +847,7 @@ void gen_next_match (void)
indent_puts ("}");
- indent_down ();
+ --indent_level;
do_indent ();
@@ -878,8 +872,7 @@ void gen_next_match (void)
/* Generate the code to find the next state. */
-void gen_next_state (worry_about_NULs)
- int worry_about_NULs;
+void gen_next_state (int worry_about_NULs)
{ /* NOTE - changes in here should be reflected in gen_next_match() */
char char_map[256];
@@ -905,7 +898,7 @@ void gen_next_state (worry_about_NULs)
gen_backing_up ();
indent_puts ("if ( *yy_cp )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
}
@@ -931,12 +924,12 @@ void gen_next_state (worry_about_NULs)
if (worry_about_NULs && nultrans) {
indent_puts ("}");
- indent_down ();
+ --indent_level;
indent_puts ("else");
- indent_up ();
+ ++indent_level;
indent_puts
("yy_current_state = yy_NUL_trans[yy_current_state];");
- indent_down ();
+ --indent_level;
}
if (fullspd || fulltbl)
@@ -1009,10 +1002,10 @@ void gen_NUL_trans (void)
* the state stack and yy_c_buf_p get out of sync.
*/
indent_puts ("if ( ! yy_is_jam )");
- indent_up ();
+ ++indent_level;
indent_puts
("*YY_G(yy_state_ptr)++ = yy_current_state;");
- indent_down ();
+ --indent_level;
}
}
@@ -1023,11 +1016,11 @@ void gen_NUL_trans (void)
if (need_backing_up && (fullspd || fulltbl)) {
outc ('\n');
indent_puts ("if ( ! yy_is_jam )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
gen_backing_up ();
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
}
@@ -1111,11 +1104,11 @@ void gentabs (void)
"\t{YYTD_ID_ACCLIST, (void**)&yy_acclist, sizeof(%s)},\n",
long_align ? "flex_int32_t" : "flex_int16_t");
- yyacclist_tbl = (struct yytbl_data*)calloc(1,sizeof(struct yytbl_data));
+ yyacclist_tbl = calloc(1,sizeof(struct yytbl_data));
yytbl_data_init (yyacclist_tbl, YYTD_ID_ACCLIST);
yyacclist_tbl->td_lolen = MAX(numas,1) + 1;
yyacclist_tbl->td_data = yyacclist_data =
- (flex_int32_t *) calloc (yyacclist_tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(yyacclist_tbl->td_lolen, sizeof (flex_int32_t));
yyacclist_curr = 1;
j = 1; /* index into "yy_acclist" array */
@@ -1220,13 +1213,11 @@ void gentabs (void)
"\t{YYTD_ID_ACCEPT, (void**)&yy_accept, sizeof(%s)},\n",
long_align ? "flex_int32_t" : "flex_int16_t");
- yyacc_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct yytbl_data));
+ yyacc_tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (yyacc_tbl, YYTD_ID_ACCEPT);
yyacc_tbl->td_lolen = k;
yyacc_tbl->td_data = yyacc_data =
- (flex_int32_t *) calloc (yyacc_tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(yyacc_tbl->td_lolen, sizeof (flex_int32_t));
yyacc_curr=1;
for (i = 1; i <= lastdfa; ++i) {
@@ -1279,14 +1270,11 @@ void gentabs (void)
* templates with).
*/
flex_int32_t *yymecs_data = 0;
- yymeta_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct
- yytbl_data));
+ yymeta_tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (yymeta_tbl, YYTD_ID_META);
yymeta_tbl->td_lolen = numecs + 1;
yymeta_tbl->td_data = yymecs_data =
- (flex_int32_t *) calloc (yymeta_tbl->td_lolen,
+ calloc(yymeta_tbl->td_lolen,
sizeof (flex_int32_t));
if (trace)
@@ -1330,13 +1318,11 @@ void gentabs (void)
"\t{YYTD_ID_BASE, (void**)&yy_base, sizeof(%s)},\n",
(tblend >= INT16_MAX
|| long_align) ? "flex_uint32_t" : "flex_uint16_t");
- yybase_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct yytbl_data));
+ yybase_tbl = calloc (1, sizeof (struct yytbl_data));
yytbl_data_init (yybase_tbl, YYTD_ID_BASE);
yybase_tbl->td_lolen = total_states + 1;
yybase_tbl->td_data = yybase_data =
- (flex_int32_t *) calloc (yybase_tbl->td_lolen,
+ calloc(yybase_tbl->td_lolen,
sizeof (flex_int32_t));
yybase_curr = 1;
@@ -1390,13 +1376,11 @@ void gentabs (void)
(total_states >= INT16_MAX
|| long_align) ? "flex_int32_t" : "flex_int16_t");
- yydef_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct yytbl_data));
+ yydef_tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (yydef_tbl, YYTD_ID_DEF);
yydef_tbl->td_lolen = total_states + 1;
yydef_tbl->td_data = yydef_data =
- (flex_int32_t *) calloc (yydef_tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(yydef_tbl->td_lolen, sizeof (flex_int32_t));
for (i = 1; i <= total_states; ++i) {
mkdata (def[i]);
@@ -1424,13 +1408,11 @@ void gentabs (void)
(total_states >= INT16_MAX
|| long_align) ? "flex_uint32_t" : "flex_uint16_t");
- yynxt_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct yytbl_data));
+ yynxt_tbl = calloc (1, sizeof (struct yytbl_data));
yytbl_data_init (yynxt_tbl, YYTD_ID_NXT);
yynxt_tbl->td_lolen = tblend + 1;
yynxt_tbl->td_data = yynxt_data =
- (flex_int32_t *) calloc (yynxt_tbl->td_lolen, sizeof (flex_int32_t));
+ calloc (yynxt_tbl->td_lolen, sizeof (flex_int32_t));
for (i = 1; i <= tblend; ++i) {
/* Note, the order of the following test is important.
@@ -1463,13 +1445,11 @@ void gentabs (void)
(total_states >= INT16_MAX
|| long_align) ? "flex_int32_t" : "flex_int16_t");
- yychk_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct yytbl_data));
+ yychk_tbl = calloc (1, sizeof (struct yytbl_data));
yytbl_data_init (yychk_tbl, YYTD_ID_CHK);
yychk_tbl->td_lolen = tblend + 1;
yychk_tbl->td_data = yychk_data =
- (flex_int32_t *) calloc (yychk_tbl->td_lolen, sizeof (flex_int32_t));
+ calloc(yychk_tbl->td_lolen, sizeof (flex_int32_t));
for (i = 1; i <= tblend; ++i) {
if (chk[i] == 0)
@@ -1489,7 +1469,7 @@ void gentabs (void)
}
/* End generating yy_chk */
- flex_free ((void *) acc_array);
+ free(acc_array);
}
@@ -1497,8 +1477,7 @@ void gentabs (void)
* current indentation level, adding a final newline.
*/
-void indent_put2s (fmt, arg)
- const char *fmt, *arg;
+void indent_put2s (const char *fmt, const char *arg)
{
do_indent ();
out_str (fmt, arg);
@@ -1510,8 +1489,7 @@ void indent_put2s (fmt, arg)
* newline.
*/
-void indent_puts (str)
- const char *str;
+void indent_puts (const char *str)
{
do_indent ();
outn (str);
@@ -1538,11 +1516,11 @@ void make_tables (void)
if (yymore_used && !yytext_is_array) {
indent_puts ("YY_G(yytext_ptr) -= YY_G(yy_more_len); \\");
indent_puts
- ("yyleng = (size_t) (yy_cp - YY_G(yytext_ptr)); \\");
+ ("yyleng = (int) (yy_cp - YY_G(yytext_ptr)); \\");
}
else
- indent_puts ("yyleng = (size_t) (yy_cp - yy_bp); \\");
+ indent_puts ("yyleng = (int) (yy_cp - yy_bp); \\");
/* Now also deal with copying yytext_ptr to yytext if needed. */
skelout (); /* %% [3.0] - break point in skel */
@@ -1553,10 +1531,10 @@ void make_tables (void)
else
indent_puts ("if ( yyleng >= YYLMAX ) \\");
- indent_up ();
+ ++indent_level;
indent_puts
("YY_FATAL_ERROR( \"token too large, exceeds YYLMAX\" ); \\");
- indent_down ();
+ --indent_level;
if (yymore_used) {
indent_puts
@@ -1593,7 +1571,7 @@ void make_tables (void)
set_indent (0);
indent_puts ("struct yy_trans_info");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
/* We require that yy_verify and yy_nxt must be of the same size int. */
@@ -1609,7 +1587,7 @@ void make_tables (void)
indent_put2s ("%s yy_nxt;", trans_offset_type);
indent_puts ("};");
- indent_down ();
+ --indent_level;
}
else {
/* We generate a bogus 'struct yy_trans_info' data type
@@ -1621,12 +1599,12 @@ void make_tables (void)
("/* This struct is not used in this scanner,");
indent_puts (" but its presence is necessary. */");
indent_puts ("struct yy_trans_info");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("flex_int32_t yy_verify;");
indent_puts ("flex_int32_t yy_nxt;");
indent_puts ("};");
- indent_down ();
+ --indent_level;
}
if (fullspd) {
@@ -1724,16 +1702,13 @@ void make_tables (void)
(fullspd) ? "struct yy_trans_info*" :
"flex_int32_t");
- yynultrans_tbl =
- (struct yytbl_data *) calloc (1,
- sizeof (struct
- yytbl_data));
+ yynultrans_tbl = calloc(1, sizeof (struct yytbl_data));
yytbl_data_init (yynultrans_tbl, YYTD_ID_NUL_TRANS);
if (fullspd)
yynultrans_tbl->td_flags |= YYTD_PTRANS;
yynultrans_tbl->td_lolen = lastdfa + 1;
yynultrans_tbl->td_data = yynultrans_data =
- (flex_int32_t *) calloc (yynultrans_tbl->td_lolen,
+ calloc(yynultrans_tbl->td_lolen,
sizeof (flex_int32_t));
for (i = 1; i <= lastdfa; ++i) {
@@ -1850,13 +1825,13 @@ void make_tables (void)
indent_puts ("#define YY_MORE_ADJ 0");
indent_puts
("#define YY_RESTORE_YY_MORE_OFFSET \\");
- indent_up ();
+ ++indent_level;
indent_puts ("{ \\");
indent_puts
("YY_G(yy_more_offset) = YY_G(yy_prev_more_offset); \\");
indent_puts ("yyleng -= YY_G(yy_more_offset); \\");
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
else {
indent_puts
@@ -1900,7 +1875,7 @@ void make_tables (void)
if (!C_plus_plus) {
if (use_read) {
outn ("\terrno=0; \\");
- outn ("\twhile ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \\");
+ outn ("\twhile ( (result = (int) read( fileno(yyin), buf, max_size )) < 0 ) \\");
outn ("\t{ \\");
outn ("\t\tif( errno != EINTR) \\");
outn ("\t\t{ \\");
@@ -1929,7 +1904,7 @@ void make_tables (void)
outn ("\telse \\");
outn ("\t\t{ \\");
outn ("\t\terrno=0; \\");
- outn ("\t\twhile ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \\");
+ outn ("\t\twhile ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \\");
outn ("\t\t\t{ \\");
outn ("\t\t\tif( errno != EINTR) \\");
outn ("\t\t\t\t{ \\");
@@ -1946,16 +1921,16 @@ void make_tables (void)
skelout (); /* %% [6.0] - break point in skel */
indent_puts ("#define YY_RULE_SETUP \\");
- indent_up ();
+ ++indent_level;
if (bol_needed) {
indent_puts ("if ( yyleng > 0 ) \\");
- indent_up ();
+ ++indent_level;
indent_puts ("YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \\");
indent_puts ("\t\t(yytext[yyleng - 1] == '\\n'); \\");
- indent_down ();
+ --indent_level;
}
indent_puts ("YY_USER_ACTION");
- indent_down ();
+ --indent_level;
skelout (); /* %% [7.0] - break point in skel */
@@ -1971,13 +1946,13 @@ void make_tables (void)
if (yymore_used && !yytext_is_array) {
indent_puts ("YY_G(yy_more_len) = 0;");
indent_puts ("if ( YY_G(yy_more_flag) )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts
("YY_G(yy_more_len) = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);");
indent_puts ("YY_G(yy_more_flag) = 0;");
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
skelout (); /* %% [9.0] - break point in skel */
@@ -1996,39 +1971,39 @@ void make_tables (void)
outn ("m4_ifdef( [[M4_YY_USE_LINENO]],[[");
indent_puts
("if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("yy_size_t yyl;");
do_indent ();
out_str ("for ( yyl = %s; yyl < yyleng; ++yyl )\n",
yymore_used ? (yytext_is_array ? "YY_G(yy_prev_more_offset)" :
"YY_G(yy_more_len)") : "0");
- indent_up ();
+ ++indent_level;
indent_puts ("if ( yytext[yyl] == '\\n' )");
- indent_up ();
+ ++indent_level;
indent_puts ("M4_YY_INCR_LINENO();");
- indent_down ();
- indent_down ();
+ --indent_level;
+ --indent_level;
indent_puts ("}");
- indent_down ();
+ --indent_level;
outn ("]])");
skelout (); /* %% [12.0] - break point in skel */
if (ddebug) {
indent_puts ("if ( yy_flex_debug )");
- indent_up ();
+ ++indent_level;
indent_puts ("{");
indent_puts ("if ( yy_act == 0 )");
- indent_up ();
+ ++indent_level;
indent_puts (C_plus_plus ?
"std::cerr << \"--scanner backing up\\n\";" :
"fprintf( stderr, \"--scanner backing up\\n\" );");
- indent_down ();
+ --indent_level;
do_indent ();
out_dec ("else if ( yy_act < %d )\n", num_rules);
- indent_up ();
+ ++indent_level;
if (C_plus_plus) {
indent_puts
@@ -2044,11 +2019,11 @@ void make_tables (void)
(" (long)yy_rule_linenum[yy_act], yytext );");
}
- indent_down ();
+ --indent_level;
do_indent ();
out_dec ("else if ( yy_act == %d )\n", num_rules);
- indent_up ();
+ ++indent_level;
if (C_plus_plus) {
indent_puts
@@ -2060,21 +2035,21 @@ void make_tables (void)
indent_puts (" yytext );");
}
- indent_down ();
+ --indent_level;
do_indent ();
out_dec ("else if ( yy_act == %d )\n", num_rules + 1);
- indent_up ();
+ ++indent_level;
indent_puts (C_plus_plus ?
"std::cerr << \"--(end of buffer or a NUL)\\n\";" :
"fprintf( stderr, \"--(end of buffer or a NUL)\\n\" );");
- indent_down ();
+ --indent_level;
do_indent ();
outn ("else");
- indent_up ();
+ ++indent_level;
if (C_plus_plus) {
indent_puts
@@ -2085,15 +2060,15 @@ void make_tables (void)
("fprintf( stderr, \"--EOF (start condition %d)\\n\", YY_START );");
}
- indent_down ();
+ --indent_level;
indent_puts ("}");
- indent_down ();
+ --indent_level;
}
/* Copy actions to output file. */
skelout (); /* %% [13.0] - break point in skel */
- indent_up ();
+ ++indent_level;
gen_bu_action ();
out (&action_array[action_offset]);
@@ -2108,9 +2083,9 @@ void make_tables (void)
}
if (did_eof_rule) {
- indent_up ();
+ ++indent_level;
indent_puts ("yyterminate();");
- indent_down ();
+ --indent_level;
}
@@ -2168,17 +2143,17 @@ void make_tables (void)
if (do_yylineno) {
indent_puts
("if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )");
- indent_up ();
+ ++indent_level;
indent_puts ("M4_YY_INCR_LINENO();");
- indent_down ();
+ --indent_level;
}
}
else if (do_yylineno) {
indent_puts ("if ( c == '\\n' )");
- indent_up ();
+ ++indent_level;
indent_puts ("M4_YY_INCR_LINENO();");
- indent_down ();
+ --indent_level;
}
skelout ();
diff --git a/src/libmain.c b/src/libmain.c
index f400fc3..bb2fe35 100644
--- a/src/libmain.c
+++ b/src/libmain.c
@@ -21,6 +21,8 @@
/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
/* PURPOSE. */
+#include <stdlib.h>
+
extern int yylex (void);
int main (int argc, char *argv[])
@@ -30,5 +32,5 @@ int main (int argc, char *argv[])
while (yylex () != 0) ;
- return 0;
+ exit(0);
}
diff --git a/src/main.c b/src/main.c
index 336e25c..e329e4e 100644
--- a/src/main.c
+++ b/src/main.c
@@ -36,15 +36,15 @@
#include "version.h"
#include "options.h"
#include "tables.h"
+#include "parse.h"
static char flex_version[] = FLEX_VERSION;
/* declare functions that have forward references */
-void flexinit PROTO ((int, char **));
-void readin PROTO ((void));
-void set_up_initial_allocations PROTO ((void));
-static char *basename2 PROTO ((char *path, int should_strip_ext));
+void flexinit(int, char **);
+void readin(void);
+void set_up_initial_allocations(void);
/* these globals are all defined and commented in flexdef.h */
@@ -94,7 +94,7 @@ int *accsiz, *dhash, numas;
int numsnpairs, jambase, jamstate;
int lastccl, *cclmap, *ccllen, *cclng, cclreuse;
int current_maxccls, current_max_ccl_tbl_size;
-Char *ccltbl;
+unsigned char *ccltbl;
char nmstr[MAXLINE];
int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs;
int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave;
@@ -117,19 +117,9 @@ struct yytbl_writer tableswr;
*/
char *program_name = "flex";
-#ifndef SHORT_FILE_NAMES
static const char outfile_template[] = "lex.%s.%s";
static const char backing_name[] = "lex.backup";
static const char tablesfile_template[] = "lex.%s.tables";
-#else
-static const char outfile_template[] = "lex%s.%s";
-static const char backing_name[] = "lex.bck";
-static const char tablesfile_template[] = "lex%s.tbl";
-#endif
-
-#ifdef MS_DOS
-extern unsigned _stklen = 16384;
-#endif
/* From scan.l */
extern FILE* yyout;
@@ -144,12 +134,9 @@ const char *escaped_qend = "[[]]M4_YY_NOOP]M4_YY_NOOP]M4_YY_NOOP[[]]";
/* For debugging. The max number of filters to apply to skeleton. */
static int preproc_level = 1000;
-int flex_main PROTO ((int argc, char *argv[]));
-int main PROTO ((int argc, char *argv[]));
+int flex_main (int argc, char *argv[]);
-int flex_main (argc, argv)
- int argc;
- char *argv[];
+int flex_main (int argc, char *argv[])
{
int i, exit_status, child_status;
@@ -209,9 +196,7 @@ int flex_main (argc, argv)
}
/* Wrapper around flex_main, so flex_main can be built as a library. */
-int main (argc, argv)
- int argc;
- char *argv[];
+int main (int argc, char *argv[])
{
#if ENABLE_NLS
#if HAVE_LOCALE_H
@@ -227,7 +212,7 @@ int main (argc, argv)
/* check_options - check user-specified options */
-void check_options ()
+void check_options (void)
{
int i;
const char * m4 = NULL;
@@ -363,8 +348,46 @@ void check_options ()
/* Setup the filter chain. */
output_chain = filter_create_int(NULL, filter_tee_header, headerfilename);
- if ( !(m4 = getenv("M4")))
- m4 = M4;
+ if ( !(m4 = getenv("M4"))) {
+ char *slash;
+ m4 = M4;
+ if ((slash = strrchr(M4, '/')) != NULL) {
+ m4 = slash+1;
+ /* break up $PATH */
+ const char *path = getenv("PATH");
+ if (!path) {
+ m4 = M4;
+ } else {
+ do {
+ char m4_path[PATH_MAX];
+ int length = strlen(path);
+ struct stat sbuf;
+
+ const char *endOfDir = strchr(path, ':');
+ if (!endOfDir)
+ endOfDir = path+length;
+
+ if ((endOfDir-path+2) >= sizeof(m4_path)) {
+ path = endOfDir+1;
+ continue;
+ }
+
+ strncpy(m4_path, path, sizeof(m4_path));
+ m4_path[endOfDir-path] = '/';
+ m4_path[endOfDir-path+1] = '\0';
+ strncat(m4_path, m4, sizeof(m4_path));
+ if (stat(m4_path, &sbuf) == 0 &&
+ (S_ISREG(sbuf.st_mode)) && sbuf.st_mode & S_IXUSR) {
+ m4 = strdup(m4_path);
+ break;
+ }
+ path = endOfDir+1;
+ } while (path[0]);
+ if (!path[0])
+ m4 = M4;
+ }
+ }
+ }
filter_create_ext(output_chain, m4, "-P", 0);
filter_create_int(output_chain, filter_fix_linedirs, NULL);
@@ -396,20 +419,19 @@ void check_options ()
if (!tablesfilename) {
nbytes = strlen (prefix) + strlen (tablesfile_template) + 2;
- tablesfilename = pname = (char *) calloc (nbytes, 1);
+ tablesfilename = pname = calloc(nbytes, 1);
snprintf (pname, nbytes, tablesfile_template, prefix);
}
if ((tablesout = fopen (tablesfilename, "w")) == NULL)
lerr (_("could not create %s"), tablesfilename);
- if (pname)
- free (pname);
+ free(pname);
tablesfilename = 0;
yytbl_writer_init (&tableswr, tablesout);
nbytes = strlen (prefix) + strlen ("tables") + 2;
- tablesname = (char *) calloc (nbytes, 1);
+ tablesname = calloc(nbytes, 1);
snprintf (tablesname, nbytes, "%stables", prefix);
yytbl_hdr_init (&hdr, flex_version, tablesname);
@@ -452,7 +474,8 @@ void check_options ()
char *str, *fmt = "#define %s %d\n";
size_t strsz;
- str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(scname[i]) + (int)(1 + log10(i)) + 2);
+ strsz = strlen(fmt) + strlen(scname[i]) + (int)(1 + log10(i)) + 2;
+ str = malloc(strsz);
if (!str)
flexfatal(_("allocation of macro definition failed"));
snprintf(str, strsz, fmt, scname[i], i - 1);
@@ -491,9 +514,7 @@ void check_options ()
* This routine does not return.
*/
-void flexend (exit_status)
- int exit_status;
-
+void flexend (int exit_status)
{
static int called_before = -1; /* prevent infinite recursion. */
int tblsiz;
@@ -540,7 +561,6 @@ void flexend (exit_status)
"EOB_ACT_END_OF_FILE",
"EOB_ACT_LAST_MATCH",
"FLEX_SCANNER",
- "FLEX_STD",
"REJECT",
"YYFARGS0",
"YYFARGS1",
@@ -927,9 +947,7 @@ void flexend (exit_status)
/* flexinit - initialize flex */
-void flexinit (argc, argv)
- int argc;
- char **argv;
+void flexinit (int argc, char **argv)
{
int i, sawcmpflag, rv, optind;
char *arg;
@@ -983,9 +1001,9 @@ void flexinit (argc, argv)
flex_init_regex();
/* Enable C++ if program name ends with '+'. */
- program_name = basename2 (argv[0], 0);
+ program_name = basename (argv[0]);
- if (program_name[0] != '\0' &&
+ if (program_name != NULL &&
program_name[strlen (program_name) - 1] == '+')
C_plus_plus = true;
@@ -1457,13 +1475,13 @@ void flexinit (argc, argv)
/* readin - read in the rules section of the input file(s) */
-void readin ()
+void readin (void)
{
static char yy_stdinit[] = "FILE *yyin = stdin, *yyout = stdout;";
static char yy_nostdinit[] =
- "FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;";
+ "FILE *yyin = NULL, *yyout = NULL;";
- line_directive_out ((FILE *) 0, 1);
+ line_directive_out(NULL, 1);
if (yyparse ()) {
pinpoint_message (_("fatal parse error"));
@@ -1716,7 +1734,7 @@ void readin ()
/* set_up_initial_allocations - allocate memory for internal tables */
-void set_up_initial_allocations ()
+void set_up_initial_allocations (void)
{
maximum_mns = (long_align ? MAXIMUM_MNS_LONG : MAXIMUM_MNS);
current_mns = INITIAL_MNS;
@@ -1770,31 +1788,11 @@ void set_up_initial_allocations ()
dss = allocate_int_ptr_array (current_max_dfas);
dfaacc = allocate_dfaacc_union (current_max_dfas);
- nultrans = (int *) 0;
+ nultrans = NULL;
}
-/* extracts basename from path, optionally stripping the extension "\.*"
- * (same concept as /bin/sh `basename`, but different handling of extension). */
-static char *basename2 (path, strip_ext)
- char *path;
- int strip_ext; /* boolean */
-{
- char *b, *e = 0;
-
- b = path;
- for (b = path; *path; path++)
- if (*path == '/')
- b = path + 1;
- else if (*path == '.')
- e = path;
-
- if (strip_ext && e && e > b)
- *e = '\0';
- return b;
-}
-
-void usage ()
+void usage (void)
{
FILE *f = stdout;
diff --git a/src/misc.c b/src/misc.c
index 8e0edca..a2f67fc 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -60,14 +60,15 @@ static void sko_push(bool dc)
{
if(!sko_stack){
sko_sz = 1;
- sko_stack = (struct sko_state*)flex_alloc(sizeof(struct sko_state)*sko_sz);
+ sko_stack = malloc(sizeof(struct sko_state) * (size_t) sko_sz);
if (!sko_stack)
flexfatal(_("allocation of sko_stack failed"));
sko_len = 0;
}
if(sko_len >= sko_sz){
sko_sz *= 2;
- sko_stack = (struct sko_state*)flex_realloc(sko_stack,sizeof(struct sko_state)*sko_sz);
+ sko_stack = realloc(sko_stack,
+ sizeof(struct sko_state) * (size_t) sko_sz);
}
/* initialize to zero and push */
@@ -90,9 +91,7 @@ static void sko_pop(bool* dc)
}
/* Append "#define defname value\n" to the running buffer. */
-void action_define (defname, value)
- const char *defname;
- int value;
+void action_define (const char *defname, int value)
{
char buf[MAXLINE];
char *cpy;
@@ -108,7 +107,7 @@ void action_define (defname, value)
add_action (buf);
/* track #defines so we can undef them when we're done. */
- cpy = copy_string (defname);
+ cpy = xstrdup(defname);
buf_append (&defs_buf, &cpy, 1);
}
@@ -137,10 +136,9 @@ static void action_m4_define (const char *defname, const char * value)
#endif
/* Append "new_text" to the running buffer. */
-void add_action (new_text)
- const char *new_text;
+void add_action (const char *new_text)
{
- int len = strlen (new_text);
+ int len = (int) strlen (new_text);
while (len + action_index >= action_size - 10 /* slop */ ) {
int new_size = action_size * 2;
@@ -166,14 +164,12 @@ void add_action (new_text)
/* allocate_array - allocate memory for an integer array of the given size */
-void *allocate_array (size, element_size)
- int size;
- size_t element_size;
+void *allocate_array (int size, size_t element_size)
{
void *mem;
size_t num_bytes = element_size * size;
- mem = flex_alloc (num_bytes);
+ mem = malloc(num_bytes);
if (!mem)
flexfatal (_
("memory allocation failed in allocate_array()"));
@@ -184,11 +180,10 @@ void *allocate_array (size, element_size)
/* all_lower - true if a string is all lower-case */
-int all_lower (str)
- char *str;
+int all_lower (char *str)
{
while (*str) {
- if (!isascii ((Char) * str) || !islower ((Char) * str))
+ if (!isascii ((unsigned char) * str) || !islower ((unsigned char) * str))
return 0;
++str;
}
@@ -199,11 +194,10 @@ int all_lower (str)
/* all_upper - true if a string is all upper-case */
-int all_upper (str)
- char *str;
+int all_upper (char *str)
{
while (*str) {
- if (!isascii ((Char) * str) || !isupper ((Char) * str))
+ if (!isascii ((unsigned char) * str) || !isupper ((unsigned char) * str))
return 0;
++str;
}
@@ -225,8 +219,7 @@ int intcmp (const void *a, const void *b)
* and exits.
*/
-void check_char (c)
- int c;
+void check_char (int c)
{
if (c >= CSIZE)
lerr (_("bad character '%s' detected in check_char()"),
@@ -242,57 +235,20 @@ void check_char (c)
/* clower - replace upper-case letter to lower-case */
-Char clower (c)
- int c;
+unsigned char clower (int c)
{
- return (Char) ((isascii (c) && isupper (c)) ? tolower (c) : c);
+ return (unsigned char) ((isascii (c) && isupper (c)) ? tolower (c) : c);
}
-/* copy_string - returns a dynamically allocated copy of a string */
-
-char *copy_string (str)
- const char *str;
+char *xstrdup(const char *s)
{
- const char *c1;
- char *c2;
- char *copy;
- unsigned int size;
-
- /* find length */
- for (c1 = str; *c1; ++c1) ;
-
- size = (c1 - str + 1) * sizeof (char);
-
- copy = (char *) flex_alloc (size);
-
- if (copy == NULL)
- flexfatal (_("dynamic memory failure in copy_string()"));
+ char *s2;
- for (c2 = copy; (*c2++ = *str++) != 0;) ;
+ if ((s2 = strdup(s)) == NULL)
+ flexfatal (_("memory allocation failure in xstrdup()"));
- return copy;
-}
-
-
-/* copy_unsigned_string -
- * returns a dynamically allocated copy of a (potentially) unsigned string
- */
-
-Char *copy_unsigned_string (str)
- Char *str;
-{
- Char *c;
- Char *copy;
-
- /* find length */
- for (c = str; *c; ++c) ;
-
- copy = allocate_Character_array (c - str + 1);
-
- for (c = copy; (*c++ = *str++) != 0;) ;
-
- return copy;
+ return s2;
}
@@ -300,19 +256,19 @@ Char *copy_unsigned_string (str)
int cclcmp (const void *a, const void *b)
{
- if (!*(const Char *) a)
+ if (!*(const unsigned char *) a)
return 1;
else
- if (!*(const Char *) b)
+ if (!*(const unsigned char *) b)
return - 1;
else
- return *(const Char *) a - *(const Char *) b;
+ return *(const unsigned char *) a - *(const unsigned char *) b;
}
/* dataend - finish up a block of data declarations */
-void dataend ()
+void dataend (void)
{
/* short circuit any output */
if (gentables) {
@@ -330,7 +286,7 @@ void dataend ()
/* dataflush - flush generated data statements */
-void dataflush ()
+void dataflush (void)
{
/* short circuit any output */
if (!gentables)
@@ -353,8 +309,7 @@ void dataflush ()
/* flexerror - report an error message and terminate */
-void flexerror (msg)
- const char *msg;
+void flexerror (const char *msg)
{
fprintf (stderr, "%s: %s\n", program_name, msg);
flexend (1);
@@ -363,8 +318,7 @@ void flexerror (msg)
/* flexfatal - report a fatal error message and terminate */
-void flexfatal (msg)
- const char *msg;
+void flexfatal (const char *msg)
{
fprintf (stderr, _("%s: fatal internal error, %s\n"),
program_name, msg);
@@ -374,8 +328,7 @@ void flexfatal (msg)
/* htoi - convert a hexadecimal digit string to an integer value */
-int htoi (str)
- Char str[];
+int htoi (unsigned char str[])
{
unsigned int result;
@@ -387,7 +340,8 @@ int htoi (str)
/* lerr - report an error message */
-void lerr (const char *msg, ...) {
+void lerr (const char *msg, ...)
+{
char errmsg[MAXLINE];
va_list args;
@@ -414,9 +368,7 @@ void lerr_fatal (const char *msg, ...)
/* line_directive_out - spit out a "#line" statement */
-void line_directive_out (output_file, do_infile)
- FILE *output_file;
- int do_infile;
+void line_directive_out (FILE *output_file, int do_infile)
{
char directive[MAXLINE], filename[MAXLINE];
char *s1, *s2, *s3;
@@ -464,7 +416,7 @@ void line_directive_out (output_file, do_infile)
* representing where the user's section 1 definitions end
* and the prolog begins
*/
-void mark_defs1 ()
+void mark_defs1 (void)
{
defs1_offset = 0;
action_array[action_index++] = '\0';
@@ -476,7 +428,7 @@ void mark_defs1 ()
/* mark_prolog - mark the current position in the action array as
* representing the end of the action prolog
*/
-void mark_prolog ()
+void mark_prolog (void)
{
action_array[action_index++] = '\0';
action_offset = action_index;
@@ -488,8 +440,7 @@ void mark_prolog ()
*
* Generates a data statement initializing the current 2-D array to "value".
*/
-void mk2data (value)
- int value;
+void mk2data (int value)
{
/* short circuit any output */
if (!gentables)
@@ -518,8 +469,7 @@ void mk2data (value)
* Generates a data statement initializing the current array element to
* "value".
*/
-void mkdata (value)
- int value;
+void mkdata (int value)
{
/* short circuit any output */
if (!gentables)
@@ -544,8 +494,7 @@ void mkdata (value)
/* myctoi - return the integer represented by a string of digits */
-int myctoi (array)
- const char *array;
+int myctoi (const char *array)
{
int val = 0;
@@ -557,10 +506,9 @@ int myctoi (array)
/* myesc - return character corresponding to escape sequence */
-Char myesc (array)
- Char array[];
+unsigned char myesc (unsigned char array[])
{
- Char c, esc_char;
+ unsigned char c, esc_char;
switch (array[1]) {
case 'b':
@@ -573,19 +521,10 @@ Char myesc (array)
return '\r';
case 't':
return '\t';
-
-#if defined (__STDC__)
case 'a':
return '\a';
case 'v':
return '\v';
-#else
- case 'a':
- return '\007';
- case 'v':
- return '\013';
-#endif
-
case '0':
case '1':
case '2':
@@ -645,8 +584,7 @@ Char myesc (array)
/* otoi - convert an octal digit string to an integer value */
-int otoi (str)
- Char str[];
+int otoi (unsigned char str[])
{
unsigned int result;
@@ -659,60 +597,47 @@ int otoi (str)
* generated scanner, keeping track of the line count.
*/
-void out (str)
- const char *str;
+void out (const char *str)
{
fputs (str, stdout);
}
-void out_dec (fmt, n)
- const char *fmt;
- int n;
+void out_dec (const char *fmt, int n)
{
fprintf (stdout, fmt, n);
}
-void out_dec2 (fmt, n1, n2)
- const char *fmt;
- int n1, n2;
+void out_dec2 (const char *fmt, int n1, int n2)
{
fprintf (stdout, fmt, n1, n2);
}
-void out_hex (fmt, x)
- const char *fmt;
- unsigned int x;
+void out_hex (const char *fmt, unsigned int x)
{
fprintf (stdout, fmt, x);
}
-void out_str (fmt, str)
- const char *fmt, str[];
+void out_str (const char *fmt, const char str[])
{
fprintf (stdout,fmt, str);
}
-void out_str3 (fmt, s1, s2, s3)
- const char *fmt, s1[], s2[], s3[];
+void out_str3 (const char *fmt, const char s1[], const char s2[], const char s3[])
{
fprintf (stdout,fmt, s1, s2, s3);
}
-void out_str_dec (fmt, str, n)
- const char *fmt, str[];
- int n;
+void out_str_dec (const char *fmt, const char str[], int n)
{
fprintf (stdout,fmt, str, n);
}
-void outc (c)
- int c;
+void outc (int c)
{
fputc (c, stdout);
}
-void outn (str)
- const char *str;
+void outn (const char *str)
{
fputs (str,stdout);
fputc('\n',stdout);
@@ -734,8 +659,7 @@ void out_m4_define (const char* def, const char* val)
* The returned string is in static storage.
*/
-char *readable_form (c)
- int c;
+char *readable_form (int c)
{
static char rform[20];
@@ -751,14 +675,10 @@ char *readable_form (c)
return "\\r";
case '\t':
return "\\t";
-
-#if defined (__STDC__)
case '\a':
return "\\a";
case '\v':
return "\\v";
-#endif
-
default:
if(trace_hex)
snprintf (rform, sizeof(rform), "\\x%.2x", (unsigned int) c);
@@ -782,15 +702,12 @@ char *readable_form (c)
/* reallocate_array - increase the size of a dynamic array */
-void *reallocate_array (array, size, element_size)
- void *array;
- int size;
- size_t element_size;
+void *reallocate_array (void *array, int size, size_t element_size)
{
void *new_array;
size_t num_bytes = element_size * size;
- new_array = flex_realloc (array, num_bytes);
+ new_array = realloc(array, num_bytes);
if (!new_array)
flexfatal (_("attempt to increase array size failed"));
@@ -804,7 +721,7 @@ void *reallocate_array (array, size, element_size)
* Copies skelfile or skel array to stdout until a line beginning with
* "%%" or EOF is found.
*/
-void skelout ()
+void skelout (void)
{
char buf_storage[MAXLINE];
char *buf = buf_storage;
@@ -935,8 +852,7 @@ void skelout ()
* element_n. Formats the output with spaces and carriage returns.
*/
-void transition_struct_out (element_v, element_n)
- int element_v, element_n;
+void transition_struct_out (int element_v, int element_n)
{
/* short circuit any output */
@@ -960,12 +876,14 @@ void transition_struct_out (element_v, element_n)
/* The following is only needed when building flex's parser using certain
* broken versions of bison.
+ *
+ * XXX: this is should go soon
*/
-void *yy_flex_xmalloc (size)
- int size;
+void *yy_flex_xmalloc (int size)
{
- void *result = flex_alloc ((size_t) size);
+ void *result;
+ result = malloc((size_t) size);
if (!result)
flexfatal (_
("memory allocation failed in yy_flex_xmalloc()"));
@@ -974,29 +892,10 @@ void *yy_flex_xmalloc (size)
}
-/* zero_out - set a region of memory to 0
- *
- * Sets region_ptr[0] through region_ptr[size_in_bytes - 1] to zero.
- */
-
-void zero_out (region_ptr, size_in_bytes)
- char *region_ptr;
- size_t size_in_bytes;
-{
- char *rp, *rp_end;
-
- rp = region_ptr;
- rp_end = region_ptr + size_in_bytes;
-
- while (rp < rp_end)
- *rp++ = 0;
-}
-
/* Remove all '\n' and '\r' characters, if any, from the end of str.
* str can be any null-terminated string, or NULL.
* returns str. */
-char *chomp (str)
- char *str;
+char *chomp (char *str)
{
char *p = str;
diff --git a/src/nfa.c b/src/nfa.c
index ee06578..816c356 100644
--- a/src/nfa.c
+++ b/src/nfa.c
@@ -36,8 +36,8 @@
/* declare functions that have forward references */
-int dupmachine PROTO ((int));
-void mkxtion PROTO ((int, int));
+int dupmachine(int);
+void mkxtion(int, int);
/* add_accept - add an accepting state to a machine
@@ -45,8 +45,7 @@ void mkxtion PROTO ((int, int));
* accepting_number becomes mach's accepting number.
*/
-void add_accept (mach, accepting_number)
- int mach, accepting_number;
+void add_accept (int mach, int accepting_number)
{
/* Hang the accepting number off an epsilon state. if it is associated
* with a state that has a non-epsilon out-transition, then the state
@@ -77,8 +76,7 @@ void add_accept (mach, accepting_number)
* num - the number of copies of singl to be present in newsng
*/
-int copysingl (singl, num)
- int singl, num;
+int copysingl (int singl, int num)
{
int copy, i;
@@ -93,9 +91,7 @@ int copysingl (singl, num)
/* dumpnfa - debugging routine to write out an nfa */
-void dumpnfa (state1)
- int state1;
-
+void dumpnfa (int state1)
{
int sym, tsp1, tsp2, anum, ns;
@@ -148,8 +144,7 @@ void dumpnfa (state1)
* states accessible by the arrays firstst and lastst
*/
-int dupmachine (mach)
- int mach;
+int dupmachine (int mach)
{
int i, init, state_offset;
int state = 0;
@@ -196,9 +191,8 @@ int dupmachine (mach)
* context has variable length.
*/
-void finish_rule (mach, variable_trail_rule, headcnt, trailcnt,
- pcont_act)
- int mach, variable_trail_rule, headcnt, trailcnt, pcont_act;
+void finish_rule (int mach, int variable_trail_rule, int headcnt, int trailcnt,
+ int pcont_act)
{
char action_text[MAXLINE];
@@ -292,7 +286,7 @@ void finish_rule (mach, variable_trail_rule, headcnt, trailcnt,
if (!continued_action)
add_action ("YY_RULE_SETUP\n");
- line_directive_out ((FILE *) 0, 1);
+ line_directive_out(NULL, 1);
}
@@ -312,8 +306,7 @@ void finish_rule (mach, variable_trail_rule, headcnt, trailcnt,
* FIRST is set to new by the operation. last is unmolested.
*/
-int link_machines (first, last)
- int first, last;
+int link_machines (int first, int last)
{
if (first == NIL)
return last;
@@ -339,8 +332,7 @@ int link_machines (first, last)
* The "beginning" states are the epsilon closure of the first state
*/
-void mark_beginning_as_normal (mach)
- int mach;
+void mark_beginning_as_normal (int mach)
{
switch (state_type[mach]) {
case STATE_NORMAL:
@@ -381,8 +373,7 @@ void mark_beginning_as_normal (mach)
* more mkbranch's. Compare with mkor()
*/
-int mkbranch (first, second)
- int first, second;
+int mkbranch (int first, int second)
{
int eps;
@@ -409,8 +400,7 @@ int mkbranch (first, second)
* new - a new state which matches the closure of "state"
*/
-int mkclos (state)
- int state;
+int mkclos (int state)
{
return mkopt (mkposcl (state));
}
@@ -430,8 +420,7 @@ int mkclos (state)
* 2. mach is destroyed by the call
*/
-int mkopt (mach)
- int mach;
+int mkopt (int mach)
{
int eps;
@@ -467,8 +456,7 @@ int mkopt (mach)
* the number of epsilon states needed
*/
-int mkor (first, second)
- int first, second;
+int mkor (int first, int second)
{
int eps, orend;
@@ -523,8 +511,7 @@ int mkor (first, second)
* new - a machine matching the positive closure of "state"
*/
-int mkposcl (state)
- int state;
+int mkposcl (int state)
{
int eps;
@@ -553,8 +540,7 @@ int mkposcl (state)
* if "ub" is INFINITE_REPEAT then "new" matches "lb" or more occurrences of "mach"
*/
-int mkrep (mach, lb, ub)
- int mach, lb, ub;
+int mkrep (int mach, int lb, int ub)
{
int base_mach, tail, copy, i;
@@ -600,8 +586,7 @@ int mkrep (mach, lb, ub)
* that it admittedly is)
*/
-int mkstate (sym)
- int sym;
+int mkstate (int sym)
{
if (++lastnfa >= current_mns) {
if ((current_mns += MNS_INCREMENT) >= maximum_mns)
@@ -677,8 +662,7 @@ current_mns);
* stateto - the state to which the transition is to be made
*/
-void mkxtion (statefrom, stateto)
- int statefrom, stateto;
+void mkxtion (int statefrom, int stateto)
{
if (trans1[statefrom] == NO_TRANSITION)
trans1[statefrom] = stateto;
@@ -695,7 +679,7 @@ void mkxtion (statefrom, stateto)
/* new_rule - initialize for a new rule */
-void new_rule ()
+void new_rule (void)
{
if (++num_rules >= current_max_rules) {
++num_reallocs;
diff --git a/src/parse.c b/src/parse.c
index a7e3af0..97fc6d7 100644
--- a/src/parse.c
+++ b/src/parse.c
@@ -188,13 +188,13 @@ extern int yydebug;
NAME = 263,
PREVCCL = 264,
EOF_OP = 265,
- OPTION_OP = 266,
- OPT_OUTFILE = 267,
- OPT_PREFIX = 268,
- OPT_YYCLASS = 269,
- OPT_HEADER = 270,
- OPT_EXTRA_TYPE = 271,
- OPT_TABLES = 272,
+ TOK_OPTION = 266,
+ TOK_OUTFILE = 267,
+ TOK_PREFIX = 268,
+ TOK_YYCLASS = 269,
+ TOK_HEADER_FILE = 270,
+ TOK_EXTRA_TYPE = 271,
+ TOK_TABLES_FILE = 272,
CCE_ALNUM = 273,
CCE_ALPHA = 274,
CCE_BLANK = 275,
@@ -236,13 +236,13 @@ extern int yydebug;
#define NAME 263
#define PREVCCL 264
#define EOF_OP 265
-#define OPTION_OP 266
-#define OPT_OUTFILE 267
-#define OPT_PREFIX 268
-#define OPT_YYCLASS 269
-#define OPT_HEADER 270
-#define OPT_EXTRA_TYPE 271
-#define OPT_TABLES 272
+#define TOK_OPTION 266
+#define TOK_OUTFILE 267
+#define TOK_PREFIX 268
+#define TOK_YYCLASS 269
+#define TOK_HEADER_FILE 270
+#define TOK_EXTRA_TYPE 271
+#define TOK_TABLES_FILE 272
#define CCE_ALNUM 273
#define CCE_ALPHA 274
#define CCE_BLANK 275
@@ -611,9 +611,9 @@ static const yytype_uint16 yyrline[] =
static const char *const yytname[] =
{
"$end", "error", "$undefined", "CHAR", "NUMBER", "SECTEND", "SCDECL",
- "XSCDECL", "NAME", "PREVCCL", "EOF_OP", "OPTION_OP", "OPT_OUTFILE",
- "OPT_PREFIX", "OPT_YYCLASS", "OPT_HEADER", "OPT_EXTRA_TYPE",
- "OPT_TABLES", "CCE_ALNUM", "CCE_ALPHA", "CCE_BLANK", "CCE_CNTRL",
+ "XSCDECL", "NAME", "PREVCCL", "EOF_OP", "TOK_OPTION", "TOK_OUTFILE",
+ "TOK_PREFIX", "TOK_YYCLASS", "TOK_HEADER_FILE", "TOK_EXTRA_TYPE",
+ "TOK_TABLES_FILE", "CCE_ALNUM", "CCE_ALPHA", "CCE_BLANK", "CCE_CNTRL",
"CCE_DIGIT", "CCE_GRAPH", "CCE_LOWER", "CCE_PRINT", "CCE_PUNCT",
"CCE_SPACE", "CCE_UPPER", "CCE_XDIGIT", "CCE_NEG_ALNUM", "CCE_NEG_ALPHA",
"CCE_NEG_BLANK", "CCE_NEG_CNTRL", "CCE_NEG_DIGIT", "CCE_NEG_GRAPH",
@@ -1570,7 +1570,7 @@ yyreduce:
case 17:
#line 195 "parse.y" /* yacc.c:1646 */
{
- outfilename = copy_string( nmstr );
+ outfilename = xstrdup(nmstr);
did_outfilename = 1;
}
#line 1577 "parse.c" /* yacc.c:1646 */
@@ -1578,31 +1578,31 @@ yyreduce:
case 18:
#line 200 "parse.y" /* yacc.c:1646 */
- { extra_type = copy_string( nmstr ); }
+ { extra_type = xstrdup(nmstr); }
#line 1583 "parse.c" /* yacc.c:1646 */
break;
case 19:
#line 202 "parse.y" /* yacc.c:1646 */
- { prefix = copy_string( nmstr ); }
+ { prefix = xstrdup(nmstr); }
#line 1589 "parse.c" /* yacc.c:1646 */
break;
case 20:
#line 204 "parse.y" /* yacc.c:1646 */
- { yyclass = copy_string( nmstr ); }
+ { yyclass = xstrdup(nmstr); }
#line 1595 "parse.c" /* yacc.c:1646 */
break;
case 21:
#line 206 "parse.y" /* yacc.c:1646 */
- { headerfilename = copy_string( nmstr ); }
+ { headerfilename = xstrdup(nmstr); }
#line 1601 "parse.c" /* yacc.c:1646 */
break;
case 22:
#line 208 "parse.y" /* yacc.c:1646 */
- { tablesext = true; tablesfilename = copy_string( nmstr ); }
+ { tablesext = true; tablesfilename = xstrdup(nmstr); }
#line 1607 "parse.c" /* yacc.c:1646 */
break;
@@ -2202,7 +2202,7 @@ yyreduce:
{
/* Sort characters for fast searching.
*/
- qsort( ccltbl + cclmap[(yyvsp[0])], ccllen[(yyvsp[0])], sizeof (*ccltbl), cclcmp );
+ qsort( ccltbl + cclmap[(yyvsp[0])], (size_t) ccllen[(yyvsp[0])], sizeof (*ccltbl), cclcmp );
if ( useecs )
mkeccl( ccltbl + cclmap[(yyvsp[0])], ccllen[(yyvsp[0])],
@@ -2814,7 +2814,7 @@ yyreturn:
* conditions
*/
-void build_eof_action()
+void build_eof_action(void)
{
int i;
char action_text[MAXLINE];
@@ -2839,7 +2839,7 @@ void build_eof_action()
}
}
- line_directive_out( (FILE *) 0, 1 );
+ line_directive_out(NULL, 1);
/* This isn't a normal rule after all - don't count it as
* such, so we don't have any holes in the rule numbering
@@ -2853,8 +2853,7 @@ void build_eof_action()
/* format_synerr - write out formatted syntax error */
-void format_synerr( msg, arg )
-const char *msg, arg[];
+void format_synerr( const char *msg, const char arg[] )
{
char errmsg[MAXLINE];
@@ -2865,8 +2864,7 @@ const char *msg, arg[];
/* synerr - report a syntax error */
-void synerr( str )
-const char *str;
+void synerr( const char *str )
{
syntaxerror = true;
pinpoint_message( str );
@@ -2875,8 +2873,7 @@ const char *str;
/* format_warn - write out formatted warning */
-void format_warn( msg, arg )
-const char *msg, arg[];
+void format_warn( const char *msg, const char arg[] )
{
char warn_msg[MAXLINE];
@@ -2887,8 +2884,7 @@ const char *msg, arg[];
/* warn - report a warning, unless -w was given */
-void warn( str )
-const char *str;
+void warn( const char *str )
{
line_warning( str, linenum );
}
@@ -2897,8 +2893,7 @@ const char *str;
* pinpointing its location
*/
-void format_pinpoint_message( msg, arg )
-const char *msg, arg[];
+void format_pinpoint_message( const char *msg, const char arg[] )
{
char errmsg[MAXLINE];
@@ -2909,8 +2904,7 @@ const char *msg, arg[];
/* pinpoint_message - write out a message, pinpointing its location */
-void pinpoint_message( str )
-const char *str;
+void pinpoint_message( const char *str )
{
line_pinpoint( str, linenum );
}
@@ -2918,9 +2912,7 @@ const char *str;
/* line_warning - report a warning at a given line, unless -w was given */
-void line_warning( str, line )
-const char *str;
-int line;
+void line_warning( const char *str, int line )
{
char warning[MAXLINE];
@@ -2934,9 +2926,7 @@ int line;
/* line_pinpoint - write out a message, pinpointing it at the given line */
-void line_pinpoint( str, line )
-const char *str;
-int line;
+void line_pinpoint( const char *str, int line )
{
fprintf( stderr, "%s:%d: %s\n", infilename, line, str );
}
@@ -2946,8 +2936,7 @@ int line;
* currently, messages are ignore
*/
-void yyerror( msg )
-const char *msg;
+void yyerror( const char *msg )
{
(void)msg;
}
diff --git a/src/parse.h b/src/parse.h
index 033f919..8d35287 100644
--- a/src/parse.h
+++ b/src/parse.h
@@ -53,13 +53,13 @@ extern int yydebug;
NAME = 263,
PREVCCL = 264,
EOF_OP = 265,
- OPTION_OP = 266,
- OPT_OUTFILE = 267,
- OPT_PREFIX = 268,
- OPT_YYCLASS = 269,
- OPT_HEADER = 270,
- OPT_EXTRA_TYPE = 271,
- OPT_TABLES = 272,
+ TOK_OPTION = 266,
+ TOK_OUTFILE = 267,
+ TOK_PREFIX = 268,
+ TOK_YYCLASS = 269,
+ TOK_HEADER_FILE = 270,
+ TOK_EXTRA_TYPE = 271,
+ TOK_TABLES_FILE = 272,
CCE_ALNUM = 273,
CCE_ALPHA = 274,
CCE_BLANK = 275,
@@ -101,13 +101,13 @@ extern int yydebug;
#define NAME 263
#define PREVCCL 264
#define EOF_OP 265
-#define OPTION_OP 266
-#define OPT_OUTFILE 267
-#define OPT_PREFIX 268
-#define OPT_YYCLASS 269
-#define OPT_HEADER 270
-#define OPT_EXTRA_TYPE 271
-#define OPT_TABLES 272
+#define TOK_OPTION 266
+#define TOK_OUTFILE 267
+#define TOK_PREFIX 268
+#define TOK_YYCLASS 269
+#define TOK_HEADER_FILE 270
+#define TOK_EXTRA_TYPE 271
+#define TOK_TABLES_FILE 272
#define CCE_ALNUM 273
#define CCE_ALPHA 274
#define CCE_BLANK 275
diff --git a/src/parse.y b/src/parse.y
index 939cc05..908361b 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -1,8 +1,8 @@
/* parse.y - parser for flex input */
%token CHAR NUMBER SECTEND SCDECL XSCDECL NAME PREVCCL EOF_OP
-%token OPTION_OP OPT_OUTFILE OPT_PREFIX OPT_YYCLASS OPT_HEADER OPT_EXTRA_TYPE
-%token OPT_TABLES
+%token TOK_OPTION TOK_OUTFILE TOK_PREFIX TOK_YYCLASS TOK_HEADER_FILE TOK_EXTRA_TYPE
+%token TOK_TABLES_FILE
%token CCE_ALNUM CCE_ALPHA CCE_BLANK CCE_CNTRL CCE_DIGIT CCE_GRAPH
%token CCE_LOWER CCE_PRINT CCE_PUNCT CCE_SPACE CCE_UPPER CCE_XDIGIT
@@ -184,28 +184,28 @@ namelist1 : namelist1 NAME
{ synerr( _("bad start condition list") ); }
;
-options : OPTION_OP optionlist
+options : TOK_OPTION optionlist
;
optionlist : optionlist option
|
;
-option : OPT_OUTFILE '=' NAME
+option : TOK_OUTFILE '=' NAME
{
- outfilename = copy_string( nmstr );
+ outfilename = xstrdup(nmstr);
did_outfilename = 1;
}
- | OPT_EXTRA_TYPE '=' NAME
- { extra_type = copy_string( nmstr ); }
- | OPT_PREFIX '=' NAME
- { prefix = copy_string( nmstr ); }
- | OPT_YYCLASS '=' NAME
- { yyclass = copy_string( nmstr ); }
- | OPT_HEADER '=' NAME
- { headerfilename = copy_string( nmstr ); }
- | OPT_TABLES '=' NAME
- { tablesext = true; tablesfilename = copy_string( nmstr ); }
+ | TOK_EXTRA_TYPE '=' NAME
+ { extra_type = xstrdup(nmstr); }
+ | TOK_PREFIX '=' NAME
+ { prefix = xstrdup(nmstr); }
+ | TOK_YYCLASS '=' NAME
+ { yyclass = xstrdup(nmstr); }
+ | TOK_HEADER_FILE '=' NAME
+ { headerfilename = xstrdup(nmstr); }
+ | TOK_TABLES_FILE '=' NAME
+ { tablesext = true; tablesfilename = xstrdup(nmstr); }
;
sect2 : sect2 scon initforrule flexrule '\n'
@@ -725,7 +725,7 @@ singleton : singleton '*'
{
/* Sort characters for fast searching.
*/
- qsort( ccltbl + cclmap[$1], ccllen[$1], sizeof (*ccltbl), cclcmp );
+ qsort( ccltbl + cclmap[$1], (size_t) ccllen[$1], sizeof (*ccltbl), cclcmp );
if ( useecs )
mkeccl( ccltbl + cclmap[$1], ccllen[$1],
@@ -951,7 +951,7 @@ string : string CHAR
* conditions
*/
-void build_eof_action()
+void build_eof_action(void)
{
int i;
char action_text[MAXLINE];
@@ -976,7 +976,7 @@ void build_eof_action()
}
}
- line_directive_out( (FILE *) 0, 1 );
+ line_directive_out(NULL, 1);
/* This isn't a normal rule after all - don't count it as
* such, so we don't have any holes in the rule numbering
@@ -990,8 +990,7 @@ void build_eof_action()
/* format_synerr - write out formatted syntax error */
-void format_synerr( msg, arg )
-const char *msg, arg[];
+void format_synerr( const char *msg, const char arg[] )
{
char errmsg[MAXLINE];
@@ -1002,8 +1001,7 @@ const char *msg, arg[];
/* synerr - report a syntax error */
-void synerr( str )
-const char *str;
+void synerr( const char *str )
{
syntaxerror = true;
pinpoint_message( str );
@@ -1012,8 +1010,7 @@ const char *str;
/* format_warn - write out formatted warning */
-void format_warn( msg, arg )
-const char *msg, arg[];
+void format_warn( const char *msg, const char arg[] )
{
char warn_msg[MAXLINE];
@@ -1024,8 +1021,7 @@ const char *msg, arg[];
/* warn - report a warning, unless -w was given */
-void warn( str )
-const char *str;
+void warn( const char *str )
{
line_warning( str, linenum );
}
@@ -1034,8 +1030,7 @@ const char *str;
* pinpointing its location
*/
-void format_pinpoint_message( msg, arg )
-const char *msg, arg[];
+void format_pinpoint_message( const char *msg, const char arg[] )
{
char errmsg[MAXLINE];
@@ -1046,8 +1041,7 @@ const char *msg, arg[];
/* pinpoint_message - write out a message, pinpointing its location */
-void pinpoint_message( str )
-const char *str;
+void pinpoint_message( const char *str )
{
line_pinpoint( str, linenum );
}
@@ -1055,9 +1049,7 @@ const char *str;
/* line_warning - report a warning at a given line, unless -w was given */
-void line_warning( str, line )
-const char *str;
-int line;
+void line_warning( const char *str, int line )
{
char warning[MAXLINE];
@@ -1071,9 +1063,7 @@ int line;
/* line_pinpoint - write out a message, pinpointing it at the given line */
-void line_pinpoint( str, line )
-const char *str;
-int line;
+void line_pinpoint( const char *str, int line )
{
fprintf( stderr, "%s:%d: %s\n", infilename, line, str );
}
@@ -1083,8 +1073,7 @@ int line;
* currently, messages are ignore
*/
-void yyerror( msg )
-const char *msg;
+void yyerror( const char *msg )
{
(void)msg;
}
diff --git a/src/regex.c b/src/regex.c
index 2bb580e..84f0e9e 100644
--- a/src/regex.c
+++ b/src/regex.c
@@ -57,10 +57,10 @@ void flex_regcomp(regex_t *preg, const char *regex, int cflags)
const int errbuf_sz = 200;
char *errbuf, *rxerr;
- errbuf = (char*)flex_alloc(errbuf_sz *sizeof(char));
+ errbuf = malloc(errbuf_sz * sizeof(char));
if (!errbuf)
flexfatal(_("Unable to allocate buffer to report regcomp"));
- rxerr = (char*)flex_alloc(errbuf_sz *sizeof(char));
+ rxerr = malloc(errbuf_sz * sizeof(char));
if (!rxerr)
flexfatal(_("Unable to allocate buffer for regerror"));
regerror (err, preg, rxerr, errbuf_sz);
@@ -85,7 +85,7 @@ char *regmatch_dup (regmatch_t * m, const char *src)
if (m == NULL || m->rm_so < 0)
return NULL;
len = m->rm_eo - m->rm_so;
- str = (char *) flex_alloc ((len + 1) * sizeof (char));
+ str = malloc((len + 1) * sizeof(char));
if (!str)
flexfatal(_("Unable to allocate a copy of the match"));
strncpy (str, src + m->rm_so, len);
diff --git a/src/scan.c b/src/scan.c
index 6544737..21898b0 100644
--- a/src/scan.c
+++ b/src/scan.c
@@ -8,7 +8,7 @@
#define FLEX_SCANNER
#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 6
-#define YY_FLEX_SUBMINOR_VERSION 0-pre
+#define YY_FLEX_SUBMINOR_VERSION 0
#if YY_FLEX_SUBMINOR_VERSION > 0
#define FLEX_BETA
#endif
@@ -376,8 +376,8 @@ static void yy_fatal_error (yyconst char msg[] );
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 251
-#define YY_END_OF_BUFFER 252
+#define YY_NUM_RULES 252
+#define YY_END_OF_BUFFER 253
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -385,130 +385,130 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[1107] =
+static yyconst flex_int16_t yy_accept[1110] =
{ 0,
- 0, 0, 0, 0, 0, 0, 248, 248, 0, 0,
+ 0, 0, 0, 0, 0, 0, 249, 249, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 252, 250,
- 9, 20, 250, 18, 1, 19, 250, 250, 250, 250,
- 17, 164, 149, 150, 164, 142, 164, 161, 162, 163,
- 163, 164, 164, 164, 163, 148, 138, 164, 164, 140,
- 141, 136, 137, 136, 135, 134, 135, 248, 248, 249,
- 249, 41, 42, 41, 41, 41, 41, 41, 41, 50,
-
- 49, 51, 250, 170, 170, 165, 170, 166, 167, 169,
- 171, 219, 220, 219, 217, 216, 218, 172, 174, 172,
- 173, 172, 186, 186, 186, 186, 188, 190, 188, 188,
- 188, 188, 189, 233, 238, 233, 237, 239, 239, 235,
- 235, 235, 234, 234, 229, 230, 250, 131, 250, 25,
- 26, 25, 22, 25, 25, 240, 242, 240, 243, 244,
- 227, 227, 228, 227, 227, 227, 227, 227, 227, 227,
- 130, 53, 52, 130, 130, 130, 130, 54, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 37,
-
- 34, 37, 35, 48, 45, 250, 48, 48, 44, 43,
- 176, 175, 177, 178, 179, 180, 181, 182, 183, 32,
+ 0, 0, 0, 0, 0, 0, 0, 0, 253, 251,
+ 9, 20, 251, 18, 1, 19, 251, 251, 251, 251,
+ 17, 165, 150, 151, 165, 143, 165, 162, 163, 164,
+ 164, 165, 165, 165, 164, 149, 139, 165, 165, 141,
+ 142, 137, 138, 137, 136, 135, 136, 249, 249, 250,
+ 250, 41, 42, 41, 41, 41, 41, 41, 41, 50,
+
+ 49, 51, 251, 171, 171, 166, 171, 167, 168, 170,
+ 172, 220, 221, 220, 218, 217, 219, 173, 175, 173,
+ 174, 173, 187, 187, 187, 187, 189, 191, 189, 189,
+ 189, 189, 190, 234, 239, 234, 238, 240, 240, 236,
+ 236, 236, 235, 235, 230, 231, 251, 132, 251, 25,
+ 26, 25, 22, 25, 25, 241, 243, 241, 244, 245,
+ 228, 228, 229, 228, 228, 228, 228, 228, 228, 228,
+ 131, 53, 52, 131, 131, 131, 131, 54, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 37,
+
+ 34, 37, 35, 48, 45, 251, 48, 48, 44, 43,
+ 177, 176, 178, 179, 180, 181, 182, 183, 184, 32,
33, 32, 31, 29, 30, 29, 28, 9, 20, 0,
18, 1, 19, 0, 0, 0, 16, 10, 0, 0,
- 0, 0, 4, 16, 5, 0, 2, 17, 149, 150,
- 0, 0, 0, 144, 0, 160, 158, 0, 154, 154,
- 0, 245, 245, 245, 0, 0, 143, 0, 148, 138,
- 0, 0, 0, 140, 141, 153, 139, 0, 137, 135,
- 134, 134, 132, 133, 248, 248, 246, 247, 42, 0,
- 0, 39, 40, 0, 50, 49, 51, 0, 165, 0,
-
- 165, 168, 169, 220, 216, 174, 0, 184, 185, 190,
- 187, 233, 238, 0, 236, 0, 222, 235, 235, 235,
- 231, 232, 0, 131, 0, 26, 21, 23, 24, 240,
- 242, 241, 0, 0, 228, 221, 225, 226, 53, 52,
- 0, 129, 0, 0, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 55, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 0, 36, 35, 45,
- 46, 47, 32, 33, 30, 27, 0, 16, 10, 0,
- 14, 0, 0, 0, 0, 0, 4, 16, 5, 0,
-
- 6, 0, 145, 0, 146, 0, 159, 0, 154, 154,
- 0, 154, 154, 154, 245, 245, 156, 155, 0, 157,
- 139, 147, 0, 153, 0, 132, 133, 0, 0, 0,
- 38, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 235, 235, 221, 0, 0, 130,
- 130, 130, 130, 130, 130, 130, 67, 130, 130, 130,
- 72, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 0, 0, 0, 0, 14,
-
- 0, 0, 0, 0, 0, 0, 4, 8, 5, 0,
- 154, 154, 154, 154, 154, 154, 154, 245, 157, 0,
+ 0, 0, 4, 16, 5, 0, 2, 17, 150, 151,
+ 0, 0, 0, 145, 0, 161, 159, 0, 155, 155,
+ 0, 246, 246, 246, 0, 0, 144, 0, 149, 139,
+ 0, 0, 0, 141, 142, 154, 140, 0, 138, 136,
+ 135, 135, 133, 134, 249, 249, 247, 248, 42, 0,
+ 0, 39, 40, 0, 50, 49, 51, 0, 166, 0,
+
+ 166, 169, 170, 221, 217, 175, 0, 185, 186, 191,
+ 188, 234, 239, 0, 237, 0, 223, 236, 236, 236,
+ 232, 233, 0, 132, 0, 26, 21, 23, 24, 241,
+ 243, 242, 0, 0, 229, 222, 226, 227, 53, 52,
+ 0, 130, 0, 0, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 55, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 0, 36, 35,
+ 45, 46, 47, 32, 33, 30, 27, 0, 16, 10,
+ 0, 14, 0, 0, 0, 0, 0, 4, 16, 5,
+
+ 0, 6, 0, 146, 0, 147, 0, 160, 0, 155,
+ 155, 0, 155, 155, 155, 246, 246, 157, 156, 0,
+ 158, 140, 148, 0, 154, 0, 133, 134, 0, 0,
+ 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 236, 236, 222, 0, 0,
+ 131, 131, 131, 131, 131, 131, 131, 67, 131, 131,
+ 131, 72, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 0, 0, 0,
+
+ 0, 14, 0, 0, 0, 0, 0, 0, 4, 8,
+ 5, 0, 155, 155, 155, 155, 155, 155, 155, 246,
+ 158, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 236, 236, 56,
+ 57, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 73, 74, 131, 131, 131, 131, 79, 80,
+ 131, 131, 131, 131, 131, 131, 131, 85, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 94, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 0, 0, 0,
+
+ 0, 15, 0, 0, 0, 0, 0, 8, 8, 8,
+ 0, 155, 155, 155, 155, 155, 155, 155, 0, 0,
+ 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 235, 235, 56, 57, 130,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 73, 74, 130, 130, 130, 130, 79, 130, 130, 130,
- 130, 130, 130, 130, 84, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 93, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 0, 0, 0, 0, 15, 0,
-
- 0, 0, 0, 0, 8, 8, 8, 0, 154, 154,
- 154, 154, 154, 154, 154, 0, 0, 0, 0, 215,
+ 0, 0, 0, 0, 0, 0, 236, 236, 58, 131,
+ 131, 60, 131, 64, 131, 131, 131, 131, 70, 131,
+ 131, 131, 75, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 88, 131, 131, 131, 131, 92,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 0, 0, 0, 0, 3, 0, 0, 0, 8, 7,
+
+ 8, 0, 155, 155, 155, 0, 0, 224, 225, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 235, 235, 58, 130, 130, 60, 130,
- 64, 130, 130, 130, 130, 70, 130, 130, 130, 75,
- 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 87, 130, 130, 130, 130, 91, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 130, 0, 0, 0,
- 0, 3, 0, 0, 0, 8, 7, 8, 0, 154,
-
- 154, 154, 0, 0, 223, 224, 0, 0, 0, 0,
+ 0, 0, 0, 224, 225, 131, 131, 131, 63, 131,
+ 131, 131, 131, 131, 131, 131, 127, 131, 131, 131,
+ 131, 131, 131, 131, 131, 125, 131, 87, 131, 90,
+ 131, 91, 131, 131, 131, 106, 0, 131, 96, 131,
+ 0, 97, 0, 0, 0, 0, 0, 12, 0, 13,
+ 0, 153, 0, 152, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 223, 224, 130, 130, 130, 63, 130, 130, 130, 130,
- 130, 130, 130, 126, 130, 130, 130, 130, 130, 130,
- 130, 130, 124, 130, 86, 130, 89, 130, 90, 130,
- 130, 130, 105, 0, 130, 95, 130, 0, 96, 0,
- 0, 0, 0, 0, 12, 0, 13, 0, 152, 0,
- 151, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-
- 0, 0, 0, 0, 0, 130, 130, 130, 130, 130,
- 130, 130, 68, 130, 71, 130, 130, 130, 130, 130,
- 130, 123, 130, 83, 130, 130, 88, 130, 92, 103,
- 125, 0, 0, 0, 0, 0, 0, 130, 130, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 151,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 130, 130, 130, 130, 130, 130,
- 130, 69, 130, 130, 130, 130, 80, 130, 130, 130,
- 130, 130, 130, 0, 0, 114, 0, 0, 0, 0,
- 0, 0, 94, 130, 0, 0, 115, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 11, 0, 191, 192,
- 193, 194, 195, 196, 197, 198, 199, 200, 201, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 131, 131,
+ 131, 131, 131, 131, 131, 68, 131, 71, 131, 131,
+ 131, 131, 131, 131, 124, 131, 84, 131, 131, 89,
+ 131, 93, 104, 126, 0, 0, 0, 0, 0, 0,
+ 131, 131, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 152, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 130, 130, 130, 130, 130, 130, 130, 130,
- 130, 130, 130, 130, 130, 130, 85, 130, 130, 0,
- 0, 0, 0, 0, 0, 116, 0, 104, 0, 0,
- 0, 0, 0, 117, 0, 0, 0, 0, 0, 202,
- 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
- 213, 0, 130, 130, 130, 130, 130, 130, 130, 122,
-
- 130, 130, 77, 130, 130, 130, 130, 130, 0, 0,
- 110, 0, 120, 118, 111, 0, 0, 0, 121, 119,
- 0, 0, 0, 0, 0, 0, 214, 130, 130, 130,
- 130, 130, 130, 130, 126, 76, 130, 82, 130, 127,
- 130, 106, 108, 0, 107, 109, 0, 0, 0, 0,
- 0, 0, 0, 130, 130, 130, 65, 130, 130, 130,
- 130, 78, 130, 112, 113, 98, 0, 0, 0, 0,
- 99, 130, 130, 130, 130, 130, 130, 130, 128, 97,
- 0, 101, 0, 130, 130, 130, 130, 130, 68, 130,
- 100, 102, 130, 130, 62, 66, 130, 130, 130, 61,
-
- 69, 130, 130, 81, 59, 0
+ 0, 0, 0, 0, 0, 0, 0, 131, 131, 131,
+ 131, 131, 131, 131, 69, 131, 131, 131, 131, 81,
+ 131, 131, 131, 131, 131, 131, 0, 0, 115, 0,
+
+ 0, 0, 0, 0, 0, 95, 131, 0, 0, 116,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
+ 0, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 86,
+ 131, 131, 0, 0, 0, 0, 0, 0, 117, 0,
+ 105, 0, 0, 0, 0, 0, 118, 0, 0, 0,
+ 0, 0, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 0, 131, 131, 131, 131, 131,
+
+ 131, 131, 123, 131, 131, 77, 131, 131, 131, 131,
+ 131, 0, 0, 111, 0, 121, 119, 112, 0, 0,
+ 0, 122, 120, 0, 0, 0, 0, 0, 0, 215,
+ 131, 131, 131, 131, 131, 131, 131, 127, 76, 131,
+ 83, 131, 128, 131, 107, 109, 0, 108, 110, 0,
+ 0, 0, 0, 0, 0, 0, 131, 131, 131, 65,
+ 131, 131, 131, 131, 78, 131, 113, 114, 99, 0,
+ 0, 0, 0, 100, 131, 131, 131, 131, 131, 131,
+ 131, 129, 98, 0, 102, 0, 131, 131, 131, 131,
+ 131, 68, 131, 101, 103, 131, 131, 62, 66, 131,
+
+ 131, 131, 61, 69, 131, 131, 82, 59, 0
} ;
static yyconst YY_CHAR yy_ec[256] =
@@ -556,279 +556,281 @@ static yyconst YY_CHAR yy_meta[85] =
12, 5, 1, 17
} ;
-static yyconst flex_uint16_t yy_base[1201] =
+static yyconst flex_uint16_t yy_base[1204] =
{ 0,
0, 84, 167, 250, 171, 184, 174, 179, 192, 233,
- 196, 200, 334, 0, 3343, 3340, 203, 416, 206, 211,
+ 196, 200, 334, 0, 3464, 3463, 203, 416, 206, 211,
187, 216, 276, 417, 500, 0, 210, 223, 421, 427,
436, 440, 583, 588, 669, 0, 277, 299, 584, 751,
- 579, 580, 576, 732, 279, 305, 310, 444, 3378, 3975,
- 228, 3975, 3371, 0, 322, 3975, 3358, 423, 827, 3328,
- 0, 3975, 755, 3975, 3337, 3975, 448, 3312, 3975, 3975,
- 3323, 3291, 222, 408, 444, 764, 3975, 3311, 230, 3289,
- 3975, 3975, 3975, 3306, 0, 3306, 164, 3304, 3975, 3236,
- 3217, 3975, 3975, 3266, 239, 119, 3215, 3212, 3180, 0,
-
- 3248, 3975, 3243, 3975, 476, 3227, 3222, 3975, 3168, 0,
- 3975, 3975, 3975, 3203, 3975, 464, 3975, 3975, 3975, 3186,
- 3975, 742, 3975, 3161, 751, 180, 3975, 3975, 3171, 0,
- 3149, 757, 3975, 0, 3975, 3149, 3975, 200, 3138, 0,
- 429, 241, 3097, 3092, 3975, 3975, 306, 3975, 323, 3975,
- 3975, 3126, 3108, 3072, 3069, 0, 3975, 3115, 3975, 0,
- 3975, 446, 3975, 3114, 3031, 3098, 435, 371, 3045, 3026,
- 3975, 3076, 3975, 3074, 3070, 439, 440, 3975, 578, 751,
- 586, 562, 735, 752, 0, 572, 577, 588, 786, 749,
- 396, 809, 727, 582, 747, 753, 764, 769, 580, 3975,
-
- 3975, 3067, 588, 3975, 3975, 3053, 3002, 2996, 3975, 3975,
- 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 0,
- 3975, 3046, 3975, 3975, 3975, 3018, 2986, 837, 3975, 2998,
- 0, 847, 3975, 2997, 817, 777, 0, 0, 891, 903,
- 912, 924, 0, 774, 0, 451, 3975, 0, 858, 3975,
- 2996, 2914, 472, 3975, 2974, 2953, 3975, 791, 236, 822,
- 899, 3975, 275, 0, 2873, 2872, 3975, 2871, 949, 3975,
- 2949, 2850, 2918, 2906, 3975, 0, 3975, 796, 3975, 0,
- 0, 2925, 0, 0, 2597, 3975, 3975, 3975, 3975, 795,
- 794, 3975, 3975, 484, 0, 2597, 3975, 877, 2596, 2594,
-
- 2594, 3975, 0, 3975, 918, 3975, 1005, 3975, 3975, 3975,
- 3975, 0, 3975, 611, 3975, 0, 3975, 0, 853, 851,
- 3975, 3975, 490, 3975, 608, 3975, 3975, 3975, 3975, 0,
- 3975, 3975, 596, 2510, 3975, 0, 3975, 3975, 2588, 3975,
- 2581, 3975, 894, 906, 0, 911, 717, 727, 923, 728,
- 2571, 882, 930, 889, 902, 916, 917, 940, 928, 923,
- 940, 933, 0, 932, 3975, 935, 939, 951, 956, 1059,
- 964, 965, 1052, 955, 957, 1099, 2578, 3975, 1078, 3975,
- 3975, 3975, 0, 3975, 3975, 3975, 987, 0, 0, 1087,
- 3975, 2576, 1132, 985, 1046, 1058, 0, 1058, 0, 1009,
-
- 3975, 1016, 3975, 1057, 3975, 1099, 3975, 1068, 731, 1088,
- 1095, 1178, 1244, 1280, 988, 0, 3975, 3975, 2492, 1162,
- 3975, 3975, 1081, 0, 1086, 0, 0, 1098, 1105, 1100,
- 3975, 1167, 1245, 1246, 1247, 1250, 2539, 1248, 1249, 1258,
- 1244, 1251, 1259, 1321, 1233, 1224, 0, 1072, 1228, 1243,
- 1261, 1287, 1298, 1289, 1298, 1287, 0, 1299, 1228, 1308,
- 0, 1280, 1298, 1307, 1316, 1314, 1316, 2532, 1322, 1337,
- 1338, 1340, 1342, 1342, 1348, 1353, 1356, 1347, 1357, 1362,
- 1366, 1358, 1353, 1356, 1377, 1366, 1370, 1371, 1367, 1383,
- 1384, 1379, 1391, 1392, 1381, 1388, 1397, 1275, 1455, 3975,
-
- 1439, 1463, 1444, 1415, 1412, 1415, 0, 1409, 0, 1429,
- 1492, 1558, 1594, 1524, 2449, 1564, 1639, 3975, 3975, 1537,
- 1556, 1560, 1407, 2427, 1558, 1563, 1559, 1564, 1572, 1584,
- 1574, 1562, 1615, 1619, 1609, 1625, 1626, 1643, 1614, 1651,
- 1662, 1658, 1664, 1665, 1616, 1616, 1637, 3975, 3975, 1638,
- 1631, 2352, 1634, 1641, 1655, 1650, 1677, 1679, 1671, 1689,
- 0, 0, 1690, 1677, 1681, 1697, 0, 2348, 1684, 1694,
- 2274, 1686, 1685, 1695, 0, 1692, 1711, 1704, 1703, 1701,
- 1713, 1703, 1704, 1712, 0, 1717, 1731, 1731, 1719, 1723,
- 1722, 1741, 1726, 1742, 1734, 1747, 1741, 2241, 3975, 1464,
-
- 1485, 1729, 1743, 1740, 0, 1721, 1591, 2173, 1585, 2139,
- 1771, 1807, 1417, 962, 1426, 1755, 2049, 1745, 1769, 3975,
- 1774, 1782, 1789, 1775, 1796, 1791, 1810, 1800, 1820, 1822,
- 1821, 1823, 1832, 1831, 1838, 1840, 1853, 1856, 1854, 1855,
- 1863, 1865, 1861, 1846, 1862, 0, 1853, 1864, 0, 1857,
- 0, 2008, 1866, 1862, 1869, 0, 1874, 1893, 1870, 0,
- 1888, 1875, 1886, 1882, 1880, 1878, 1897, 1876, 1882, 1889,
- 1889, 0, 1904, 1895, 1899, 1919, 0, 1907, 1909, 1908,
- 1923, 1791, 1924, 1925, 1919, 1747, 1917, 1918, 1918, 1938,
- 1924, 1726, 1599, 1927, 1937, 1970, 3975, 1702, 1652, 1923,
-
- 1755, 1941, 1625, 1618, 3975, 3975, 1961, 1977, 1966, 1969,
- 1956, 1979, 1983, 1986, 1989, 1984, 1992, 1987, 1994, 1990,
- 1988, 1995, 2007, 2004, 2016, 2022, 1996, 2028, 2018, 2026,
- 0, 0, 1620, 1990, 2009, 0, 2035, 2020, 2035, 2029,
- 2024, 2025, 2029, 1589, 2049, 2041, 2052, 2048, 2053, 2054,
- 2044, 2057, 0, 2064, 0, 2048, 0, 1576, 0, 2064,
- 2070, 2056, 0, 2096, 2062, 0, 2067, 2108, 0, 1531,
- 2072, 2078, 1438, 1853, 3975, 2105, 3975, 2068, 3975, 1463,
- 3975, 1407, 1402, 1348, 1345, 1314, 1307, 1269, 1260, 1256,
- 1210, 1158, 2106, 2111, 2097, 2118, 2122, 2129, 2125, 2140,
-
- 2131, 2136, 2141, 2143, 2156, 2131, 2138, 2147, 2101, 2151,
- 2138, 2153, 0, 2141, 0, 2144, 2165, 2153, 2159, 2158,
- 2165, 0, 2165, 0, 2167, 2169, 0, 2178, 0, 0,
- 0, 2183, 2167, 2179, 2210, 2178, 2189, 2188, 2189, 2202,
- 2186, 2194, 2218, 2196, 2202, 1119, 1114, 2206, 2118, 3975,
- 1106, 1100, 1081, 1068, 1065, 1061, 1057, 972, 968, 965,
- 914, 925, 893, 881, 874, 869, 865, 861, 854, 843,
- 807, 802, 776, 2235, 2212, 2226, 2221, 2227, 2239, 2238,
- 2228, 0, 2228, 2239, 2242, 2252, 0, 2238, 2244, 2249,
- 2244, 2258, 2263, 2269, 2255, 3975, 2263, 2265, 2265, 2281,
-
- 2265, 2262, 0, 2285, 2288, 2274, 3975, 2277, 2280, 2295,
- 2279, 2280, 2283, 2303, 2283, 2330, 3975, 2335, 3975, 3975,
- 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 735,
- 612, 608, 598, 441, 374, 261, 245, 202, 152, 149,
- 137, 165, 2296, 2303, 2304, 2320, 2326, 2316, 2324, 2329,
- 2324, 2316, 2319, 2335, 2324, 2327, 0, 2332, 2328, 2327,
- 2332, 2345, 2348, 2352, 2344, 3975, 2338, 0, 2338, 2343,
- 2357, 2362, 2357, 3975, 2371, 2356, 2359, 2358, 2380, 3975,
- 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975,
- 3975, 128, 2384, 2382, 2373, 2387, 2376, 2378, 2378, 0,
-
- 2395, 2396, 0, 2385, 2384, 2405, 2403, 2401, 2405, 2413,
- 3975, 2401, 3975, 3975, 3975, 2409, 2416, 2404, 3975, 3975,
- 2400, 2422, 2422, 2414, 2417, 2417, 3975, 2421, 2421, 2418,
- 2424, 2441, 2442, 2443, 0, 0, 2453, 0, 2436, 0,
- 2451, 3975, 3975, 2445, 3975, 3975, 2446, 2457, 2445, 2461,
- 2464, 2462, 2468, 2473, 2466, 2460, 0, 2462, 2459, 2461,
- 2483, 0, 2463, 3975, 3975, 3975, 2484, 2488, 2476, 2482,
- 3975, 2495, 2485, 2497, 2495, 2501, 2506, 2493, 0, 3975,
- 2496, 3975, 2508, 2498, 2506, 2503, 2506, 2505, 0, 2520,
- 3975, 3975, 2522, 2514, 0, 0, 2529, 2514, 2515, 0,
-
- 0, 2533, 2539, 0, 0, 3975, 2601, 2618, 2635, 2652,
- 2669, 2686, 2703, 2720, 2737, 2754, 2771, 2788, 2805, 2822,
- 2839, 2856, 2873, 2890, 2907, 2917, 2933, 2942, 2958, 2975,
- 2986, 3002, 3019, 3036, 3053, 3063, 3079, 3096, 3113, 3127,
- 3137, 3153, 3170, 3187, 3204, 3215, 2009, 3227, 3244, 3254,
- 3270, 3287, 3294, 3300, 3316, 3326, 3342, 3359, 3376, 2564,
- 3386, 3403, 3420, 3437, 3454, 3471, 3488, 3505, 3522, 3532,
- 3548, 3562, 3572, 3588, 3605, 3622, 3639, 3650, 3662, 3679,
- 3696, 3713, 3730, 3740, 3749, 3765, 3782, 3799, 2571, 3809,
- 3826, 3843, 3860, 3877, 3885, 3890, 3906, 3923, 3940, 3957
-
+ 579, 580, 576, 732, 279, 305, 310, 444, 3498, 3970,
+ 228, 3970, 3493, 0, 322, 3970, 3465, 423, 827, 3438,
+ 0, 3970, 755, 3970, 3431, 3970, 448, 3390, 3970, 3970,
+ 3387, 3372, 222, 408, 444, 764, 3970, 3392, 230, 3370,
+ 3970, 3970, 3970, 3388, 0, 3371, 164, 3366, 3970, 3303,
+ 3281, 3970, 3970, 3332, 239, 119, 3281, 3276, 3226, 0,
+
+ 3307, 3970, 3305, 3970, 476, 3302, 3300, 3970, 3246, 0,
+ 3970, 3970, 3970, 3281, 3970, 464, 3970, 3970, 3970, 3264,
+ 3970, 742, 3970, 3241, 751, 180, 3970, 3970, 3260, 0,
+ 3239, 757, 3970, 0, 3970, 3256, 3970, 200, 3232, 0,
+ 429, 241, 3188, 3169, 3970, 3970, 306, 3970, 323, 3970,
+ 3970, 3217, 3201, 3148, 3129, 0, 3970, 3176, 3970, 0,
+ 3970, 446, 3970, 3166, 3083, 3134, 435, 371, 3093, 3090,
+ 3970, 3140, 3970, 3121, 3115, 439, 440, 3970, 578, 751,
+ 586, 562, 735, 752, 0, 572, 577, 782, 791, 749,
+ 396, 809, 588, 582, 731, 734, 762, 768, 580, 3970,
+
+ 3970, 3114, 588, 3970, 3970, 3116, 3060, 3057, 3970, 3970,
+ 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 0,
+ 3970, 3107, 3970, 3970, 3970, 3103, 3075, 825, 3970, 3073,
+ 0, 837, 3970, 3070, 795, 777, 0, 0, 891, 903,
+ 912, 924, 0, 774, 0, 451, 3970, 0, 858, 3970,
+ 3069, 2989, 472, 3970, 3065, 3044, 3970, 800, 236, 822,
+ 899, 3970, 275, 0, 2966, 2962, 3970, 2960, 949, 3970,
+ 3013, 2917, 2983, 2971, 3970, 0, 3970, 818, 3970, 0,
+ 0, 2992, 0, 0, 2988, 3970, 3970, 3970, 3970, 815,
+ 816, 3970, 3970, 484, 0, 2970, 3970, 935, 2953, 2949,
+
+ 2949, 3970, 0, 3970, 940, 3970, 1005, 3970, 3970, 3970,
+ 3970, 0, 3970, 611, 3970, 0, 3970, 0, 821, 850,
+ 3970, 3970, 490, 3970, 608, 3970, 3970, 3970, 3970, 0,
+ 3970, 3970, 596, 2866, 3970, 0, 3970, 3970, 2945, 3970,
+ 2921, 3970, 855, 903, 0, 920, 717, 727, 917, 728,
+ 2912, 882, 939, 896, 902, 907, 935, 948, 937, 912,
+ 940, 951, 936, 0, 940, 3970, 943, 946, 1051, 962,
+ 1061, 969, 966, 1052, 984, 986, 1101, 2919, 3970, 1080,
+ 3970, 3970, 3970, 0, 3970, 3970, 3970, 1021, 0, 0,
+ 1134, 3970, 2919, 1147, 1046, 1056, 1058, 0, 1065, 0,
+
+ 874, 3970, 998, 3970, 1004, 3970, 1011, 3970, 1070, 731,
+ 1090, 1143, 1223, 1153, 1289, 1002, 0, 3970, 3970, 2510,
+ 1102, 3970, 3970, 1083, 0, 1085, 0, 0, 1098, 1106,
+ 1023, 3970, 1106, 1151, 1289, 1290, 1156, 2569, 1291, 1154,
+ 1292, 1301, 1302, 1158, 1353, 1150, 1141, 0, 1138, 1139,
+ 1153, 1160, 1155, 1288, 1285, 1296, 1285, 0, 1297, 1285,
+ 1302, 0, 1289, 1288, 1299, 1310, 1325, 1323, 2573, 1335,
+ 1329, 1349, 1346, 1346, 1347, 1345, 1352, 1356, 1359, 1350,
+ 1361, 1364, 1389, 1366, 1352, 1355, 1377, 1374, 1390, 1395,
+ 1392, 1406, 1403, 1398, 1409, 1410, 1399, 1403, 1415, 1111,
+
+ 1478, 3970, 1190, 1482, 1197, 1424, 1420, 1417, 0, 933,
+ 0, 1427, 1504, 1570, 1606, 874, 2530, 1576, 1651, 3970,
+ 3970, 1420, 1430, 1435, 1422, 2529, 1569, 1574, 1568, 1577,
+ 1575, 1570, 1581, 1590, 1593, 1620, 1582, 1583, 1623, 1633,
+ 1622, 1631, 1636, 1652, 1634, 1663, 1664, 1625, 1615, 3970,
+ 3970, 1649, 1642, 2564, 1646, 1651, 1656, 1660, 1699, 1669,
+ 1668, 1689, 0, 0, 1686, 1675, 1679, 1689, 0, 0,
+ 2560, 1685, 1698, 2559, 1690, 1689, 1699, 0, 1694, 1712,
+ 1705, 1703, 1698, 1718, 1705, 1707, 1713, 0, 1717, 1729,
+ 1726, 1713, 1720, 1718, 1739, 1724, 1748, 1736, 1747, 1737,
+
+ 2570, 3970, 1198, 1206, 1730, 1748, 1746, 0, 1393, 1793,
+ 2545, 952, 2426, 1782, 1818, 1554, 1068, 1151, 1761, 2347,
+ 1752, 1771, 3970, 1781, 1791, 1782, 1787, 1789, 1798, 1795,
+ 1793, 1822, 1836, 1831, 1796, 1842, 1839, 1845, 1808, 1846,
+ 1794, 1852, 1861, 1866, 1847, 1863, 1840, 1863, 0, 1852,
+ 1869, 0, 1858, 0, 2352, 1871, 1857, 1871, 0, 1867,
+ 2349, 1864, 0, 1882, 1869, 1882, 2309, 1880, 1877, 1891,
+ 2174, 1875, 1883, 1888, 0, 1903, 1896, 1899, 1916, 0,
+ 1904, 1906, 1906, 1922, 2063, 1924, 1926, 1920, 1970, 1917,
+ 1918, 1917, 1937, 1923, 2016, 1448, 1926, 1936, 1968, 3970,
+
+ 1977, 1936, 1946, 1922, 1929, 1882, 1865, 3970, 3970, 1962,
+ 1980, 1971, 1981, 1964, 1970, 1983, 1984, 1987, 1989, 1991,
+ 1990, 1993, 1994, 1996, 1999, 2010, 2002, 1992, 2007, 2019,
+ 2032, 2020, 2024, 0, 0, 1827, 1991, 2016, 0, 2035,
+ 2025, 2036, 2030, 2025, 2025, 2030, 1799, 2050, 2041, 2053,
+ 2048, 2053, 2054, 2044, 2057, 0, 2063, 0, 2046, 0,
+ 1723, 0, 2063, 2067, 2056, 0, 2097, 2064, 0, 2068,
+ 2109, 0, 1645, 2073, 2071, 1639, 1486, 3970, 1596, 3970,
+ 2058, 3970, 1627, 3970, 1627, 1596, 1591, 1571, 1536, 1484,
+ 1471, 1451, 1434, 1431, 1425, 2096, 2086, 2124, 2111, 2107,
+
+ 2127, 2130, 2132, 2137, 2138, 2157, 2141, 2131, 2121, 2129,
+ 2126, 2138, 2146, 2145, 2152, 0, 2150, 0, 2147, 2161,
+ 2153, 2158, 2158, 2161, 0, 2162, 0, 2165, 2167, 0,
+ 2177, 0, 0, 0, 2177, 2165, 2170, 2210, 2173, 2185,
+ 2180, 2185, 2198, 2183, 2195, 2212, 2196, 2207, 1386, 1315,
+ 2208, 2253, 3970, 1299, 1284, 1277, 1223, 1161, 1155, 1142,
+ 1129, 1078, 1055, 1041, 1067, 1036, 1000, 965, 925, 893,
+ 881, 869, 861, 843, 802, 776, 2220, 2221, 2228, 2221,
+ 2229, 2239, 2238, 2228, 0, 2228, 2239, 2241, 2252, 0,
+ 2237, 2243, 2246, 2242, 2251, 2259, 2264, 2251, 3970, 2261,
+
+ 2263, 2264, 2280, 2264, 2261, 0, 2279, 2285, 2272, 3970,
+ 2279, 2280, 2296, 2279, 2281, 2283, 2301, 2286, 2332, 3970,
+ 2340, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970,
+ 3970, 3970, 735, 612, 608, 598, 441, 374, 261, 245,
+ 202, 152, 149, 137, 165, 2295, 2290, 2307, 2320, 2325,
+ 2315, 2323, 2331, 2325, 2297, 2319, 2335, 2324, 2327, 0,
+ 2333, 2329, 2329, 2333, 2346, 2350, 2354, 2346, 3970, 2340,
+ 0, 2340, 2345, 2359, 2362, 2357, 3970, 2371, 2354, 2356,
+ 2358, 2381, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970,
+ 3970, 3970, 3970, 3970, 128, 2379, 2377, 2371, 2386, 2376,
+
+ 2378, 2378, 0, 2395, 2396, 0, 2386, 2385, 2407, 2404,
+ 2402, 2406, 2414, 3970, 2403, 3970, 3970, 3970, 2411, 2418,
+ 2407, 3970, 3970, 2404, 2421, 2422, 2412, 2417, 2416, 3970,
+ 2419, 2420, 2417, 2424, 2435, 2437, 2441, 0, 0, 2453,
+ 0, 2436, 0, 2451, 3970, 3970, 2445, 3970, 3970, 2447,
+ 2458, 2447, 2462, 2465, 2463, 2468, 2474, 2468, 2462, 0,
+ 2464, 2461, 2460, 2480, 0, 2461, 3970, 3970, 3970, 2483,
+ 2484, 2472, 2480, 3970, 2492, 2482, 2494, 2487, 2495, 2501,
+ 2492, 0, 3970, 2496, 3970, 2509, 2501, 2503, 2503, 2504,
+ 2504, 0, 2519, 3970, 3970, 2521, 2513, 0, 0, 2528,
+
+ 2513, 2515, 0, 0, 2533, 2534, 0, 0, 3970, 2596,
+ 2613, 2630, 2647, 2664, 2681, 2698, 2715, 2732, 2749, 2766,
+ 2783, 2800, 2817, 2834, 2851, 2868, 2885, 2902, 2912, 2928,
+ 2937, 2953, 2970, 2981, 2997, 3014, 3031, 3048, 3058, 3074,
+ 3091, 3108, 3122, 3132, 3148, 3165, 3182, 3199, 3210, 2112,
+ 3222, 3239, 3249, 3265, 3282, 3289, 3295, 3311, 3321, 3337,
+ 3354, 3371, 2558, 3381, 3398, 3415, 3432, 3449, 3466, 3483,
+ 3500, 3517, 3527, 3543, 3557, 3567, 3583, 3600, 3617, 3634,
+ 3645, 3657, 3674, 3691, 3708, 3725, 3735, 3744, 3760, 3777,
+ 3794, 2572, 3804, 3821, 3838, 3855, 3872, 3880, 3885, 3901,
+
+ 3918, 3935, 3952
} ;
-static yyconst flex_int16_t yy_def[1201] =
+static yyconst flex_int16_t yy_def[1204] =
{ 0,
- 1106, 1106, 1107, 1107, 1108, 1109, 1110, 1110, 1111, 1111,
- 1112, 1112, 1106, 13, 1113, 1113, 1114, 1114, 1115, 1115,
- 1116, 1116, 1117, 1117, 1106, 25, 1118, 1118, 1119, 1119,
- 1120, 1120, 1121, 1121, 1106, 35, 1122, 1122, 1123, 1123,
- 1113, 1113, 1113, 1113, 1124, 1124, 1125, 1125, 1106, 1106,
- 1106, 1106, 1106, 1126, 1106, 1106, 1106, 1106, 1127, 1106,
- 1128, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1129, 1130, 1131, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1132, 1133, 1132, 1134, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1135,
-
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1136,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1130, 1106, 1106, 1130, 1137, 1106, 1106, 1106, 1138,
- 1106, 1130, 1106, 1139, 1106, 1139, 1106, 1140, 1106, 1141,
- 1141, 1141, 1106, 1106, 1106, 1106, 1142, 1106, 1142, 1106,
- 1106, 1106, 1106, 1106, 1106, 1143, 1106, 1143, 1106, 1144,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1145, 1106, 1106, 1106, 1146, 1146,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147,
- 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1106,
-
- 1106, 1148, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1149,
- 1106, 1149, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1150, 1106, 1106, 1106, 1106, 1106, 1151, 1152, 1106, 1106,
- 1106, 1106, 1153, 1151, 1154, 1155, 1106, 1156, 1106, 1106,
- 1106, 1106, 1157, 1106, 1106, 1106, 1106, 1106, 1158, 1158,
- 1159, 1106, 1106, 1160, 1106, 1106, 1106, 1161, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1162, 1106, 1106, 1106, 1163,
- 1164, 1164, 1165, 1166, 1167, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1168, 1169, 1106, 1106, 1106, 1106, 1106,
-
- 1106, 1106, 1170, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1171, 1106, 1172, 1106, 1172, 1106, 1173, 1173, 1173,
- 1106, 1106, 1174, 1106, 1174, 1106, 1106, 1106, 1106, 1175,
- 1106, 1106, 1106, 1106, 1106, 1176, 1106, 1106, 1106, 1106,
- 1177, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1106, 1106, 1106,
- 1106, 1106, 1180, 1106, 1106, 1106, 1106, 1181, 1182, 1183,
- 1106, 1106, 1106, 1106, 1106, 1106, 1184, 1181, 1185, 1186,
-
- 1106, 1186, 1106, 1187, 1106, 1187, 1106, 1106, 1188, 1188,
- 1188, 1106, 1188, 1188, 1106, 1189, 1106, 1106, 1190, 1106,
- 1106, 1106, 1106, 1191, 1106, 1192, 1193, 1106, 1106, 1194,
- 1106, 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1196, 1196, 1197, 1106, 1106, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1183, 1183, 1106,
-
- 1183, 1183, 1106, 1106, 1106, 1106, 1184, 1198, 1185, 1106,
- 1106, 1188, 414, 412, 412, 1188, 414, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1106, 1106, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1183,
-
- 1183, 1106, 1106, 1106, 1198, 1198, 1198, 1106, 511, 511,
- 1188, 414, 1188, 1188, 1188, 1106, 1106, 1106, 1106, 1106,
- 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1196, 1196, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106,
- 1106, 1106, 1199, 1106, 1106, 1198, 1106, 1198, 1106, 1188,
-
- 1188, 1188, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1196, 1196, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1106, 1178, 1106,
- 1106, 1106, 1106, 1199, 1106, 1199, 1106, 1106, 1106, 1106,
- 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
+ 1109, 1109, 1110, 1110, 1111, 1112, 1113, 1113, 1114, 1114,
+ 1115, 1115, 1109, 13, 1116, 1116, 1117, 1117, 1118, 1118,
+ 1119, 1119, 1120, 1120, 1109, 25, 1121, 1121, 1122, 1122,
+ 1123, 1123, 1124, 1124, 1109, 35, 1125, 1125, 1126, 1126,
+ 1116, 1116, 1116, 1116, 1127, 1127, 1128, 1128, 1109, 1109,
+ 1109, 1109, 1109, 1129, 1109, 1109, 1109, 1109, 1130, 1109,
+ 1131, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1132, 1133, 1134, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1135, 1136, 1135, 1137, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1138,
+
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1139,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1133, 1109, 1109, 1133, 1140, 1109, 1109, 1109, 1141,
+ 1109, 1133, 1109, 1142, 1109, 1142, 1109, 1143, 1109, 1144,
+ 1144, 1144, 1109, 1109, 1109, 1109, 1145, 1109, 1145, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1146, 1109, 1146, 1109, 1147,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1148, 1109, 1109, 1109, 1149, 1149,
+ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150,
+ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1109,
+
+ 1109, 1151, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1152,
+ 1109, 1152, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1153, 1109, 1109, 1109, 1109, 1109, 1154, 1155, 1109, 1109,
+ 1109, 1109, 1156, 1154, 1157, 1158, 1109, 1159, 1109, 1109,
+ 1109, 1109, 1160, 1109, 1109, 1109, 1109, 1109, 1161, 1161,
+ 1162, 1109, 1109, 1163, 1109, 1109, 1109, 1164, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1165, 1109, 1109, 1109, 1166,
+ 1167, 1167, 1168, 1169, 1170, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1171, 1172, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1173, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1174, 1109, 1175, 1109, 1175, 1109, 1176, 1176, 1176,
+ 1109, 1109, 1177, 1109, 1177, 1109, 1109, 1109, 1109, 1178,
+ 1109, 1109, 1109, 1109, 1109, 1179, 1109, 1109, 1109, 1109,
+ 1180, 1109, 1109, 1109, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1109, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1109, 1109,
+ 1109, 1109, 1109, 1183, 1109, 1109, 1109, 1109, 1184, 1185,
+ 1186, 1109, 1109, 1109, 1109, 1109, 1109, 1187, 1184, 1188,
+
+ 1189, 1109, 1189, 1109, 1190, 1109, 1190, 1109, 1109, 1191,
+ 1191, 1191, 1109, 1191, 1191, 1109, 1192, 1109, 1109, 1193,
+ 1109, 1109, 1109, 1109, 1194, 1109, 1195, 1196, 1109, 1109,
+ 1197, 1109, 1197, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1200, 1109, 1109,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1186,
+
+ 1186, 1109, 1186, 1186, 1109, 1109, 1109, 1109, 1187, 1201,
+ 1188, 1109, 1109, 1191, 415, 413, 413, 1191, 415, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1109,
+ 1109, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1109,
+
+ 1109, 1109, 1186, 1186, 1109, 1109, 1109, 1201, 1201, 1201,
+ 1109, 513, 513, 1191, 415, 1191, 1191, 1191, 1109, 1109,
+ 1109, 1109, 1109, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1109, 1109, 1109, 1109, 1109, 1202, 1109, 1109, 1201, 1109,
+
+ 1201, 1109, 1191, 1191, 1191, 1109, 1109, 1109, 1109, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1199, 1199, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1181, 1181, 1181,
+ 1109, 1181, 1109, 1109, 1109, 1109, 1202, 1109, 1202, 1109,
+ 1109, 1109, 1109, 1109, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
- 1195, 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1200, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
- 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
-
- 1106, 1106, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1200, 1106, 1200, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1195, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
-
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178,
- 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106,
- 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
- 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178,
-
- 1178, 1178, 1178, 1178, 1178, 0, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1203, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1181, 1181, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1203, 1109,
+ 1203, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1198, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181, 1181,
+
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1109, 1109, 1181, 1181, 1181, 1181, 1181,
+
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 0, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1109
} ;
-static yyconst flex_uint16_t yy_nxt[4060] =
+static yyconst flex_uint16_t yy_nxt[4055] =
{ 0,
50, 51, 52, 50, 53, 50, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
@@ -849,22 +851,22 @@ static yyconst flex_uint16_t yy_nxt[4060] =
61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
61, 61, 61, 61, 61, 50, 50, 50, 63, 64,
291, 65, 66, 83, 67, 84, 89, 68, 69, 70,
- 70, 89, 1027, 70, 71, 86, 83, 992, 84, 50,
- 72, 991, 87, 70, 93, 309, 94, 101, 102, 291,
+ 70, 89, 1030, 70, 71, 86, 83, 995, 84, 50,
+ 72, 994, 87, 70, 93, 309, 94, 101, 102, 291,
- 103, 101, 102, 990, 103, 113, 989, 114, 119, 315,
+ 103, 101, 102, 993, 103, 113, 992, 114, 119, 315,
120, 121, 148, 119, 149, 120, 121, 115, 50, 73,
74, 116, 116, 116, 116, 148, 90, 149, 91, 228,
229, 90, 230, 91, 309, 93, 95, 94, 276, 124,
125, 99, 126, 96, 97, 283, 98, 284, 75, 70,
- 70, 76, 77, 316, 78, 66, 988, 67, 79, 122,
+ 70, 76, 77, 316, 78, 66, 991, 67, 79, 122,
68, 69, 70, 70, 122, 95, 70, 71, 124, 125,
290, 126, 96, 80, 260, 261, 70, 95, 128, 201,
- 129, 221, 202, 222, 96, 97, 117, 98, 410, 411,
- 223, 130, 320, 415, 415, 203, 203, 203, 203, 987,
+ 129, 221, 202, 222, 96, 97, 117, 98, 411, 412,
+ 223, 130, 320, 416, 416, 203, 203, 203, 203, 990,
290, 201, 73, 74, 202, 81, 95, 221, 324, 222,
- 325, 277, 225, 96, 226, 986, 223, 203, 203, 203,
+ 325, 277, 225, 96, 226, 989, 223, 203, 203, 203,
203, 320, 227, 232, 233, 324, 234, 325, 131, 132,
133, 75, 70, 70, 104, 105, 106, 104, 107, 104,
104, 104, 104, 104, 104, 104, 108, 104, 108, 104,
@@ -876,14 +878,14 @@ static yyconst flex_uint16_t yy_nxt[4060] =
110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
110, 110, 110, 110, 110, 104, 104, 104, 113, 128,
- 114, 129, 291, 151, 235, 152, 263, 263, 985, 151,
+ 114, 129, 291, 151, 235, 152, 263, 263, 988, 151,
115, 152, 130, 153, 116, 116, 116, 116, 157, 153,
- 158, 159, 157, 366, 158, 159, 225, 333, 226, 254,
- 254, 291, 255, 401, 334, 402, 227, 265, 264, 266,
+ 158, 159, 157, 367, 158, 159, 225, 333, 226, 254,
+ 254, 291, 255, 402, 334, 403, 227, 265, 264, 266,
319, 236, 267, 267, 267, 267, 290, 343, 344, 131,
- 132, 133, 366, 154, 405, 155, 406, 298, 299, 154,
- 300, 155, 305, 305, 305, 305, 431, 264, 432, 160,
- 319, 236, 324, 160, 325, 984, 290, 343, 344, 117,
+ 132, 133, 367, 154, 406, 155, 407, 298, 299, 154,
+ 300, 155, 305, 305, 305, 305, 432, 264, 433, 160,
+ 319, 236, 324, 160, 325, 987, 290, 343, 344, 117,
134, 134, 135, 134, 136, 137, 134, 134, 134, 138,
134, 134, 134, 134, 134, 134, 134, 139, 134, 134,
@@ -896,13 +898,13 @@ static yyconst flex_uint16_t yy_nxt[4060] =
142, 145, 134, 146, 162, 163, 205, 164, 206, 162,
163, 165, 164, 353, 211, 211, 165, 333, 216, 351,
- 166, 212, 212, 358, 334, 166, 379, 379, 379, 379,
- 324, 217, 325, 352, 213, 213, 346, 359, 347, 360,
- 315, 218, 348, 353, 214, 214, 219, 167, 371, 215,
- 215, 376, 167, 358, 168, 169, 207, 170, 208, 168,
- 169, 217, 170, 352, 213, 213, 346, 359, 347, 360,
- 218, 348, 983, 214, 214, 219, 167, 371, 215, 215,
- 376, 167, 982, 168, 316, 209, 981, 210, 168, 171,
+ 166, 212, 212, 358, 334, 166, 380, 380, 380, 380,
+ 324, 217, 325, 352, 213, 213, 346, 359, 347, 371,
+ 315, 218, 348, 353, 214, 214, 219, 167, 372, 215,
+ 215, 377, 167, 358, 168, 169, 207, 170, 208, 168,
+ 169, 217, 170, 352, 213, 213, 346, 359, 347, 371,
+ 218, 348, 986, 214, 214, 219, 167, 372, 215, 215,
+ 377, 167, 985, 168, 316, 209, 984, 210, 168, 171,
172, 173, 171, 174, 175, 171, 171, 171, 171, 171,
171, 171, 171, 171, 171, 171, 171, 171, 176, 177,
171, 171, 171, 178, 171, 171, 179, 180, 181, 182,
@@ -912,373 +914,373 @@ static yyconst flex_uint16_t yy_nxt[4060] =
199, 171, 171, 171, 171, 171, 179, 180, 181, 182,
183, 184, 185, 186, 187, 185, 185, 188, 189, 190,
191, 192, 193, 194, 195, 196, 197, 198, 185, 199,
- 171, 171, 171, 205, 216, 206, 249, 250, 370, 251,
- 263, 263, 452, 252, 354, 269, 270, 217, 271, 263,
- 263, 453, 272, 456, 372, 263, 263, 218, 349, 356,
- 364, 273, 219, 410, 411, 355, 350, 274, 370, 980,
- 365, 452, 264, 373, 354, 374, 375, 217, 941, 357,
-
- 453, 264, 456, 207, 372, 208, 218, 264, 349, 356,
- 364, 219, 387, 361, 355, 398, 350, 362, 235, 275,
- 365, 264, 408, 373, 940, 374, 375, 425, 357, 939,
- 264, 428, 209, 429, 210, 238, 264, 253, 228, 229,
- 367, 230, 387, 361, 412, 398, 253, 362, 232, 233,
- 368, 234, 408, 369, 239, 236, 240, 425, 240, 249,
- 250, 428, 251, 429, 240, 938, 252, 240, 241, 242,
- 367, 240, 243, 244, 410, 411, 937, 245, 298, 299,
- 368, 300, 369, 936, 239, 236, 240, 935, 240, 445,
- 446, 934, 390, 391, 240, 392, 933, 240, 241, 242,
-
- 240, 243, 244, 932, 390, 391, 245, 392, 246, 393,
- 393, 393, 393, 390, 391, 931, 392, 413, 413, 445,
- 446, 393, 393, 393, 393, 390, 391, 458, 392, 448,
- 393, 393, 393, 393, 461, 394, 305, 305, 305, 305,
- 253, 449, 393, 393, 393, 393, 450, 930, 462, 414,
- 269, 270, 454, 271, 395, 464, 458, 272, 459, 448,
- 451, 463, 460, 461, 394, 396, 273, 465, 929, 455,
- 466, 449, 274, 468, 467, 469, 450, 462, 414, 470,
- 471, 472, 454, 473, 395, 464, 474, 476, 459, 451,
- 463, 480, 460, 482, 481, 396, 475, 465, 455, 485,
-
- 466, 486, 468, 467, 275, 469, 262, 262, 470, 471,
- 472, 401, 473, 402, 410, 411, 474, 476, 401, 928,
- 402, 480, 927, 482, 481, 475, 926, 497, 485, 504,
- 486, 253, 433, 434, 435, 436, 437, 437, 438, 437,
- 437, 437, 437, 439, 437, 437, 437, 440, 437, 437,
- 441, 437, 442, 437, 437, 443, 437, 497, 504, 405,
- 444, 406, 433, 434, 435, 436, 437, 437, 438, 437,
- 437, 437, 437, 439, 437, 437, 437, 440, 437, 441,
- 437, 442, 437, 437, 443, 437, 477, 483, 499, 500,
- 478, 501, 505, 506, 484, 479, 379, 379, 379, 379,
-
- 508, 405, 431, 406, 432, 502, 502, 502, 502, 510,
- 511, 925, 520, 512, 512, 924, 477, 483, 548, 923,
- 478, 505, 922, 506, 484, 479, 487, 521, 488, 522,
- 508, 489, 490, 503, 391, 921, 392, 491, 492, 510,
- 410, 411, 520, 493, 494, 513, 523, 548, 495, 409,
- 393, 393, 393, 393, 920, 496, 487, 521, 488, 522,
- 919, 489, 490, 519, 519, 519, 519, 491, 492, 431,
- 914, 432, 493, 494, 513, 913, 523, 495, 409, 409,
- 861, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
-
- 409, 409, 409, 409, 409, 514, 514, 514, 514, 514,
- 514, 514, 514, 514, 514, 514, 514, 514, 514, 514,
- 514, 514, 514, 514, 514, 514, 514, 514, 514, 514,
- 410, 411, 860, 515, 409, 514, 514, 514, 514, 514,
- 514, 514, 514, 514, 514, 514, 514, 514, 514, 514,
- 514, 514, 514, 514, 514, 514, 514, 514, 514, 409,
- 409, 409, 516, 516, 546, 547, 524, 524, 524, 524,
- 524, 524, 524, 524, 549, 558, 550, 599, 859, 600,
- 524, 524, 858, 525, 526, 528, 533, 527, 551, 535,
- 530, 857, 529, 534, 546, 547, 410, 411, 517, 517,
-
- 517, 517, 531, 549, 558, 532, 550, 517, 517, 517,
- 517, 517, 517, 525, 526, 528, 533, 527, 551, 535,
- 530, 529, 552, 534, 560, 553, 554, 555, 556, 856,
- 557, 531, 410, 411, 532, 559, 855, 517, 517, 517,
- 517, 517, 517, 1106, 561, 562, 563, 565, 536, 537,
- 538, 539, 552, 560, 540, 553, 554, 555, 556, 541,
- 557, 564, 567, 542, 568, 559, 543, 854, 544, 569,
- 853, 545, 570, 561, 571, 562, 563, 565, 536, 537,
- 538, 539, 572, 573, 540, 574, 575, 576, 577, 541,
- 564, 578, 567, 542, 568, 543, 581, 544, 582, 569,
-
- 545, 579, 570, 583, 571, 584, 585, 580, 586, 587,
- 606, 588, 572, 573, 589, 574, 575, 576, 577, 590,
- 591, 578, 592, 593, 852, 594, 581, 582, 598, 851,
- 595, 579, 583, 596, 597, 584, 585, 580, 586, 587,
- 588, 500, 602, 600, 589, 503, 391, 603, 392, 590,
- 591, 619, 592, 593, 594, 604, 499, 500, 598, 501,
- 595, 608, 596, 597, 601, 500, 599, 501, 600, 410,
- 411, 259, 602, 502, 502, 502, 502, 603, 410, 411,
- 619, 502, 502, 502, 502, 604, 601, 500, 850, 501,
- 607, 608, 409, 409, 848, 409, 409, 409, 409, 409,
-
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 409, 409, 409, 409, 409, 409, 609,
- 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
- 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
- 609, 609, 609, 609, 410, 411, 613, 610, 409, 609,
- 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
- 609, 609, 609, 609, 609, 609, 609, 609, 609, 609,
- 609, 609, 609, 409, 409, 409, 611, 611, 616, 409,
- 524, 524, 614, 614, 524, 524, 524, 845, 617, 618,
- 623, 828, 696, 697, 524, 698, 524, 625, 621, 626,
-
- 622, 775, 629, 776, 817, 624, 524, 700, 616, 628,
- 410, 411, 612, 612, 612, 612, 410, 411, 617, 618,
- 623, 612, 612, 612, 612, 612, 612, 625, 621, 626,
- 622, 524, 629, 627, 624, 806, 524, 524, 524, 628,
- 409, 524, 630, 781, 632, 644, 643, 524, 524, 636,
- 780, 612, 612, 612, 612, 612, 612, 615, 615, 615,
- 615, 631, 627, 633, 634, 524, 615, 615, 615, 615,
- 615, 615, 630, 524, 632, 644, 643, 779, 646, 636,
- 524, 645, 647, 635, 524, 649, 524, 524, 650, 651,
- 652, 631, 653, 633, 634, 637, 615, 615, 615, 615,
-
- 615, 615, 639, 638, 697, 640, 641, 642, 646, 654,
- 645, 647, 656, 635, 649, 655, 658, 650, 657, 651,
- 652, 659, 606, 660, 637, 661, 662, 692, 664, 665,
- 669, 639, 667, 638, 640, 668, 641, 642, 670, 654,
- 671, 672, 656, 673, 675, 655, 658, 657, 674, 676,
- 677, 659, 660, 678, 661, 679, 662, 664, 680, 665,
- 669, 667, 681, 683, 668, 682, 684, 670, 685, 687,
- 671, 672, 686, 673, 675, 688, 690, 674, 676, 677,
- 693, 689, 691, 678, 694, 679, 695, 703, 680, 701,
- 701, 705, 681, 683, 682, 684, 524, 524, 685, 687,
-
- 706, 686, 607, 768, 524, 688, 690, 410, 411, 693,
- 689, 524, 691, 524, 694, 695, 708, 703, 524, 710,
- 705, 707, 524, 410, 411, 702, 702, 702, 702, 709,
- 706, 711, 524, 712, 702, 702, 702, 702, 702, 702,
- 714, 713, 524, 524, 524, 524, 708, 764, 710, 715,
- 707, 716, 717, 524, 524, 775, 718, 776, 721, 709,
- 524, 711, 524, 712, 702, 702, 702, 702, 702, 702,
- 714, 713, 719, 723, 720, 524, 524, 524, 524, 715,
- 724, 716, 717, 524, 722, 524, 718, 524, 721, 726,
- 728, 752, 731, 732, 734, 727, 730, 748, 733, 736,
-
- 741, 738, 719, 723, 720, 725, 735, 729, 743, 740,
- 724, 739, 742, 722, 744, 745, 746, 747, 749, 726,
- 728, 731, 750, 732, 734, 727, 730, 733, 751, 736,
- 741, 738, 753, 754, 725, 755, 735, 729, 740, 756,
- 739, 757, 742, 744, 758, 745, 746, 747, 749, 759,
- 761, 750, 760, 762, 763, 765, 766, 767, 751, 769,
- 770, 753, 754, 771, 755, 772, 773, 777, 778, 756,
- 757, 696, 697, 758, 698, 410, 411, 409, 524, 759,
- 761, 760, 762, 524, 763, 765, 766, 767, 524, 769,
- 770, 524, 771, 410, 411, 772, 773, 777, 778, 524,
-
- 782, 524, 786, 784, 783, 524, 524, 785, 524, 524,
- 524, 524, 524, 787, 524, 791, 524, 524, 524, 363,
- 363, 807, 793, 737, 795, 802, 524, 788, 796, 524,
- 782, 786, 789, 784, 783, 790, 792, 785, 524, 797,
- 524, 794, 798, 787, 524, 791, 799, 800, 524, 804,
- 524, 807, 793, 808, 795, 802, 788, 803, 796, 805,
- 811, 789, 801, 809, 790, 792, 812, 813, 797, 814,
- 794, 815, 798, 810, 704, 816, 799, 800, 818, 804,
- 819, 820, 808, 821, 822, 823, 825, 803, 824, 805,
- 811, 826, 801, 809, 827, 829, 812, 813, 814, 830,
-
- 815, 831, 838, 810, 816, 839, 846, 775, 818, 776,
- 819, 820, 849, 821, 822, 823, 825, 824, 847, 524,
- 917, 826, 918, 827, 864, 829, 832, 833, 524, 830,
- 831, 834, 838, 524, 835, 839, 846, 836, 840, 841,
- 524, 849, 837, 842, 524, 878, 843, 524, 847, 844,
- 863, 524, 862, 524, 864, 865, 832, 833, 524, 868,
- 866, 834, 524, 524, 835, 524, 875, 836, 840, 841,
- 876, 837, 872, 842, 878, 867, 843, 870, 524, 844,
- 863, 862, 871, 880, 869, 865, 882, 873, 877, 868,
- 866, 874, 879, 881, 409, 883, 875, 884, 699, 885,
-
- 876, 886, 872, 887, 867, 888, 870, 889, 890, 891,
- 892, 871, 880, 869, 894, 882, 873, 895, 877, 896,
- 902, 874, 879, 881, 883, 901, 893, 884, 885, 903,
- 904, 886, 887, 905, 907, 888, 906, 889, 890, 891,
- 892, 897, 692, 911, 894, 898, 895, 912, 899, 896,
- 902, 915, 943, 908, 901, 893, 909, 524, 900, 903,
- 904, 944, 946, 905, 907, 906, 910, 945, 947, 948,
- 950, 897, 911, 949, 951, 898, 912, 952, 899, 953,
- 915, 942, 943, 908, 954, 955, 909, 900, 956, 666,
- 957, 944, 946, 958, 959, 910, 945, 960, 947, 948,
-
- 950, 961, 949, 962, 951, 963, 964, 952, 965, 953,
- 942, 966, 967, 954, 968, 955, 969, 971, 956, 957,
- 970, 972, 973, 958, 959, 974, 975, 960, 976, 979,
- 961, 977, 917, 962, 918, 963, 964, 917, 965, 918,
- 966, 967, 993, 994, 968, 995, 969, 971, 978, 970,
- 996, 972, 973, 997, 974, 975, 998, 976, 979, 999,
- 1000, 977, 1001, 663, 1002, 1003, 1004, 648, 1005, 1006,
- 1007, 993, 1008, 994, 1009, 995, 1010, 978, 1011, 1012,
- 996, 1013, 1014, 997, 1015, 1016, 998, 1017, 1018, 999,
- 1000, 1019, 1001, 1002, 1003, 1020, 1004, 1005, 1021, 1006,
-
- 1007, 1008, 1022, 1009, 1025, 1010, 1023, 1026, 1011, 1012,
- 1024, 1013, 1014, 1015, 1016, 1028, 1017, 1029, 1018, 1030,
- 1031, 1019, 1032, 1033, 1034, 1020, 1035, 1036, 1021, 1037,
- 1038, 1022, 1039, 1025, 1040, 1023, 1041, 1026, 1042, 1024,
- 1043, 1044, 1045, 1046, 1047, 1028, 1048, 1029, 1030, 1049,
- 1031, 1032, 1033, 1034, 1050, 1057, 1035, 1036, 1037, 1038,
- 1051, 1052, 1039, 1053, 1040, 1054, 1041, 1055, 1042, 1056,
- 1043, 1044, 1045, 1046, 1047, 1048, 1058, 1059, 1060, 1049,
- 1061, 620, 1062, 1063, 1050, 1057, 1064, 1065, 1066, 1051,
- 1052, 1067, 1053, 1068, 1054, 1069, 1055, 1070, 1056, 1071,
-
- 1072, 1073, 1074, 1075, 409, 1076, 1058, 1059, 1060, 1077,
- 1061, 1062, 1078, 1063, 1079, 1080, 1064, 1065, 1066, 1081,
- 1067, 1082, 1083, 1068, 1084, 1069, 1085, 1070, 1086, 1071,
- 1072, 1073, 1074, 1075, 1076, 1087, 1088, 1089, 1077, 1090,
- 1091, 1092, 1078, 1079, 1093, 1080, 1094, 566, 1095, 1081,
- 1082, 1096, 1083, 1097, 1084, 1098, 1085, 1099, 1086, 1100,
- 1101, 524, 1102, 1103, 1104, 1087, 1088, 1089, 1090, 1091,
- 1105, 1092, 416, 1093, 416, 420, 1094, 1095, 391, 518,
- 1096, 518, 1097, 378, 457, 1098, 342, 1099, 1100, 339,
- 1101, 1102, 1103, 336, 1104, 301, 299, 301, 296, 286,
-
- 1105, 62, 62, 62, 62, 62, 62, 62, 62, 62,
- 62, 62, 62, 62, 62, 62, 62, 62, 82, 82,
+ 171, 171, 171, 205, 216, 206, 249, 250, 373, 251,
+ 263, 263, 453, 252, 354, 269, 270, 217, 271, 263,
+ 263, 454, 272, 457, 374, 263, 263, 218, 349, 356,
+ 365, 273, 219, 411, 412, 355, 350, 274, 373, 983,
+ 366, 453, 264, 375, 354, 376, 235, 217, 944, 357,
+
+ 454, 264, 457, 207, 374, 208, 218, 264, 349, 356,
+ 365, 219, 388, 360, 355, 399, 350, 361, 362, 275,
+ 366, 264, 363, 375, 943, 376, 228, 229, 357, 230,
+ 264, 409, 209, 236, 210, 238, 264, 253, 232, 233,
+ 368, 234, 388, 360, 413, 399, 253, 361, 362, 426,
+ 369, 429, 363, 370, 239, 430, 240, 446, 240, 249,
+ 250, 409, 251, 236, 240, 942, 252, 240, 241, 242,
+ 368, 240, 243, 244, 411, 412, 402, 245, 403, 426,
+ 369, 429, 370, 941, 239, 430, 240, 446, 240, 447,
+ 449, 940, 391, 392, 240, 393, 616, 240, 241, 242,
+
+ 240, 243, 244, 939, 391, 392, 245, 393, 246, 394,
+ 394, 394, 394, 391, 392, 938, 393, 414, 414, 447,
+ 449, 394, 394, 394, 394, 391, 392, 459, 393, 410,
+ 394, 394, 394, 394, 609, 395, 298, 299, 450, 300,
+ 253, 462, 394, 394, 394, 394, 455, 937, 463, 415,
+ 269, 270, 464, 271, 396, 451, 459, 272, 305, 305,
+ 305, 305, 469, 456, 395, 397, 273, 460, 450, 452,
+ 462, 461, 274, 465, 703, 466, 455, 463, 415, 467,
+ 470, 464, 472, 468, 396, 451, 471, 936, 473, 474,
+ 475, 469, 456, 478, 484, 397, 482, 460, 452, 483,
+
+ 402, 461, 403, 465, 275, 466, 406, 410, 407, 467,
+ 470, 472, 468, 406, 610, 407, 471, 473, 474, 475,
+ 262, 262, 935, 478, 484, 432, 482, 433, 487, 483,
+ 488, 253, 434, 435, 436, 437, 438, 438, 439, 438,
+ 438, 438, 438, 440, 438, 438, 438, 441, 438, 438,
+ 442, 438, 443, 438, 438, 444, 438, 487, 934, 488,
+ 445, 499, 434, 435, 436, 437, 438, 438, 439, 438,
+ 438, 438, 438, 440, 438, 438, 438, 441, 438, 442,
+ 438, 443, 438, 438, 444, 438, 476, 485, 479, 933,
+ 506, 499, 480, 508, 486, 932, 477, 481, 380, 380,
+
+ 380, 380, 507, 521, 521, 521, 521, 510, 432, 931,
+ 433, 512, 513, 602, 522, 603, 476, 485, 479, 506,
+ 411, 412, 480, 508, 486, 477, 523, 481, 489, 524,
+ 490, 507, 930, 491, 492, 501, 502, 510, 503, 493,
+ 494, 512, 411, 412, 522, 495, 496, 525, 505, 392,
+ 497, 393, 504, 504, 504, 504, 523, 498, 489, 524,
+ 490, 514, 514, 491, 492, 394, 394, 394, 394, 493,
+ 494, 518, 518, 526, 495, 496, 526, 525, 526, 497,
+ 526, 548, 549, 929, 550, 551, 552, 553, 537, 527,
+ 554, 530, 502, 515, 603, 532, 928, 410, 505, 392,
+
+ 602, 393, 603, 411, 412, 411, 412, 604, 502, 927,
+ 503, 548, 549, 550, 551, 926, 552, 553, 537, 527,
+ 554, 530, 515, 410, 410, 532, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 411, 412, 925, 517, 410,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+
+ 516, 516, 516, 516, 410, 410, 410, 519, 519, 519,
+ 519, 526, 526, 526, 526, 555, 519, 519, 519, 519,
+ 519, 519, 556, 526, 526, 557, 558, 528, 559, 561,
+ 529, 924, 560, 562, 563, 531, 533, 564, 923, 534,
+ 565, 411, 412, 535, 536, 555, 519, 519, 519, 519,
+ 519, 519, 556, 922, 567, 557, 558, 528, 559, 561,
+ 529, 560, 562, 563, 531, 533, 569, 564, 534, 570,
+ 565, 917, 566, 535, 536, 1109, 571, 572, 573, 574,
+ 538, 539, 540, 541, 567, 575, 542, 576, 577, 578,
+ 579, 543, 580, 581, 609, 544, 569, 585, 545, 570,
+
+ 546, 566, 586, 547, 584, 587, 571, 572, 573, 574,
+ 538, 539, 540, 541, 588, 575, 542, 576, 577, 578,
+ 579, 543, 580, 581, 582, 544, 585, 545, 589, 546,
+ 583, 586, 547, 590, 584, 587, 591, 592, 593, 594,
+ 595, 596, 916, 597, 588, 598, 601, 864, 599, 600,
+ 778, 605, 779, 863, 582, 606, 862, 607, 589, 611,
+ 583, 619, 620, 590, 621, 591, 622, 592, 593, 594,
+ 595, 596, 597, 861, 610, 598, 601, 599, 600, 501,
+ 502, 605, 503, 604, 502, 606, 503, 607, 778, 611,
+ 779, 619, 620, 860, 621, 622, 504, 504, 504, 504,
+
+ 504, 504, 504, 504, 410, 410, 859, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 410, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 612, 411, 412, 858, 613,
+ 410, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 410, 410, 410, 614, 614,
+ 526, 526, 526, 857, 617, 617, 526, 526, 778, 526,
+
+ 779, 626, 629, 526, 526, 526, 411, 412, 259, 624,
+ 628, 625, 526, 856, 627, 526, 631, 635, 855, 630,
+ 633, 636, 411, 412, 615, 615, 615, 615, 411, 412,
+ 632, 626, 629, 615, 615, 615, 615, 615, 615, 624,
+ 628, 625, 526, 627, 526, 526, 631, 635, 630, 854,
+ 633, 636, 853, 526, 647, 526, 526, 639, 526, 648,
+ 632, 637, 634, 615, 615, 615, 615, 615, 615, 618,
+ 618, 618, 618, 638, 526, 640, 644, 641, 618, 618,
+ 618, 618, 618, 618, 647, 526, 526, 639, 648, 649,
+ 654, 637, 634, 650, 646, 851, 642, 652, 653, 643,
+
+ 655, 848, 659, 638, 640, 645, 644, 641, 618, 618,
+ 618, 618, 618, 618, 656, 660, 661, 662, 665, 649,
+ 654, 663, 650, 664, 646, 642, 652, 653, 643, 667,
+ 655, 657, 659, 668, 672, 645, 670, 658, 831, 671,
+ 673, 674, 675, 676, 660, 677, 661, 662, 665, 678,
+ 663, 679, 664, 680, 681, 682, 683, 684, 667, 685,
+ 686, 657, 687, 668, 672, 670, 688, 658, 671, 673,
+ 689, 674, 675, 676, 677, 690, 693, 691, 694, 678,
+ 679, 696, 680, 692, 681, 682, 683, 684, 685, 697,
+ 686, 687, 698, 706, 699, 700, 688, 701, 708, 689,
+
+ 704, 704, 709, 526, 526, 690, 693, 691, 694, 526,
+ 696, 526, 692, 526, 820, 526, 526, 526, 526, 697,
+ 526, 698, 712, 706, 714, 711, 716, 708, 710, 721,
+ 526, 713, 709, 717, 411, 412, 705, 705, 705, 705,
+ 715, 726, 809, 728, 526, 705, 705, 705, 705, 705,
+ 705, 718, 712, 526, 714, 711, 716, 710, 526, 721,
+ 713, 526, 720, 717, 526, 719, 724, 526, 526, 526,
+ 715, 726, 728, 727, 526, 705, 705, 705, 705, 705,
+ 705, 718, 722, 526, 723, 526, 734, 729, 526, 732,
+ 784, 725, 720, 731, 735, 719, 724, 736, 733, 737,
+
+ 739, 730, 744, 727, 743, 745, 741, 783, 747, 748,
+ 749, 738, 722, 750, 723, 734, 742, 729, 752, 732,
+ 725, 753, 754, 731, 735, 756, 736, 757, 733, 737,
+ 739, 730, 744, 743, 758, 745, 741, 747, 759, 748,
+ 749, 738, 760, 750, 761, 742, 762, 764, 752, 763,
+ 753, 765, 754, 766, 756, 768, 757, 769, 770, 772,
+ 773, 782, 774, 758, 775, 776, 780, 781, 759, 699,
+ 700, 760, 701, 761, 411, 412, 762, 764, 763, 700,
+ 765, 411, 412, 766, 526, 768, 526, 769, 770, 772,
+ 773, 774, 526, 526, 775, 776, 780, 781, 411, 412,
+
+ 410, 785, 526, 526, 790, 526, 526, 786, 787, 526,
+ 789, 526, 526, 526, 526, 526, 526, 695, 526, 788,
+ 794, 526, 810, 803, 526, 796, 771, 791, 798, 526,
+ 792, 785, 526, 793, 790, 795, 799, 786, 787, 789,
+ 797, 526, 526, 800, 802, 801, 526, 804, 805, 788,
+ 794, 807, 810, 803, 526, 796, 791, 808, 798, 792,
+ 811, 806, 793, 812, 795, 814, 799, 815, 816, 797,
+ 817, 818, 800, 813, 802, 801, 819, 804, 805, 821,
+ 822, 807, 823, 824, 825, 826, 828, 808, 827, 811,
+ 829, 806, 830, 812, 832, 814, 833, 815, 816, 817,
+
+ 818, 834, 852, 813, 841, 819, 842, 849, 526, 821,
+ 822, 850, 823, 824, 825, 826, 828, 827, 526, 767,
+ 829, 830, 364, 364, 832, 866, 833, 835, 836, 526,
+ 834, 852, 837, 526, 841, 838, 842, 849, 839, 843,
+ 844, 850, 865, 840, 845, 869, 526, 846, 868, 526,
+ 847, 867, 526, 526, 526, 866, 878, 835, 836, 526,
+ 526, 879, 837, 526, 871, 838, 877, 880, 839, 843,
+ 844, 865, 840, 870, 845, 869, 872, 846, 868, 526,
+ 847, 867, 881, 873, 874, 876, 878, 882, 875, 755,
+ 883, 879, 884, 887, 871, 885, 877, 880, 886, 888,
+
+ 889, 891, 870, 890, 892, 872, 893, 894, 897, 895,
+ 899, 881, 873, 874, 876, 898, 905, 882, 875, 883,
+ 904, 906, 884, 887, 885, 896, 907, 886, 888, 908,
+ 889, 891, 890, 909, 892, 910, 893, 894, 897, 895,
+ 899, 900, 526, 914, 898, 901, 905, 911, 902, 904,
+ 912, 906, 915, 918, 896, 920, 907, 921, 903, 908,
+ 913, 946, 909, 947, 949, 910, 945, 948, 950, 951,
+ 953, 900, 914, 952, 954, 901, 955, 911, 902, 956,
+ 912, 915, 918, 957, 958, 959, 961, 903, 960, 913,
+ 962, 946, 963, 947, 949, 945, 948, 964, 950, 951,
+
+ 953, 965, 952, 966, 954, 967, 955, 968, 971, 956,
+ 969, 970, 957, 972, 958, 959, 961, 960, 973, 974,
+ 962, 975, 963, 976, 751, 977, 964, 978, 979, 980,
+ 997, 965, 982, 966, 920, 967, 921, 968, 971, 969,
+ 970, 996, 920, 972, 921, 1005, 981, 973, 998, 974,
+ 999, 975, 1000, 976, 977, 1001, 978, 979, 1002, 980,
+ 997, 982, 1003, 1004, 746, 1006, 1007, 740, 1008, 1009,
+ 996, 1010, 707, 1011, 1005, 981, 1012, 1013, 998, 1014,
+ 999, 1015, 1000, 1016, 1017, 1001, 1018, 1019, 1002, 1020,
+ 1021, 1022, 1003, 1004, 1006, 1023, 1007, 1008, 1024, 1009,
+
+ 1025, 1010, 1011, 1026, 1028, 1012, 1013, 1027, 1029, 1014,
+ 1031, 1015, 1032, 1016, 1017, 1018, 1019, 1033, 1020, 1034,
+ 1021, 1022, 1035, 1036, 1037, 1023, 1038, 1039, 1024, 1025,
+ 1040, 1041, 1026, 1028, 1042, 1043, 1027, 1044, 1029, 1045,
+ 1031, 1046, 1032, 1047, 1048, 1049, 1033, 1050, 1052, 1034,
+ 1051, 1035, 1036, 1037, 1053, 1060, 1038, 1039, 1054, 1040,
+ 1041, 1055, 1056, 1057, 1042, 1043, 1058, 1044, 1059, 1045,
+ 1061, 1046, 1062, 1047, 1048, 1049, 1063, 1050, 1052, 1051,
+ 1064, 410, 1065, 1066, 1053, 1060, 1067, 1054, 1068, 1069,
+ 1055, 1056, 1057, 1070, 1071, 1058, 1072, 1059, 1073, 1074,
+
+ 1061, 1075, 1062, 1076, 1077, 1078, 1063, 1079, 1080, 1081,
+ 1064, 1065, 1082, 1066, 1083, 1084, 1067, 1085, 1068, 1069,
+ 1086, 1087, 1070, 1088, 1071, 1089, 1072, 1090, 1073, 1074,
+ 1091, 1075, 1092, 1076, 1077, 1078, 1079, 1080, 1093, 1081,
+ 1094, 1082, 1095, 1097, 1083, 1084, 1085, 1096, 1098, 1099,
+ 1086, 1087, 1100, 1088, 1101, 1089, 1102, 1090, 1103, 1104,
+ 1091, 1105, 1092, 1106, 1107, 1108, 417, 1093, 417, 1094,
+ 702, 695, 1095, 1097, 669, 666, 1096, 1098, 1099, 651,
+ 520, 1100, 520, 623, 1101, 410, 1102, 1103, 568, 1104,
+ 1105, 526, 1106, 421, 1107, 1108, 62, 62, 62, 62,
+
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 82, 82, 82, 82, 82, 82, 82,
82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
- 82, 82, 82, 82, 82, 85, 85, 85, 85, 85,
85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
- 85, 85, 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88, 88, 92,
+ 85, 85, 85, 85, 85, 85, 85, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 92, 92, 92, 92, 92, 92,
92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
- 92, 92, 92, 92, 92, 92, 100, 100, 100, 100,
- 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
+ 92, 100, 100, 100, 100, 100, 100, 100, 100, 100,
+ 100, 100, 100, 100, 100, 100, 100, 100, 50, 50,
- 100, 100, 100, 50, 50, 50, 50, 50, 50, 50,
50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 112, 112, 112, 112, 112,
112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
- 112, 112, 112, 112, 112, 112, 112, 118, 118, 118,
- 118, 118, 118, 118, 118, 118, 118, 118, 118, 118,
- 118, 118, 118, 118, 123, 123, 123, 123, 123, 123,
+ 112, 112, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 123,
123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
- 123, 127, 127, 127, 127, 127, 127, 127, 127, 127,
- 127, 127, 127, 127, 127, 127, 127, 127, 147, 147,
+ 123, 123, 123, 123, 123, 123, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 147, 147, 147, 147, 147, 147, 147,
147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
- 147, 147, 147, 147, 147, 150, 150, 150, 150, 150,
150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
- 150, 150, 156, 156, 156, 156, 156, 156, 156, 156,
- 156, 156, 156, 156, 156, 156, 156, 156, 156, 161,
+ 150, 150, 150, 150, 150, 150, 150, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 161, 161, 161, 161, 161, 161,
161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
- 161, 161, 161, 161, 161, 161, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 204, 204, 204, 204, 204, 204, 204,
+ 161, 200, 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200, 204, 204,
204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
+ 204, 204, 204, 204, 204, 220, 220, 220, 220, 220,
220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
- 220, 220, 220, 220, 220, 220, 220, 224, 224, 224,
- 224, 224, 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 224, 224, 231, 231, 282, 231, 231, 423,
- 422, 421, 231, 237, 237, 237, 237, 237, 237, 237,
- 237, 237, 237, 237, 237, 237, 237, 237, 237, 248,
- 248, 270, 248, 248, 420, 418, 417, 248, 259, 407,
+ 220, 220, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 231,
+ 231, 392, 231, 231, 379, 458, 342, 231, 237, 237,
+ 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 237, 248, 248, 339, 248, 248, 336,
+ 301, 299, 248, 259, 301, 259, 259, 259, 259, 259,
259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
- 259, 259, 259, 259, 259, 262, 254, 262, 262, 262,
- 262, 262, 262, 262, 262, 262, 262, 262, 262, 262,
- 262, 262, 268, 268, 268, 403, 268, 268, 250, 233,
-
- 229, 268, 280, 386, 280, 280, 280, 280, 280, 280,
- 280, 280, 280, 280, 280, 280, 280, 280, 280, 281,
- 385, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 281, 281, 285, 285, 285, 285,
- 285, 285, 285, 285, 285, 285, 285, 285, 384, 285,
- 382, 285, 285, 295, 381, 380, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
- 303, 303, 378, 303, 303, 342, 340, 339, 303, 308,
- 338, 308, 308, 308, 308, 308, 308, 308, 308, 308,
- 308, 308, 308, 308, 308, 308, 311, 337, 311, 311,
+ 262, 296, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 268, 268, 268,
+ 286, 268, 268, 282, 424, 423, 268, 280, 422, 280,
- 311, 311, 311, 311, 311, 311, 311, 311, 311, 311,
- 317, 311, 311, 312, 336, 312, 335, 331, 312, 312,
- 312, 312, 312, 329, 328, 327, 312, 314, 326, 314,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 281, 270, 281, 281, 281, 281,
+ 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
+ 281, 285, 285, 285, 285, 285, 285, 285, 285, 285,
+ 285, 285, 285, 421, 285, 419, 285, 285, 295, 418,
+ 408, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 303, 303, 254, 303, 303,
+ 404, 250, 233, 303, 308, 229, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 311, 387, 311, 311, 311, 311, 311, 311, 311,
+
+ 311, 311, 311, 311, 311, 386, 311, 311, 312, 385,
+ 312, 383, 382, 312, 312, 312, 312, 312, 381, 379,
+ 342, 312, 314, 340, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 318,
+ 318, 339, 318, 318, 338, 337, 317, 318, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 330, 336, 330, 335, 330,
+ 330, 330, 330, 330, 330, 330, 330, 330, 331, 330,
+ 330, 330, 332, 329, 332, 332, 332, 332, 332, 332,
+ 332, 332, 332, 332, 332, 332, 332, 332, 332, 341,
+
+ 328, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 345, 345, 327, 326,
+ 345, 345, 378, 322, 378, 378, 378, 378, 378, 378,
+ 378, 378, 378, 378, 378, 378, 378, 378, 378, 384,
+ 321, 384, 384, 384, 317, 384, 384, 384, 384, 384,
+ 384, 384, 384, 384, 384, 384, 231, 231, 313, 231,
+ 231, 307, 310, 307, 231, 389, 306, 389, 389, 389,
+ 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
+ 389, 389, 390, 304, 390, 390, 390, 390, 390, 390,
+ 390, 390, 390, 390, 390, 390, 390, 390, 390, 398,
+
+ 398, 302, 299, 301, 398, 400, 400, 297, 296, 294,
+ 400, 401, 401, 401, 401, 401, 401, 401, 401, 401,
+ 401, 401, 401, 401, 401, 401, 401, 401, 248, 248,
+ 293, 248, 248, 292, 289, 288, 248, 405, 405, 405,
+ 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
+ 405, 405, 405, 405, 410, 287, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 286, 410,
+ 410, 259, 282, 259, 259, 259, 259, 259, 259, 259,
+ 259, 259, 259, 259, 259, 259, 259, 259, 420, 420,
+ 279, 420, 420, 278, 270, 258, 420, 420, 425, 257,
+
+ 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
+ 425, 425, 425, 425, 425, 280, 256, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 281, 250, 281, 281, 281, 281, 281, 281,
+ 281, 281, 281, 281, 281, 281, 281, 281, 281, 427,
+ 247, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 428, 233, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 285, 285, 285, 285, 285, 285, 285,
+ 285, 285, 285, 285, 285, 229, 285, 1109, 285, 285,
+
+ 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 431, 431, 431, 431, 295, 111, 111,
+ 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 303, 303, 1109, 303, 303, 1109,
+ 1109, 1109, 303, 312, 1109, 312, 1109, 1109, 312, 312,
+ 312, 312, 312, 1109, 1109, 1109, 312, 314, 1109, 314,
314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
- 314, 314, 314, 314, 318, 318, 322, 318, 318, 321,
- 317, 313, 318, 323, 323, 323, 323, 323, 323, 323,
+ 314, 314, 314, 314, 318, 318, 1109, 318, 318, 1109,
+ 1109, 1109, 318, 323, 323, 323, 323, 323, 323, 323,
323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
- 330, 307, 330, 310, 330, 330, 330, 330, 330, 330,
- 330, 330, 330, 307, 330, 330, 330, 332, 306, 332,
- 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
- 332, 332, 332, 332, 341, 304, 341, 341, 341, 341,
+ 330, 1109, 330, 1109, 330, 330, 330, 330, 330, 330,
+ 330, 330, 330, 1109, 330, 330, 330, 448, 1109, 448,
+ 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
+ 448, 448, 448, 448, 341, 1109, 341, 341, 341, 341,
341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 345, 345, 302, 299, 345, 345, 377, 301, 377,
- 377, 377, 377, 377, 377, 377, 377, 377, 377, 377,
- 377, 377, 377, 377, 383, 297, 383, 383, 383, 296,
- 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
- 383, 231, 231, 294, 231, 231, 293, 292, 289, 231,
- 388, 288, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 388, 388, 388, 388, 389, 287, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
-
- 389, 389, 389, 389, 397, 397, 286, 282, 279, 397,
- 399, 399, 278, 270, 258, 399, 400, 400, 400, 400,
- 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
- 400, 400, 400, 248, 248, 257, 248, 248, 256, 250,
- 247, 248, 404, 404, 404, 404, 404, 404, 404, 404,
- 404, 404, 404, 404, 404, 404, 404, 404, 404, 409,
- 233, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 229, 409, 409, 259, 1106, 259, 259,
- 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
- 259, 259, 259, 419, 419, 111, 419, 419, 111, 1106,
-
- 1106, 419, 419, 424, 1106, 424, 424, 424, 424, 424,
- 424, 424, 424, 424, 424, 424, 424, 424, 424, 424,
- 280, 1106, 280, 280, 280, 280, 280, 280, 280, 280,
- 280, 280, 280, 280, 280, 280, 280, 281, 1106, 281,
- 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
- 281, 281, 281, 281, 426, 1106, 426, 426, 426, 426,
- 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
- 426, 427, 1106, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 427, 285, 285,
- 285, 285, 285, 285, 285, 285, 285, 285, 285, 285,
-
- 1106, 285, 1106, 285, 285, 430, 430, 430, 430, 430,
- 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
- 430, 430, 295, 1106, 1106, 295, 295, 295, 295, 295,
- 295, 295, 295, 295, 295, 295, 295, 295, 295, 303,
- 303, 1106, 303, 303, 1106, 1106, 1106, 303, 312, 1106,
- 312, 1106, 1106, 312, 312, 312, 312, 312, 1106, 1106,
- 1106, 312, 314, 1106, 314, 314, 314, 314, 314, 314,
- 314, 314, 314, 314, 314, 314, 314, 314, 314, 318,
- 318, 1106, 318, 318, 1106, 1106, 1106, 318, 323, 323,
- 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+ 341, 345, 345, 1109, 1109, 345, 345, 378, 1109, 378,
+ 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
+ 378, 378, 378, 378, 384, 1109, 384, 384, 384, 1109,
+ 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
+ 384, 389, 1109, 389, 389, 389, 389, 389, 389, 389,
+
+ 389, 389, 389, 389, 389, 389, 389, 389, 390, 1109,
+ 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
+ 390, 390, 390, 390, 390, 500, 500, 500, 500, 500,
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
+ 500, 500, 509, 509, 1109, 509, 509, 1109, 1109, 1109,
+ 509, 511, 511, 1109, 511, 511, 1109, 1109, 1109, 511,
+ 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
+ 401, 401, 401, 401, 401, 401, 401, 405, 405, 405,
+ 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
+ 405, 405, 405, 405, 410, 1109, 410, 410, 410, 410,
+
+ 410, 410, 410, 410, 410, 410, 410, 410, 1109, 410,
+ 410, 420, 420, 1109, 420, 420, 1109, 1109, 1109, 420,
+ 420, 425, 1109, 425, 425, 425, 425, 425, 425, 425,
+ 425, 425, 425, 425, 425, 425, 425, 425, 427, 1109,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 428, 1109, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 431, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 431, 431, 431, 431, 431, 431, 438,
+ 438, 438, 318, 318, 1109, 318, 318, 1109, 1109, 1109,
+
+ 318, 448, 1109, 448, 448, 448, 448, 448, 448, 448,
+ 448, 448, 448, 448, 448, 448, 448, 448, 608, 1109,
+ 608, 608, 608, 608, 608, 608, 608, 608, 608, 608,
+ 608, 608, 608, 608, 608, 777, 777, 777, 777, 777,
+ 777, 777, 777, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 919, 919, 919, 919, 919, 919, 919, 919,
+ 919, 919, 919, 919, 919, 919, 919, 919, 919, 49,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
- 323, 323, 323, 323, 323, 330, 1106, 330, 1106, 330,
- 330, 330, 330, 330, 330, 330, 330, 330, 1106, 330,
- 330, 330, 447, 1106, 447, 447, 447, 447, 447, 447,
- 447, 447, 447, 447, 447, 447, 447, 447, 447, 341,
- 1106, 341, 341, 341, 341, 341, 341, 341, 341, 341,
- 341, 341, 341, 341, 341, 341, 345, 345, 1106, 1106,
- 345, 345, 377, 1106, 377, 377, 377, 377, 377, 377,
- 377, 377, 377, 377, 377, 377, 377, 377, 377, 383,
- 1106, 383, 383, 383, 1106, 383, 383, 383, 383, 383,
- 383, 383, 383, 383, 383, 383, 388, 1106, 388, 388,
-
- 388, 388, 388, 388, 388, 388, 388, 388, 388, 388,
- 388, 388, 388, 389, 1106, 389, 389, 389, 389, 389,
- 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
- 498, 498, 498, 498, 498, 498, 498, 498, 498, 498,
- 498, 498, 498, 498, 498, 498, 498, 507, 507, 1106,
- 507, 507, 1106, 1106, 1106, 507, 509, 509, 1106, 509,
- 509, 1106, 1106, 1106, 509, 400, 400, 400, 400, 400,
- 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
- 400, 400, 404, 404, 404, 404, 404, 404, 404, 404,
- 404, 404, 404, 404, 404, 404, 404, 404, 404, 409,
-
- 1106, 409, 409, 409, 409, 409, 409, 409, 409, 409,
- 409, 409, 409, 1106, 409, 409, 419, 419, 1106, 419,
- 419, 1106, 1106, 1106, 419, 419, 424, 1106, 424, 424,
- 424, 424, 424, 424, 424, 424, 424, 424, 424, 424,
- 424, 424, 424, 426, 1106, 426, 426, 426, 426, 426,
- 426, 426, 426, 426, 426, 426, 426, 426, 426, 426,
- 427, 1106, 427, 427, 427, 427, 427, 427, 427, 427,
- 427, 427, 427, 427, 427, 427, 427, 430, 430, 430,
- 430, 430, 430, 430, 430, 430, 430, 430, 430, 430,
- 430, 430, 430, 430, 437, 437, 437, 318, 318, 1106,
-
- 318, 318, 1106, 1106, 1106, 318, 447, 1106, 447, 447,
- 447, 447, 447, 447, 447, 447, 447, 447, 447, 447,
- 447, 447, 447, 605, 1106, 605, 605, 605, 605, 605,
- 605, 605, 605, 605, 605, 605, 605, 605, 605, 605,
- 774, 774, 774, 774, 774, 774, 774, 774, 774, 774,
- 774, 774, 774, 774, 774, 774, 774, 916, 916, 916,
- 916, 916, 916, 916, 916, 916, 916, 916, 916, 916,
- 916, 916, 916, 916, 49, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
-
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109
} ;
-static yyconst flex_int16_t yy_chk[4060] =
+static yyconst flex_int16_t yy_chk[4055] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -1299,22 +1301,22 @@ static yyconst flex_int16_t yy_chk[4060] =
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
96, 3, 3, 5, 3, 5, 7, 3, 3, 3,
- 3, 8, 992, 3, 3, 6, 6, 942, 6, 21,
- 3, 941, 6, 3, 9, 126, 9, 11, 11, 96,
+ 3, 8, 995, 3, 3, 6, 6, 945, 6, 21,
+ 3, 944, 6, 3, 9, 126, 9, 11, 11, 96,
- 11, 12, 12, 940, 12, 17, 939, 17, 19, 138,
+ 11, 12, 12, 943, 12, 17, 942, 17, 19, 138,
19, 19, 27, 20, 27, 20, 20, 17, 22, 3,
3, 17, 17, 17, 17, 28, 7, 28, 7, 51,
51, 8, 51, 8, 126, 10, 9, 10, 79, 21,
21, 10, 21, 9, 9, 87, 9, 87, 3, 3,
- 3, 4, 4, 138, 4, 4, 938, 4, 4, 19,
+ 3, 4, 4, 138, 4, 4, 941, 4, 4, 19,
4, 4, 4, 4, 20, 9, 4, 4, 22, 22,
95, 22, 9, 4, 73, 73, 4, 10, 23, 37,
23, 45, 37, 45, 10, 10, 17, 10, 259, 259,
- 45, 23, 142, 263, 263, 37, 37, 37, 37, 937,
+ 45, 23, 142, 263, 263, 37, 37, 37, 37, 940,
95, 38, 4, 4, 38, 4, 10, 46, 147, 46,
- 147, 79, 47, 10, 47, 936, 46, 38, 38, 38,
+ 147, 79, 47, 10, 47, 939, 46, 38, 38, 38,
38, 142, 47, 55, 55, 149, 55, 149, 23, 23,
23, 4, 4, 4, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
@@ -1326,14 +1328,14 @@ static yyconst flex_int16_t yy_chk[4060] =
13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 18, 24,
- 18, 24, 168, 29, 58, 29, 74, 74, 935, 30,
+ 18, 24, 168, 29, 58, 29, 74, 74, 938, 30,
18, 30, 24, 29, 18, 18, 18, 18, 31, 30,
31, 31, 32, 191, 32, 32, 48, 162, 48, 67,
67, 168, 67, 246, 162, 246, 48, 75, 74, 75,
141, 58, 75, 75, 75, 75, 167, 176, 177, 24,
24, 24, 191, 29, 253, 29, 253, 105, 105, 30,
105, 30, 116, 116, 116, 116, 294, 74, 294, 31,
- 141, 58, 323, 32, 323, 934, 167, 176, 177, 18,
+ 141, 58, 323, 32, 323, 937, 167, 176, 177, 18,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
@@ -1347,12 +1349,12 @@ static yyconst flex_int16_t yy_chk[4060] =
34, 33, 34, 182, 41, 42, 34, 333, 43, 181,
33, 41, 42, 186, 333, 34, 203, 203, 203, 203,
- 325, 43, 325, 181, 41, 42, 179, 187, 179, 188,
+ 325, 43, 325, 181, 41, 42, 179, 187, 179, 193,
314, 43, 179, 182, 41, 42, 43, 33, 194, 41,
42, 199, 34, 186, 33, 33, 39, 33, 39, 34,
- 34, 43, 34, 181, 41, 42, 179, 187, 179, 188,
- 43, 179, 933, 41, 42, 43, 33, 194, 41, 42,
- 199, 34, 932, 33, 314, 39, 931, 39, 34, 35,
+ 34, 43, 34, 181, 41, 42, 179, 187, 179, 193,
+ 43, 179, 936, 41, 42, 43, 33, 194, 41, 42,
+ 199, 34, 935, 33, 314, 39, 934, 39, 34, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
@@ -1362,370 +1364,370 @@ static yyconst flex_int16_t yy_chk[4060] =
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
- 35, 35, 35, 40, 44, 40, 63, 63, 193, 63,
+ 35, 35, 35, 40, 44, 40, 63, 63, 195, 63,
122, 122, 347, 63, 183, 76, 76, 44, 76, 125,
- 125, 348, 76, 350, 195, 132, 132, 44, 180, 184,
- 190, 76, 44, 409, 409, 183, 180, 76, 193, 930,
- 190, 347, 122, 196, 183, 197, 198, 44, 873, 184,
-
- 348, 125, 350, 40, 195, 40, 44, 132, 180, 184,
- 190, 44, 236, 189, 183, 244, 180, 189, 235, 76,
- 190, 122, 258, 196, 872, 197, 198, 278, 184, 871,
- 125, 290, 40, 291, 40, 59, 132, 63, 228, 228,
- 192, 228, 236, 189, 260, 244, 76, 189, 232, 232,
- 192, 232, 258, 192, 59, 235, 59, 278, 59, 249,
- 249, 290, 249, 291, 59, 870, 249, 59, 59, 59,
- 192, 59, 59, 59, 260, 260, 869, 59, 298, 298,
- 192, 298, 192, 868, 59, 235, 59, 867, 59, 319,
- 320, 866, 239, 239, 59, 239, 865, 59, 59, 59,
-
- 59, 59, 59, 864, 240, 240, 59, 240, 59, 239,
- 239, 239, 239, 241, 241, 863, 241, 261, 261, 319,
- 320, 240, 240, 240, 240, 242, 242, 352, 242, 343,
- 241, 241, 241, 241, 354, 239, 305, 305, 305, 305,
- 249, 344, 242, 242, 242, 242, 346, 862, 355, 261,
- 269, 269, 349, 269, 241, 357, 352, 269, 353, 343,
- 346, 356, 353, 354, 239, 242, 269, 358, 861, 349,
- 359, 344, 269, 360, 359, 361, 346, 355, 261, 362,
- 364, 366, 349, 367, 241, 357, 368, 369, 353, 346,
- 356, 371, 353, 372, 371, 242, 368, 358, 349, 374,
-
- 359, 375, 360, 359, 269, 361, 415, 415, 362, 364,
- 366, 400, 367, 400, 614, 614, 368, 369, 402, 860,
- 402, 371, 859, 372, 371, 368, 858, 387, 374, 394,
- 375, 269, 307, 307, 307, 307, 307, 307, 307, 307,
+ 125, 348, 76, 350, 196, 132, 132, 44, 180, 184,
+ 190, 76, 44, 410, 410, 183, 180, 76, 195, 933,
+ 190, 347, 122, 197, 183, 198, 235, 44, 876, 184,
+
+ 348, 125, 350, 40, 196, 40, 44, 132, 180, 184,
+ 190, 44, 236, 188, 183, 244, 180, 188, 189, 76,
+ 190, 122, 189, 197, 875, 198, 228, 228, 184, 228,
+ 125, 258, 40, 235, 40, 59, 132, 63, 232, 232,
+ 192, 232, 236, 188, 260, 244, 76, 188, 189, 278,
+ 192, 290, 189, 192, 59, 291, 59, 319, 59, 249,
+ 249, 258, 249, 235, 59, 874, 249, 59, 59, 59,
+ 192, 59, 59, 59, 260, 260, 401, 59, 401, 278,
+ 192, 290, 192, 873, 59, 291, 59, 319, 59, 320,
+ 343, 872, 239, 239, 59, 239, 516, 59, 59, 59,
+
+ 59, 59, 59, 871, 240, 240, 59, 240, 59, 239,
+ 239, 239, 239, 241, 241, 870, 241, 261, 261, 320,
+ 343, 240, 240, 240, 240, 242, 242, 352, 242, 516,
+ 241, 241, 241, 241, 510, 239, 298, 298, 344, 298,
+ 249, 354, 242, 242, 242, 242, 349, 869, 355, 261,
+ 269, 269, 356, 269, 241, 346, 352, 269, 305, 305,
+ 305, 305, 360, 349, 239, 242, 269, 353, 344, 346,
+ 354, 353, 269, 357, 612, 358, 349, 355, 261, 359,
+ 361, 356, 363, 359, 241, 346, 362, 868, 365, 367,
+ 368, 360, 349, 370, 373, 242, 372, 353, 346, 372,
+
+ 403, 353, 403, 357, 269, 358, 405, 612, 405, 359,
+ 361, 363, 359, 407, 510, 407, 362, 365, 367, 368,
+ 416, 416, 867, 370, 373, 431, 372, 431, 375, 372,
+ 376, 269, 307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 307, 387, 394, 404,
- 307, 404, 307, 307, 307, 307, 307, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 375, 866, 376,
+ 307, 388, 307, 307, 307, 307, 307, 307, 307, 307,
307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
- 307, 307, 307, 307, 307, 307, 370, 373, 390, 390,
- 370, 390, 395, 396, 373, 370, 379, 379, 379, 379,
-
- 398, 406, 430, 406, 430, 390, 390, 390, 390, 408,
- 410, 857, 423, 411, 411, 856, 370, 373, 448, 855,
- 370, 395, 854, 396, 373, 370, 376, 425, 376, 428,
- 398, 376, 376, 393, 393, 853, 393, 376, 376, 408,
- 410, 410, 423, 376, 376, 411, 429, 448, 376, 411,
- 393, 393, 393, 393, 852, 376, 376, 425, 376, 428,
- 851, 376, 376, 420, 420, 420, 420, 376, 376, 432,
- 847, 432, 376, 376, 411, 846, 429, 376, 412, 412,
- 792, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
-
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 791, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
- 412, 412, 413, 413, 445, 446, 441, 433, 434, 435,
- 438, 439, 436, 442, 449, 459, 450, 498, 790, 498,
- 440, 443, 789, 433, 434, 436, 441, 435, 451, 443,
- 439, 788, 438, 442, 445, 446, 413, 413, 414, 414,
-
- 414, 414, 440, 449, 459, 440, 450, 414, 414, 414,
- 414, 414, 414, 433, 434, 436, 441, 435, 451, 443,
- 439, 438, 452, 442, 462, 453, 454, 455, 456, 787,
- 458, 440, 414, 414, 440, 460, 786, 414, 414, 414,
- 414, 414, 414, 444, 463, 464, 465, 467, 444, 444,
- 444, 444, 452, 462, 444, 453, 454, 455, 456, 444,
- 458, 466, 469, 444, 470, 460, 444, 785, 444, 471,
- 784, 444, 472, 463, 473, 464, 465, 467, 444, 444,
- 444, 444, 474, 475, 444, 476, 477, 478, 479, 444,
- 466, 480, 469, 444, 470, 444, 482, 444, 483, 471,
-
- 444, 481, 472, 484, 473, 485, 486, 481, 487, 488,
- 508, 489, 474, 475, 490, 476, 477, 478, 479, 491,
- 492, 480, 493, 494, 783, 495, 482, 483, 497, 782,
- 496, 481, 484, 496, 496, 485, 486, 481, 487, 488,
- 489, 501, 504, 501, 490, 503, 503, 505, 503, 491,
- 492, 523, 493, 494, 495, 506, 499, 499, 497, 499,
- 496, 510, 496, 496, 502, 502, 600, 502, 600, 613,
- 613, 613, 504, 499, 499, 499, 499, 505, 615, 615,
- 523, 502, 502, 502, 502, 506, 601, 601, 780, 601,
- 508, 510, 511, 511, 773, 511, 511, 511, 511, 511,
-
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 514, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 511, 511, 511, 511,
- 511, 511, 511, 511, 511, 511, 512, 512, 520, 514,
- 525, 527, 516, 516, 532, 526, 528, 770, 521, 522,
- 526, 758, 607, 607, 529, 607, 531, 528, 525, 529,
-
- 525, 693, 532, 693, 744, 527, 530, 609, 520, 531,
- 512, 512, 513, 513, 513, 513, 516, 516, 521, 522,
- 526, 513, 513, 513, 513, 513, 513, 528, 525, 529,
- 525, 535, 532, 530, 527, 733, 539, 533, 545, 531,
- 609, 534, 533, 704, 535, 546, 545, 536, 537, 539,
- 703, 513, 513, 513, 513, 513, 513, 517, 517, 517,
- 517, 534, 530, 536, 537, 538, 517, 517, 517, 517,
- 517, 517, 533, 540, 535, 546, 545, 699, 550, 539,
- 542, 547, 551, 538, 541, 553, 543, 544, 554, 555,
- 556, 534, 557, 536, 537, 540, 517, 517, 517, 517,
-
- 517, 517, 542, 541, 698, 542, 543, 544, 550, 557,
- 547, 551, 558, 538, 553, 557, 560, 554, 559, 555,
- 556, 563, 606, 564, 540, 565, 566, 692, 569, 570,
- 574, 542, 572, 541, 542, 573, 543, 544, 576, 557,
- 577, 578, 558, 579, 581, 557, 560, 559, 580, 582,
- 583, 563, 564, 584, 565, 586, 566, 569, 587, 570,
- 574, 572, 588, 590, 573, 589, 591, 576, 592, 594,
- 577, 578, 593, 579, 581, 595, 596, 580, 582, 583,
- 602, 595, 597, 584, 603, 586, 604, 616, 587, 611,
- 611, 618, 588, 590, 589, 591, 621, 624, 592, 594,
-
- 619, 593, 606, 686, 622, 595, 596, 701, 701, 602,
- 595, 623, 597, 626, 603, 604, 622, 616, 625, 624,
- 618, 621, 628, 611, 611, 612, 612, 612, 612, 623,
- 619, 625, 627, 626, 612, 612, 612, 612, 612, 612,
- 628, 627, 629, 631, 630, 632, 622, 682, 624, 629,
- 621, 630, 631, 634, 633, 774, 632, 774, 634, 623,
- 635, 625, 636, 626, 612, 612, 612, 612, 612, 612,
- 628, 627, 633, 636, 633, 637, 639, 640, 638, 629,
- 637, 630, 631, 643, 635, 641, 632, 642, 634, 639,
- 641, 668, 644, 645, 648, 640, 643, 664, 647, 650,
-
- 655, 653, 633, 636, 633, 638, 648, 642, 658, 654,
- 637, 653, 657, 635, 659, 661, 662, 663, 665, 639,
- 641, 644, 666, 645, 648, 640, 643, 647, 667, 650,
- 655, 653, 669, 670, 638, 671, 648, 642, 654, 673,
- 653, 674, 657, 659, 675, 661, 662, 663, 665, 676,
- 679, 666, 678, 680, 681, 683, 684, 685, 667, 687,
- 688, 669, 670, 689, 671, 690, 691, 694, 695, 673,
- 674, 696, 696, 675, 696, 700, 700, 700, 711, 676,
- 679, 678, 680, 707, 681, 683, 684, 685, 709, 687,
- 688, 710, 689, 702, 702, 690, 691, 694, 695, 708,
-
- 707, 712, 711, 709, 708, 713, 716, 710, 714, 718,
- 721, 715, 720, 712, 717, 716, 719, 722, 727, 1147,
- 1147, 734, 718, 652, 720, 727, 724, 713, 721, 723,
- 707, 711, 714, 709, 708, 715, 717, 710, 725, 722,
- 729, 719, 723, 712, 726, 716, 724, 725, 730, 729,
- 728, 734, 718, 735, 720, 727, 713, 728, 721, 730,
- 738, 714, 726, 737, 715, 717, 739, 740, 722, 741,
- 719, 742, 723, 737, 617, 743, 724, 725, 745, 729,
- 746, 747, 735, 748, 749, 750, 752, 728, 751, 730,
- 738, 754, 726, 737, 756, 760, 739, 740, 741, 761,
-
- 742, 762, 765, 737, 743, 767, 771, 776, 745, 776,
- 746, 747, 778, 748, 749, 750, 752, 751, 772, 795,
- 849, 754, 849, 756, 795, 760, 764, 764, 793, 761,
- 762, 764, 765, 794, 764, 767, 771, 764, 768, 768,
- 796, 778, 764, 768, 797, 809, 768, 799, 772, 768,
- 794, 798, 793, 801, 795, 796, 764, 764, 802, 799,
- 797, 764, 800, 803, 764, 804, 806, 764, 768, 768,
- 807, 764, 803, 768, 809, 798, 768, 801, 805, 768,
- 794, 793, 802, 811, 800, 796, 814, 804, 808, 799,
- 797, 805, 810, 812, 610, 816, 806, 817, 608, 818,
-
- 807, 819, 803, 820, 798, 821, 801, 823, 825, 826,
- 828, 802, 811, 800, 832, 814, 804, 833, 808, 834,
- 837, 805, 810, 812, 816, 836, 828, 817, 818, 838,
- 839, 819, 820, 840, 842, 821, 841, 823, 825, 826,
- 828, 835, 598, 844, 832, 835, 833, 845, 835, 834,
- 837, 848, 875, 843, 836, 828, 843, 874, 835, 838,
- 839, 876, 878, 840, 842, 841, 843, 877, 879, 880,
- 883, 835, 844, 881, 884, 835, 845, 885, 835, 886,
- 848, 874, 875, 843, 888, 889, 843, 835, 890, 571,
- 891, 876, 878, 892, 893, 843, 877, 894, 879, 880,
-
- 883, 895, 881, 897, 884, 898, 899, 885, 900, 886,
- 874, 901, 902, 888, 904, 889, 905, 908, 890, 891,
- 906, 909, 910, 892, 893, 911, 912, 894, 913, 915,
- 895, 914, 916, 897, 916, 898, 899, 918, 900, 918,
- 901, 902, 943, 944, 904, 945, 905, 908, 914, 906,
- 946, 909, 910, 947, 911, 912, 948, 913, 915, 949,
- 950, 914, 951, 568, 952, 953, 954, 552, 955, 956,
- 958, 943, 959, 944, 960, 945, 961, 914, 962, 963,
- 946, 964, 965, 947, 967, 969, 948, 970, 971, 949,
- 950, 972, 951, 952, 953, 973, 954, 955, 975, 956,
-
- 958, 959, 976, 960, 978, 961, 977, 979, 962, 963,
- 977, 964, 965, 967, 969, 993, 970, 994, 971, 995,
- 996, 972, 997, 998, 999, 973, 1001, 1002, 975, 1004,
- 1005, 976, 1006, 978, 1007, 977, 1008, 979, 1009, 977,
- 1010, 1012, 1016, 1017, 1018, 993, 1021, 994, 995, 1022,
- 996, 997, 998, 999, 1023, 1031, 1001, 1002, 1004, 1005,
- 1024, 1025, 1006, 1026, 1007, 1028, 1008, 1029, 1009, 1030,
- 1010, 1012, 1016, 1017, 1018, 1021, 1032, 1033, 1034, 1022,
- 1037, 524, 1039, 1041, 1023, 1031, 1044, 1047, 1048, 1024,
- 1025, 1049, 1026, 1050, 1028, 1051, 1029, 1052, 1030, 1053,
-
- 1054, 1055, 1056, 1058, 515, 1059, 1032, 1033, 1034, 1060,
- 1037, 1039, 1061, 1041, 1063, 1067, 1044, 1047, 1048, 1068,
- 1049, 1069, 1070, 1050, 1072, 1051, 1073, 1052, 1074, 1053,
- 1054, 1055, 1056, 1058, 1059, 1075, 1076, 1077, 1060, 1078,
- 1081, 1083, 1061, 1063, 1084, 1067, 1085, 468, 1086, 1068,
- 1069, 1087, 1070, 1088, 1072, 1090, 1073, 1093, 1074, 1094,
- 1097, 437, 1098, 1099, 1102, 1075, 1076, 1077, 1078, 1081,
- 1103, 1083, 1160, 1084, 1160, 419, 1085, 1086, 392, 1189,
- 1087, 1189, 1088, 377, 351, 1090, 341, 1093, 1094, 339,
- 1097, 1098, 1099, 334, 1102, 301, 300, 299, 296, 285,
-
- 1103, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107,
- 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108, 1108,
- 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108,
- 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1109,
- 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
- 1109, 1109, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
- 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111,
+ 307, 307, 307, 307, 307, 307, 369, 374, 371, 865,
+ 395, 388, 371, 397, 374, 864, 369, 371, 380, 380,
+
+ 380, 380, 396, 421, 421, 421, 421, 399, 433, 863,
+ 433, 409, 411, 500, 424, 500, 369, 374, 371, 395,
+ 617, 617, 371, 397, 374, 369, 426, 371, 377, 429,
+ 377, 396, 862, 377, 377, 391, 391, 399, 391, 377,
+ 377, 409, 411, 411, 424, 377, 377, 430, 394, 394,
+ 377, 394, 391, 391, 391, 391, 426, 377, 377, 429,
+ 377, 412, 412, 377, 377, 394, 394, 394, 394, 377,
+ 377, 414, 414, 434, 377, 377, 440, 430, 437, 377,
+ 444, 446, 447, 861, 449, 450, 451, 452, 444, 434,
+ 453, 437, 503, 412, 503, 440, 860, 412, 505, 505,
+
+ 603, 505, 603, 618, 618, 414, 414, 604, 604, 859,
+ 604, 446, 447, 449, 450, 858, 451, 452, 444, 434,
+ 453, 437, 412, 413, 413, 440, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 857, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+
+ 413, 413, 413, 413, 413, 413, 413, 415, 415, 415,
+ 415, 435, 436, 439, 441, 454, 415, 415, 415, 415,
+ 415, 415, 455, 442, 443, 456, 457, 435, 459, 461,
+ 436, 856, 460, 463, 464, 439, 441, 465, 855, 441,
+ 466, 415, 415, 442, 443, 454, 415, 415, 415, 415,
+ 415, 415, 455, 854, 468, 456, 457, 435, 459, 461,
+ 436, 460, 463, 464, 439, 441, 470, 465, 441, 471,
+ 466, 850, 467, 442, 443, 445, 472, 473, 474, 475,
+ 445, 445, 445, 445, 468, 476, 445, 477, 478, 479,
+ 480, 445, 481, 482, 609, 445, 470, 485, 445, 471,
+
+ 445, 467, 486, 445, 484, 487, 472, 473, 474, 475,
+ 445, 445, 445, 445, 488, 476, 445, 477, 478, 479,
+ 480, 445, 481, 482, 483, 445, 485, 445, 489, 445,
+ 483, 486, 445, 490, 484, 487, 491, 492, 493, 494,
+ 495, 496, 849, 497, 488, 498, 499, 795, 498, 498,
+ 696, 506, 696, 794, 483, 507, 793, 508, 489, 512,
+ 483, 522, 523, 490, 524, 491, 525, 492, 493, 494,
+ 495, 496, 497, 792, 609, 498, 499, 498, 498, 501,
+ 501, 506, 501, 504, 504, 507, 504, 508, 777, 512,
+ 777, 522, 523, 791, 524, 525, 501, 501, 501, 501,
+
+ 504, 504, 504, 504, 513, 513, 790, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 789, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 514, 514,
+ 529, 527, 532, 788, 518, 518, 528, 531, 779, 530,
+
+ 779, 528, 531, 533, 537, 538, 616, 616, 616, 527,
+ 530, 527, 534, 787, 529, 535, 533, 537, 786, 532,
+ 535, 538, 514, 514, 515, 515, 515, 515, 518, 518,
+ 534, 528, 531, 515, 515, 515, 515, 515, 515, 527,
+ 530, 527, 536, 529, 541, 539, 533, 537, 532, 785,
+ 535, 538, 783, 542, 548, 540, 545, 541, 543, 549,
+ 534, 539, 536, 515, 515, 515, 515, 515, 515, 519,
+ 519, 519, 519, 540, 544, 542, 545, 543, 519, 519,
+ 519, 519, 519, 519, 548, 546, 547, 541, 549, 552,
+ 557, 539, 536, 553, 547, 776, 544, 555, 556, 544,
+
+ 558, 773, 560, 540, 542, 546, 545, 543, 519, 519,
+ 519, 519, 519, 519, 559, 561, 562, 565, 568, 552,
+ 557, 566, 553, 567, 547, 544, 555, 556, 544, 572,
+ 558, 559, 560, 573, 577, 546, 575, 559, 761, 576,
+ 579, 580, 581, 582, 561, 583, 562, 565, 568, 584,
+ 566, 585, 567, 586, 587, 589, 590, 591, 572, 592,
+ 593, 559, 594, 573, 577, 575, 595, 559, 576, 579,
+ 596, 580, 581, 582, 583, 597, 599, 598, 600, 584,
+ 585, 605, 586, 598, 587, 589, 590, 591, 592, 606,
+ 593, 594, 607, 619, 610, 610, 595, 610, 621, 596,
+
+ 614, 614, 622, 624, 626, 597, 599, 598, 600, 627,
+ 605, 628, 598, 625, 747, 631, 641, 630, 635, 606,
+ 629, 607, 626, 619, 628, 625, 630, 621, 624, 635,
+ 639, 627, 622, 631, 614, 614, 615, 615, 615, 615,
+ 629, 639, 736, 641, 632, 615, 615, 615, 615, 615,
+ 615, 632, 626, 634, 628, 625, 630, 624, 633, 635,
+ 627, 637, 634, 631, 636, 633, 637, 638, 640, 645,
+ 629, 639, 641, 640, 642, 615, 615, 615, 615, 615,
+ 615, 632, 636, 643, 636, 646, 647, 642, 644, 645,
+ 707, 638, 634, 644, 648, 633, 637, 650, 646, 651,
+
+ 653, 643, 658, 640, 657, 660, 656, 706, 662, 664,
+ 665, 651, 636, 666, 636, 647, 656, 642, 668, 645,
+ 638, 669, 670, 644, 648, 672, 650, 673, 646, 651,
+ 653, 643, 658, 657, 674, 660, 656, 662, 676, 664,
+ 665, 651, 677, 666, 678, 656, 679, 682, 668, 681,
+ 669, 683, 670, 684, 672, 686, 673, 687, 688, 690,
+ 691, 702, 692, 674, 693, 694, 697, 698, 676, 699,
+ 699, 677, 699, 678, 704, 704, 679, 682, 681, 701,
+ 683, 705, 705, 684, 710, 686, 714, 687, 688, 690,
+ 691, 692, 715, 712, 693, 694, 697, 698, 703, 703,
+
+ 703, 710, 711, 713, 715, 716, 717, 711, 712, 718,
+ 714, 719, 721, 720, 728, 722, 723, 695, 724, 713,
+ 719, 725, 737, 728, 727, 721, 689, 716, 723, 729,
+ 717, 710, 726, 718, 715, 720, 724, 711, 712, 714,
+ 722, 730, 732, 725, 727, 726, 733, 729, 730, 713,
+ 719, 732, 737, 728, 731, 721, 716, 733, 723, 717,
+ 738, 731, 718, 740, 720, 741, 724, 742, 743, 722,
+ 744, 745, 725, 740, 727, 726, 746, 729, 730, 748,
+ 749, 732, 750, 751, 752, 753, 755, 733, 754, 738,
+ 757, 731, 759, 740, 763, 741, 764, 742, 743, 744,
+
+ 745, 765, 781, 740, 768, 746, 770, 774, 797, 748,
+ 749, 775, 750, 751, 752, 753, 755, 754, 796, 685,
+ 757, 759, 1150, 1150, 763, 797, 764, 767, 767, 800,
+ 765, 781, 767, 799, 768, 767, 770, 774, 767, 771,
+ 771, 775, 796, 767, 771, 800, 798, 771, 799, 801,
+ 771, 798, 802, 808, 803, 797, 809, 767, 767, 804,
+ 805, 810, 767, 807, 802, 767, 808, 811, 767, 771,
+ 771, 796, 767, 801, 771, 800, 803, 771, 799, 806,
+ 771, 798, 812, 804, 805, 807, 809, 813, 806, 671,
+ 814, 810, 815, 820, 802, 817, 808, 811, 819, 821,
+
+ 822, 824, 801, 823, 826, 803, 828, 829, 835, 831,
+ 837, 812, 804, 805, 807, 836, 840, 813, 806, 814,
+ 839, 841, 815, 820, 817, 831, 842, 819, 821, 843,
+ 822, 824, 823, 844, 826, 845, 828, 829, 835, 831,
+ 837, 838, 877, 847, 836, 838, 840, 846, 838, 839,
+ 846, 841, 848, 851, 831, 852, 842, 852, 838, 843,
+ 846, 878, 844, 879, 881, 845, 877, 880, 882, 883,
+ 886, 838, 847, 884, 887, 838, 888, 846, 838, 889,
+ 846, 848, 851, 891, 892, 893, 895, 838, 894, 846,
+ 896, 878, 897, 879, 881, 877, 880, 898, 882, 883,
+
+ 886, 900, 884, 901, 887, 902, 888, 903, 907, 889,
+ 904, 905, 891, 908, 892, 893, 895, 894, 909, 911,
+ 896, 912, 897, 913, 667, 914, 898, 915, 916, 917,
+ 947, 900, 918, 901, 919, 902, 919, 903, 907, 904,
+ 905, 946, 921, 908, 921, 955, 917, 909, 948, 911,
+ 949, 912, 950, 913, 914, 951, 915, 916, 952, 917,
+ 947, 918, 953, 954, 661, 956, 957, 655, 958, 959,
+ 946, 961, 620, 962, 955, 917, 963, 964, 948, 965,
+ 949, 966, 950, 967, 968, 951, 970, 972, 952, 973,
+ 974, 975, 953, 954, 956, 976, 957, 958, 978, 959,
+
+ 979, 961, 962, 980, 981, 963, 964, 980, 982, 965,
+ 996, 966, 997, 967, 968, 970, 972, 998, 973, 999,
+ 974, 975, 1000, 1001, 1002, 976, 1004, 1005, 978, 979,
+ 1007, 1008, 980, 981, 1009, 1010, 980, 1011, 982, 1012,
+ 996, 1013, 997, 1015, 1019, 1020, 998, 1021, 1025, 999,
+ 1024, 1000, 1001, 1002, 1026, 1034, 1004, 1005, 1027, 1007,
+ 1008, 1028, 1029, 1031, 1009, 1010, 1032, 1011, 1033, 1012,
+ 1035, 1013, 1036, 1015, 1019, 1020, 1037, 1021, 1025, 1024,
+ 1040, 613, 1042, 1044, 1026, 1034, 1047, 1027, 1050, 1051,
+ 1028, 1029, 1031, 1052, 1053, 1032, 1054, 1033, 1055, 1056,
+
+ 1035, 1057, 1036, 1058, 1059, 1061, 1037, 1062, 1063, 1064,
+ 1040, 1042, 1066, 1044, 1070, 1071, 1047, 1072, 1050, 1051,
+ 1073, 1075, 1052, 1076, 1053, 1077, 1054, 1078, 1055, 1056,
+ 1079, 1057, 1080, 1058, 1059, 1061, 1062, 1063, 1081, 1064,
+ 1084, 1066, 1086, 1088, 1070, 1071, 1072, 1087, 1089, 1090,
+ 1073, 1075, 1091, 1076, 1093, 1077, 1096, 1078, 1097, 1100,
+ 1079, 1101, 1080, 1102, 1105, 1106, 1163, 1081, 1163, 1084,
+ 611, 601, 1086, 1088, 574, 571, 1087, 1089, 1090, 554,
+ 1192, 1091, 1192, 526, 1093, 517, 1096, 1097, 469, 1100,
+ 1101, 438, 1102, 420, 1105, 1106, 1110, 1110, 1110, 1110,
+
+ 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
+ 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
- 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112,
1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
-
- 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
+ 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113,
1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
+ 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114,
1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
- 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115,
- 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
- 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1116,
- 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
- 1116, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
- 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118,
- 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
+ 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
+ 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1116,
- 1118, 1118, 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119,
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
+ 1117, 1117, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
+ 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119,
1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
- 1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
- 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121,
+ 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120, 1120, 1120,
+ 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
+ 1120, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
- 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122,
+
1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
- 1122, 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1123, 1123, 1123,
1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
+ 1123, 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124,
1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
-
- 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125,
- 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
- 1125, 1125, 1125, 1125, 1126, 1126, 282, 1126, 1126, 274,
- 273, 272, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
- 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128,
- 1128, 271, 1128, 1128, 268, 266, 265, 1128, 1129, 256,
- 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129,
- 1129, 1129, 1129, 1129, 1129, 1130, 255, 1130, 1130, 1130,
+ 1124, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
+ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126,
+ 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
+ 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127, 1127,
+ 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
+
+ 1127, 1127, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
+ 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129,
+ 1129, 393, 1129, 1129, 378, 351, 341, 1129, 1130, 1130,
1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
- 1130, 1130, 1131, 1131, 1131, 252, 1131, 1131, 251, 234,
-
- 230, 1131, 1132, 227, 1132, 1132, 1132, 1132, 1132, 1132,
- 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133,
- 226, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
- 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134, 1134,
- 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 222, 1134,
- 208, 1134, 1134, 1135, 207, 206, 1135, 1135, 1135, 1135,
- 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
- 1136, 1136, 202, 1136, 1136, 175, 174, 172, 1136, 1137,
- 170, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
- 1137, 1137, 1137, 1137, 1137, 1137, 1138, 169, 1138, 1138,
+ 1130, 1130, 1130, 1130, 1131, 1131, 339, 1131, 1131, 334,
+ 301, 300, 1131, 1132, 299, 1132, 1132, 1132, 1132, 1132,
+ 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
+ 1133, 296, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
+ 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134,
+ 285, 1134, 1134, 282, 274, 273, 1134, 1135, 272, 1135,
- 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
- 166, 1138, 1138, 1139, 165, 1139, 164, 158, 1139, 1139,
- 1139, 1139, 1139, 155, 154, 153, 1139, 1140, 152, 1140,
+ 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
+ 1135, 1135, 1135, 1135, 1136, 271, 1136, 1136, 1136, 1136,
+ 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
+ 1136, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
+ 1137, 1137, 1137, 268, 1137, 266, 1137, 1137, 1138, 265,
+ 256, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
+ 1138, 1138, 1138, 1138, 1138, 1139, 1139, 255, 1139, 1139,
+ 252, 251, 234, 1139, 1140, 230, 1140, 1140, 1140, 1140,
1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
- 1140, 1140, 1140, 1140, 1141, 1141, 144, 1141, 1141, 143,
- 139, 136, 1141, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
- 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
- 1143, 131, 1143, 129, 1143, 1143, 1143, 1143, 1143, 1143,
- 1143, 1143, 1143, 124, 1143, 1143, 1143, 1144, 120, 1144,
- 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144,
-
- 1144, 1144, 1144, 1144, 1145, 114, 1145, 1145, 1145, 1145,
+ 1140, 1141, 227, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
+
+ 1141, 1141, 1141, 1141, 1141, 226, 1141, 1141, 1142, 222,
+ 1142, 208, 207, 1142, 1142, 1142, 1142, 1142, 206, 202,
+ 175, 1142, 1143, 174, 1143, 1143, 1143, 1143, 1143, 1143,
+ 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1144,
+ 1144, 172, 1144, 1144, 170, 169, 166, 1144, 1145, 1145,
1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
- 1145, 1146, 1146, 109, 107, 1146, 1146, 1148, 106, 1148,
- 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
- 1148, 1148, 1148, 1148, 1149, 103, 1149, 1149, 1149, 101,
- 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149,
- 1149, 1150, 1150, 99, 1150, 1150, 98, 97, 94, 1150,
- 1151, 91, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151,
- 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152, 90, 1152,
- 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
-
- 1152, 1152, 1152, 1152, 1153, 1153, 88, 86, 84, 1153,
- 1154, 1154, 80, 78, 72, 1154, 1155, 1155, 1155, 1155,
- 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
- 1155, 1155, 1155, 1156, 1156, 71, 1156, 1156, 68, 65,
- 60, 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157,
- 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1158,
- 57, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
- 1158, 1158, 1158, 53, 1158, 1158, 1159, 49, 1159, 1159,
- 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159,
- 1159, 1159, 1159, 1161, 1161, 16, 1161, 1161, 15, 0,
-
- 0, 1161, 1161, 1162, 0, 1162, 1162, 1162, 1162, 1162,
- 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
- 1163, 0, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163,
- 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 0, 1164,
- 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
- 1164, 1164, 1164, 1164, 1165, 0, 1165, 1165, 1165, 1165,
- 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
- 1165, 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
- 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 1167,
- 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167,
-
- 0, 1167, 0, 1167, 1167, 1168, 1168, 1168, 1168, 1168,
- 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
- 1168, 1168, 1169, 0, 0, 1169, 1169, 1169, 1169, 1169,
- 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170,
- 1170, 0, 1170, 1170, 0, 0, 0, 1170, 1171, 0,
- 1171, 0, 0, 1171, 1171, 1171, 1171, 1171, 0, 0,
- 0, 1171, 1172, 0, 1172, 1172, 1172, 1172, 1172, 1172,
- 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1173,
- 1173, 0, 1173, 1173, 0, 0, 0, 1173, 1174, 1174,
- 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174,
-
- 1174, 1174, 1174, 1174, 1174, 1175, 0, 1175, 0, 1175,
- 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 0, 1175,
- 1175, 1175, 1176, 0, 1176, 1176, 1176, 1176, 1176, 1176,
- 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177,
- 0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
- 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178, 0, 0,
- 1178, 1178, 1179, 0, 1179, 1179, 1179, 1179, 1179, 1179,
- 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180,
- 0, 1180, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180,
- 1180, 1180, 1180, 1180, 1180, 1180, 1181, 0, 1181, 1181,
+ 1145, 1145, 1145, 1145, 1145, 1146, 165, 1146, 164, 1146,
+ 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 158, 1146,
+ 1146, 1146, 1147, 155, 1147, 1147, 1147, 1147, 1147, 1147,
+ 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1148,
+
+ 154, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
+ 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 153, 152,
+ 1149, 1149, 1151, 144, 1151, 1151, 1151, 1151, 1151, 1151,
+ 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152,
+ 143, 1152, 1152, 1152, 139, 1152, 1152, 1152, 1152, 1152,
+ 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 136, 1153,
+ 1153, 131, 129, 124, 1153, 1154, 120, 1154, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
+ 1154, 1154, 1155, 114, 1155, 1155, 1155, 1155, 1155, 1155,
+ 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1156,
+
+ 1156, 109, 107, 106, 1156, 1157, 1157, 103, 101, 99,
+ 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
+ 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1159, 1159,
+ 98, 1159, 1159, 97, 94, 91, 1159, 1160, 1160, 1160,
+ 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
+ 1160, 1160, 1160, 1160, 1161, 90, 1161, 1161, 1161, 1161,
+ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 88, 1161,
+ 1161, 1162, 86, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
+ 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1164, 1164,
+ 84, 1164, 1164, 80, 78, 72, 1164, 1164, 1165, 71,
- 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
- 1181, 1181, 1181, 1182, 0, 1182, 1182, 1182, 1182, 1182,
+ 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
+ 1165, 1165, 1165, 1165, 1165, 1166, 68, 1166, 1166, 1166,
+ 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
+ 1166, 1166, 1167, 65, 1167, 1167, 1167, 1167, 1167, 1167,
+ 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168,
+ 60, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
+ 1168, 1168, 1168, 1168, 1168, 1168, 1169, 57, 1169, 1169,
+ 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169,
+ 1169, 1169, 1169, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
+ 1170, 1170, 1170, 1170, 1170, 53, 1170, 49, 1170, 1170,
+
+ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
+ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1172, 16, 15,
+ 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
+ 1172, 1172, 1172, 1172, 1173, 1173, 0, 1173, 1173, 0,
+ 0, 0, 1173, 1174, 0, 1174, 0, 0, 1174, 1174,
+ 1174, 1174, 1174, 0, 0, 0, 1174, 1175, 0, 1175,
+ 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
+ 1175, 1175, 1175, 1175, 1176, 1176, 0, 1176, 1176, 0,
+ 0, 0, 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+
+ 1178, 0, 1178, 0, 1178, 1178, 1178, 1178, 1178, 1178,
+ 1178, 1178, 1178, 0, 1178, 1178, 1178, 1179, 0, 1179,
+ 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
+ 1179, 1179, 1179, 1179, 1180, 0, 1180, 1180, 1180, 1180,
+ 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
+ 1180, 1181, 1181, 0, 0, 1181, 1181, 1182, 0, 1182,
1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1183, 0, 1183, 1183, 1183, 0,
1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
- 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184, 0,
- 1184, 1184, 0, 0, 0, 1184, 1185, 1185, 0, 1185,
- 1185, 0, 0, 0, 1185, 1186, 1186, 1186, 1186, 1186,
+ 1183, 1184, 0, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
+
+ 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1185, 0,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186,
1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
- 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187,
- 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1188,
-
- 0, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188,
- 1188, 1188, 1188, 0, 1188, 1188, 1190, 1190, 0, 1190,
- 1190, 0, 0, 0, 1190, 1190, 1191, 0, 1191, 1191,
- 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191,
- 1191, 1191, 1191, 1192, 0, 1192, 1192, 1192, 1192, 1192,
- 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192,
- 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193,
- 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1194,
- 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
- 1194, 1194, 1194, 1194, 1195, 1195, 1195, 1196, 1196, 0,
-
- 1196, 1196, 0, 0, 0, 1196, 1197, 0, 1197, 1197,
- 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
- 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198, 1198, 1198,
- 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
- 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199,
- 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200,
- 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
- 1200, 1200, 1200, 1200, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
-
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106,
- 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106
+ 1186, 1186, 1187, 1187, 0, 1187, 1187, 0, 0, 0,
+ 1187, 1188, 1188, 0, 1188, 1188, 0, 0, 0, 1188,
+ 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1190,
+ 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
+ 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191,
+
+ 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 0, 1191,
+ 1191, 1193, 1193, 0, 1193, 1193, 0, 0, 0, 1193,
+ 1193, 1194, 0, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
+ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 0,
+ 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
+ 1195, 1195, 1195, 1195, 1195, 1196, 0, 1196, 1196, 1196,
+ 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
+ 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
+ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1198,
+ 1198, 1198, 1199, 1199, 0, 1199, 1199, 0, 0, 0,
+
+ 1199, 1200, 0, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
+ 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0,
+ 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
+ 1201, 1201, 1201, 1201, 1201, 1202, 1202, 1202, 1202, 1202,
+ 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
+ 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
+ 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109
} ;
static yy_state_type yy_last_accepting_state;
@@ -1805,7 +1807,7 @@ extern const char *escaped_qstart, *escaped_qend;
#define MARK_END_OF_PROLOG mark_prolog();
#define YY_DECL \
- int flexscan()
+ int flexscan(void)
#define RETURNCHAR \
yylval = (unsigned char) yytext[0]; \
@@ -1846,7 +1848,7 @@ extern const char *escaped_qstart, *escaped_qend;
-#line 1850 "scan.c"
+#line 1852 "scan.c"
#define INITIAL 0
#define SECT2 1
@@ -2106,10 +2108,10 @@ YY_DECL
int doing_codeblock = false;
int i, brace_depth=0, brace_start_line=0;
- Char nmdef[MAXLINE];
+ char nmdef[MAXLINE];
-#line 2113 "scan.c"
+#line 2115 "scan.c"
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
{
@@ -2143,13 +2145,13 @@ yy_match:
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1107 )
+ if ( yy_current_state >= 1110 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
++yy_cp;
}
- while ( yy_base[yy_current_state] != 3975 );
+ while ( yy_base[yy_current_state] != 3970 );
yy_find_action:
yy_act = yy_accept[yy_current_state];
@@ -2204,7 +2206,7 @@ YY_RULE_SETUP
#line 147 "scan.l"
{
++linenum;
- line_directive_out( (FILE *) 0, 1 );
+ line_directive_out(NULL, 1);
indented_code = false;
BEGIN(CODEBLOCK);
}
@@ -2238,7 +2240,7 @@ YY_RULE_SETUP
sectnum = 2;
bracelevel = 0;
mark_defs1();
- line_directive_out( (FILE *) 0, 1 );
+ line_directive_out(NULL, 1);
BEGIN(SECT2PROLOG);
return SECTEND;
}
@@ -2258,7 +2260,7 @@ yytext_is_array = true; ++linenum;
case 13:
YY_RULE_SETUP
#line 177 "scan.l"
-BEGIN(OPTION); return OPTION_OP;
+BEGIN(OPTION); return TOK_OPTION;
YY_BREAK
case 14:
/* rule 14 can match eol */
@@ -2406,8 +2408,8 @@ case 36:
YY_RULE_SETUP
#line 233 "scan.l"
{
- flex_free( (void *) infilename );
- infilename = copy_string( yytext + 1 );
+ free(infilename);
+ infilename = xstrdup(yytext + 1);
infilename[strlen( infilename ) - 1] = '\0';
}
YY_BREAK
@@ -2483,12 +2485,12 @@ YY_RULE_SETUP
case 46:
YY_RULE_SETUP
#line 275 "scan.l"
-buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart));
+buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
YY_BREAK
case 47:
YY_RULE_SETUP
#line 276 "scan.l"
-buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend));
+buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
YY_BREAK
case 48:
YY_RULE_SETUP
@@ -2518,7 +2520,7 @@ YY_RULE_SETUP
{
if(yyleng < MAXLINE)
{
- strcpy( (char *) nmdef, yytext );
+ strcpy( nmdef, yytext );
}
else
{
@@ -2526,7 +2528,7 @@ YY_RULE_SETUP
FLEX_EXIT(EXIT_FAILURE);
}
/* Skip trailing whitespace. */
- for ( i = strlen( (char *) nmdef ) - 1;
+ for ( i = strlen( nmdef ) - 1;
i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
--i )
;
@@ -2700,6 +2702,11 @@ posix_compat = option_sense;
case 79:
YY_RULE_SETUP
#line 367 "scan.l"
+gen_line_dirs = option_sense;
+ YY_BREAK
+case 80:
+YY_RULE_SETUP
+#line 368 "scan.l"
{
ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
/* Override yywrap */
@@ -2707,261 +2714,261 @@ YY_RULE_SETUP
do_yywrap = false;
}
YY_BREAK
-case 80:
+case 81:
YY_RULE_SETUP
-#line 373 "scan.l"
+#line 374 "scan.l"
usemecs = option_sense;
YY_BREAK
-case 81:
+case 82:
YY_RULE_SETUP
-#line 374 "scan.l"
+#line 375 "scan.l"
{
ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
interactive = !option_sense;
}
YY_BREAK
-case 82:
-YY_RULE_SETUP
-#line 378 "scan.l"
-performance_report += option_sense ? 1 : -1;
- YY_BREAK
case 83:
YY_RULE_SETUP
#line 379 "scan.l"
-yytext_is_array = ! option_sense;
+performance_report += option_sense ? 1 : -1;
YY_BREAK
case 84:
YY_RULE_SETUP
#line 380 "scan.l"
-use_read = option_sense;
+yytext_is_array = ! option_sense;
YY_BREAK
case 85:
YY_RULE_SETUP
#line 381 "scan.l"
-reentrant = option_sense;
+use_read = option_sense;
YY_BREAK
case 86:
YY_RULE_SETUP
#line 382 "scan.l"
-reject_really_used = option_sense;
+reentrant = option_sense;
YY_BREAK
case 87:
YY_RULE_SETUP
#line 383 "scan.l"
-ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
+reject_really_used = option_sense;
YY_BREAK
case 88:
YY_RULE_SETUP
#line 384 "scan.l"
-do_stdinit = option_sense;
+ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
YY_BREAK
case 89:
YY_RULE_SETUP
#line 385 "scan.l"
-use_stdout = option_sense;
+do_stdinit = option_sense;
YY_BREAK
case 90:
YY_RULE_SETUP
#line 386 "scan.l"
-ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
+use_stdout = option_sense;
YY_BREAK
case 91:
YY_RULE_SETUP
#line 387 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
+ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
YY_BREAK
case 92:
YY_RULE_SETUP
#line 388 "scan.l"
-printstats = option_sense;
+ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
YY_BREAK
case 93:
YY_RULE_SETUP
#line 389 "scan.l"
-nowarn = ! option_sense;
+printstats = option_sense;
YY_BREAK
case 94:
YY_RULE_SETUP
#line 390 "scan.l"
-do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
+nowarn = ! option_sense;
YY_BREAK
case 95:
YY_RULE_SETUP
#line 391 "scan.l"
-yymore_really_used = option_sense;
+do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
YY_BREAK
case 96:
YY_RULE_SETUP
#line 392 "scan.l"
-do_yywrap = option_sense;
+yymore_really_used = option_sense;
YY_BREAK
case 97:
YY_RULE_SETUP
-#line 394 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
+#line 393 "scan.l"
+do_yywrap = option_sense;
YY_BREAK
case 98:
YY_RULE_SETUP
#line 395 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
YY_BREAK
case 99:
YY_RULE_SETUP
#line 396 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
YY_BREAK
case 100:
YY_RULE_SETUP
-#line 398 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
+#line 397 "scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
YY_BREAK
case 101:
YY_RULE_SETUP
#line 399 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
YY_BREAK
case 102:
YY_RULE_SETUP
#line 400 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
YY_BREAK
case 103:
YY_RULE_SETUP
-#line 402 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
+#line 401 "scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
YY_BREAK
case 104:
YY_RULE_SETUP
#line 403 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
YY_BREAK
case 105:
YY_RULE_SETUP
#line 404 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
YY_BREAK
case 106:
YY_RULE_SETUP
-#line 406 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
+#line 405 "scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
YY_BREAK
case 107:
YY_RULE_SETUP
#line 407 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
YY_BREAK
case 108:
YY_RULE_SETUP
#line 408 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
YY_BREAK
case 109:
YY_RULE_SETUP
#line 409 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
YY_BREAK
case 110:
YY_RULE_SETUP
#line 410 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
YY_BREAK
case 111:
YY_RULE_SETUP
#line 411 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
YY_BREAK
case 112:
YY_RULE_SETUP
#line 412 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
YY_BREAK
case 113:
YY_RULE_SETUP
#line 413 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
YY_BREAK
case 114:
YY_RULE_SETUP
#line 414 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
YY_BREAK
case 115:
YY_RULE_SETUP
#line 415 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
YY_BREAK
case 116:
YY_RULE_SETUP
#line 416 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
YY_BREAK
case 117:
YY_RULE_SETUP
#line 417 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
YY_BREAK
case 118:
YY_RULE_SETUP
#line 418 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
YY_BREAK
case 119:
YY_RULE_SETUP
#line 419 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
YY_BREAK
case 120:
YY_RULE_SETUP
#line 420 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
YY_BREAK
case 121:
YY_RULE_SETUP
#line 421 "scan.l"
-ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
YY_BREAK
case 122:
YY_RULE_SETUP
-#line 423 "scan.l"
-return OPT_EXTRA_TYPE;
+#line 422 "scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
YY_BREAK
case 123:
YY_RULE_SETUP
#line 424 "scan.l"
-return OPT_OUTFILE;
+return TOK_EXTRA_TYPE;
YY_BREAK
case 124:
YY_RULE_SETUP
#line 425 "scan.l"
-return OPT_PREFIX;
+return TOK_OUTFILE;
YY_BREAK
case 125:
YY_RULE_SETUP
#line 426 "scan.l"
-return OPT_YYCLASS;
+return TOK_PREFIX;
YY_BREAK
case 126:
YY_RULE_SETUP
#line 427 "scan.l"
-return OPT_HEADER;
+return TOK_YYCLASS;
YY_BREAK
case 127:
YY_RULE_SETUP
#line 428 "scan.l"
-return OPT_TABLES;
+return TOK_HEADER_FILE;
YY_BREAK
case 128:
YY_RULE_SETUP
#line 429 "scan.l"
+return TOK_TABLES_FILE;
+ YY_BREAK
+case 129:
+YY_RULE_SETUP
+#line 430 "scan.l"
{
tablesverify = option_sense;
if(!tablesext && option_sense)
tablesext = true;
}
YY_BREAK
-case 129:
+case 130:
YY_RULE_SETUP
-#line 436 "scan.l"
+#line 437 "scan.l"
{
if(yyleng-1 < MAXLINE)
{
@@ -2976,9 +2983,9 @@ YY_RULE_SETUP
return NAME;
}
YY_BREAK
-case 130:
+case 131:
YY_RULE_SETUP
-#line 450 "scan.l"
+#line 451 "scan.l"
{
format_synerr( _( "unrecognized %%option: %s" ),
yytext );
@@ -2986,31 +2993,31 @@ YY_RULE_SETUP
}
YY_BREAK
-case 131:
-/* rule 131 can match eol */
+case 132:
+/* rule 132 can match eol */
YY_RULE_SETUP
-#line 457 "scan.l"
+#line 458 "scan.l"
++linenum; BEGIN(INITIAL);
YY_BREAK
-case 132:
+case 133:
YY_RULE_SETUP
-#line 461 "scan.l"
+#line 462 "scan.l"
++bracelevel; yyless( 2 ); /* eat only %{ */
YY_BREAK
-case 133:
+case 134:
YY_RULE_SETUP
-#line 462 "scan.l"
+#line 463 "scan.l"
--bracelevel; yyless( 2 ); /* eat only %} */
YY_BREAK
-case 134:
+case 135:
YY_RULE_SETUP
-#line 464 "scan.l"
+#line 465 "scan.l"
ACTION_ECHO; /* indented code in prolog */
YY_BREAK
-case 135:
+case 136:
YY_RULE_SETUP
-#line 466 "scan.l"
+#line 467 "scan.l"
{ /* non-indented code */
if ( bracelevel <= 0 )
{ /* not in %{ ... %} */
@@ -3023,19 +3030,19 @@ YY_RULE_SETUP
ACTION_ECHO;
}
YY_BREAK
-case 136:
+case 137:
YY_RULE_SETUP
-#line 478 "scan.l"
+#line 479 "scan.l"
ACTION_ECHO;
YY_BREAK
-case 137:
-/* rule 137 can match eol */
+case 138:
+/* rule 138 can match eol */
YY_RULE_SETUP
-#line 479 "scan.l"
+#line 480 "scan.l"
++linenum; ACTION_ECHO;
YY_BREAK
case YY_STATE_EOF(SECT2PROLOG):
-#line 481 "scan.l"
+#line 482 "scan.l"
{
mark_prolog();
sectnum = 0;
@@ -3044,15 +3051,15 @@ case YY_STATE_EOF(SECT2PROLOG):
YY_BREAK
-case 138:
-/* rule 138 can match eol */
+case 139:
+/* rule 139 can match eol */
YY_RULE_SETUP
-#line 489 "scan.l"
+#line 490 "scan.l"
++linenum; /* allow blank lines in section 2 */
YY_BREAK
-case 139:
+case 140:
YY_RULE_SETUP
-#line 491 "scan.l"
+#line 492 "scan.l"
{
indented_code = false;
doing_codeblock = true;
@@ -3060,9 +3067,9 @@ YY_RULE_SETUP
BEGIN(PERCENT_BRACE_ACTION);
}
YY_BREAK
-case 140:
+case 141:
YY_RULE_SETUP
-#line 498 "scan.l"
+#line 499 "scan.l"
{
/* Allow "<" to appear in (?x) patterns. */
if (!sf_skip_ws())
@@ -3070,22 +3077,22 @@ YY_RULE_SETUP
return '<';
}
YY_BREAK
-case 141:
+case 142:
YY_RULE_SETUP
-#line 504 "scan.l"
+#line 505 "scan.l"
return '^';
YY_BREAK
-case 142:
+case 143:
YY_RULE_SETUP
-#line 505 "scan.l"
+#line 506 "scan.l"
BEGIN(QUOTE); return '"';
YY_BREAK
-case 143:
+case 144:
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 506 "scan.l"
+#line 507 "scan.l"
{
BEGIN(NUM);
if ( lex_compat || posix_compat )
@@ -3094,19 +3101,19 @@ YY_RULE_SETUP
return BEGIN_REPEAT_FLEX;
}
YY_BREAK
-case 144:
-/* rule 144 can match eol */
+case 145:
+/* rule 145 can match eol */
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
YY_LINENO_REWIND_TO(yy_bp + 1);
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 513 "scan.l"
+#line 514 "scan.l"
return '$';
YY_BREAK
-case 145:
+case 146:
YY_RULE_SETUP
-#line 515 "scan.l"
+#line 516 "scan.l"
{
bracelevel = 1;
BEGIN(PERCENT_BRACE_ACTION);
@@ -3119,16 +3126,15 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 146:
-/* rule 146 can match eol */
+case 147:
+/* rule 147 can match eol */
YY_RULE_SETUP
-#line 526 "scan.l"
+#line 527 "scan.l"
{
if (sf_skip_ws()){
/* We're in the middle of a (?x: ) pattern. */
/* Push back everything starting at the "|" */
- size_t amt;
- amt = strchr (yytext, '|') - yytext;
+ int amt = (int) (strchr (yytext, '|') - yytext);
yyless(amt);
}
else {
@@ -3138,7 +3144,7 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 147:
+case 148:
YY_RULE_SETUP
#line 541 "scan.l"
{
@@ -3155,12 +3161,12 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 148:
+case 149:
YY_RULE_SETUP
#line 555 "scan.l"
/* allow indented rules */ ;
YY_BREAK
-case 149:
+case 150:
YY_RULE_SETUP
#line 557 "scan.l"
{
@@ -3185,8 +3191,8 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 150:
-/* rule 150 can match eol */
+case 151:
+/* rule 151 can match eol */
YY_RULE_SETUP
#line 579 "scan.l"
{
@@ -3209,14 +3215,14 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 151:
-#line 600 "scan.l"
case 152:
+#line 600 "scan.l"
+case 153:
YY_RULE_SETUP
#line 600 "scan.l"
return EOF_OP;
YY_BREAK
-case 153:
+case 154:
YY_RULE_SETUP
#line 602 "scan.l"
{
@@ -3226,7 +3232,7 @@ YY_RULE_SETUP
yyterminate(); /* to stop the parser */
}
YY_BREAK
-case 154:
+case 155:
YY_RULE_SETUP
#line 609 "scan.l"
{
@@ -3250,7 +3256,7 @@ YY_RULE_SETUP
* The reason it was disabled is so yacc/bison can parse
* ccl operations, such as ccl difference and union.
*/
- && (cclval = ccllookup( (Char *) nmstr )) != 0 )
+ && (cclval = ccllookup( nmstr )) != 0 )
{
if ( input() != ']' )
synerr( _( "bad character class" ) );
@@ -3264,7 +3270,7 @@ YY_RULE_SETUP
/* We fudge a bit. We know that this ccl will
* soon be numbered as lastccl + 1 by cclinit.
*/
- cclinstal( (Char *) nmstr, lastccl + 1 );
+ cclinstal( nmstr, lastccl + 1 );
/* Push back everything but the leading bracket
* so the ccl can be rescanned.
@@ -3276,12 +3282,12 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 155:
+case 156:
YY_RULE_SETUP
#line 655 "scan.l"
return CCL_OP_DIFF;
YY_BREAK
-case 156:
+case 157:
YY_RULE_SETUP
#line 656 "scan.l"
return CCL_OP_UNION;
@@ -3290,12 +3296,12 @@ return CCL_OP_UNION;
* wrap the expanded regex in '(' ')' -- breaking trailing
* context.
*/
-case 157:
-/* rule 157 can match eol */
+case 158:
+/* rule 158 can match eol */
YY_RULE_SETUP
#line 663 "scan.l"
{
- Char *nmdefptr;
+ char *nmdefptr;
int end_is_ws, end_ch;
end_ch = yytext[yyleng-1];
@@ -3319,7 +3325,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
else
{ /* push back name surrounded by ()'s */
- int len = strlen( (char *) nmdefptr );
+ int len = strlen( nmdefptr );
if (end_is_ws)
unput(end_ch);
@@ -3327,7 +3333,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
(len > 0 && nmdefptr[len - 1] == '$')
|| (end_is_ws && trlcontxt && !sf_skip_ws()))
{ /* don't use ()'s after all */
- PUT_BACK_STRING((char *) nmdefptr, 0);
+ PUT_BACK_STRING(nmdefptr, 0);
if ( nmdefptr[0] == '^' )
BEGIN(CARETISBOL);
@@ -3336,13 +3342,13 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
else
{
unput(')');
- PUT_BACK_STRING((char *) nmdefptr, 0);
+ PUT_BACK_STRING(nmdefptr, 0);
unput('(');
}
}
}
YY_BREAK
-case 158:
+case 159:
YY_RULE_SETUP
#line 711 "scan.l"
{
@@ -3355,7 +3361,7 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 159:
+case 160:
YY_RULE_SETUP
#line 721 "scan.l"
{
@@ -3369,7 +3375,7 @@ YY_RULE_SETUP
yy_push_state(EXTENDED_COMMENT);
}
YY_BREAK
-case 160:
+case 161:
YY_RULE_SETUP
#line 731 "scan.l"
{
@@ -3382,86 +3388,92 @@ YY_RULE_SETUP
return '(';
}
YY_BREAK
-case 161:
+case 162:
YY_RULE_SETUP
#line 740 "scan.l"
sf_push(); return '(';
YY_BREAK
-case 162:
+case 163:
YY_RULE_SETUP
#line 741 "scan.l"
-sf_pop(); return ')';
+{
+ if (_sf_top_ix > 0) {
+ sf_pop();
+ return ')';
+ } else
+ synerr(_("unbalanced parenthesis"));
+ }
YY_BREAK
-case 163:
+case 164:
YY_RULE_SETUP
-#line 743 "scan.l"
+#line 749 "scan.l"
return (unsigned char) yytext[0];
YY_BREAK
-case 164:
+case 165:
YY_RULE_SETUP
-#line 744 "scan.l"
+#line 750 "scan.l"
RETURNCHAR;
YY_BREAK
-case 165:
-/* rule 165 can match eol */
+case 166:
+/* rule 166 can match eol */
YY_RULE_SETUP
-#line 749 "scan.l"
+#line 755 "scan.l"
++linenum; /* Allow blank lines & continuations */
YY_BREAK
-case 166:
+case 167:
YY_RULE_SETUP
-#line 750 "scan.l"
+#line 756 "scan.l"
return (unsigned char) yytext[0];
YY_BREAK
-case 167:
+case 168:
YY_RULE_SETUP
-#line 751 "scan.l"
+#line 757 "scan.l"
BEGIN(SECT2); return '>';
YY_BREAK
-case 168:
+case 169:
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 752 "scan.l"
+#line 758 "scan.l"
BEGIN(CARETISBOL); return '>';
YY_BREAK
-case 169:
+case 170:
YY_RULE_SETUP
-#line 753 "scan.l"
+#line 759 "scan.l"
RETURNNAME;
YY_BREAK
-case 170:
+case 171:
YY_RULE_SETUP
-#line 754 "scan.l"
+#line 760 "scan.l"
{
format_synerr( _( "bad <start condition>: %s" ),
yytext );
}
YY_BREAK
-case 171:
+case 172:
YY_RULE_SETUP
-#line 760 "scan.l"
+#line 766 "scan.l"
BEGIN(SECT2); return '^';
YY_BREAK
-case 172:
+case 173:
YY_RULE_SETUP
-#line 764 "scan.l"
+#line 770 "scan.l"
RETURNCHAR;
YY_BREAK
-case 173:
+case 174:
YY_RULE_SETUP
-#line 765 "scan.l"
+#line 771 "scan.l"
BEGIN(SECT2); return '"';
YY_BREAK
-case 174:
-/* rule 174 can match eol */
+case 175:
+/* rule 175 can match eol */
YY_RULE_SETUP
-#line 767 "scan.l"
+#line 773 "scan.l"
{
synerr( _( "missing quote" ) );
BEGIN(SECT2);
@@ -3471,100 +3483,100 @@ YY_RULE_SETUP
YY_BREAK
-case 175:
+case 176:
YY_RULE_SETUP
-#line 776 "scan.l"
+#line 782 "scan.l"
BEGIN(SECT2);
YY_BREAK
-case 176:
+case 177:
YY_RULE_SETUP
-#line 777 "scan.l"
+#line 783 "scan.l"
BEGIN(GROUP_MINUS_PARAMS);
YY_BREAK
-case 177:
+case 178:
YY_RULE_SETUP
-#line 778 "scan.l"
+#line 784 "scan.l"
sf_set_case_ins(1);
YY_BREAK
-case 178:
+case 179:
YY_RULE_SETUP
-#line 779 "scan.l"
+#line 785 "scan.l"
sf_set_dot_all(1);
YY_BREAK
-case 179:
+case 180:
YY_RULE_SETUP
-#line 780 "scan.l"
+#line 786 "scan.l"
sf_set_skip_ws(1);
YY_BREAK
-case 180:
+case 181:
YY_RULE_SETUP
-#line 783 "scan.l"
+#line 789 "scan.l"
BEGIN(SECT2);
YY_BREAK
-case 181:
+case 182:
YY_RULE_SETUP
-#line 784 "scan.l"
+#line 790 "scan.l"
sf_set_case_ins(0);
YY_BREAK
-case 182:
+case 183:
YY_RULE_SETUP
-#line 785 "scan.l"
+#line 791 "scan.l"
sf_set_dot_all(0);
YY_BREAK
-case 183:
+case 184:
YY_RULE_SETUP
-#line 786 "scan.l"
+#line 792 "scan.l"
sf_set_skip_ws(0);
YY_BREAK
-case 184:
+case 185:
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 790 "scan.l"
+#line 796 "scan.l"
BEGIN(CCL); return '^';
YY_BREAK
-case 185:
+case 186:
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 791 "scan.l"
+#line 797 "scan.l"
return '^';
YY_BREAK
-case 186:
+case 187:
YY_RULE_SETUP
-#line 792 "scan.l"
+#line 798 "scan.l"
BEGIN(CCL); RETURNCHAR;
YY_BREAK
-case 187:
+case 188:
*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
(yy_c_buf_p) = yy_cp = yy_bp + 1;
YY_DO_BEFORE_ACTION; /* set up yytext again */
YY_RULE_SETUP
-#line 796 "scan.l"
+#line 802 "scan.l"
return '-';
YY_BREAK
-case 188:
+case 189:
YY_RULE_SETUP
-#line 797 "scan.l"
+#line 803 "scan.l"
RETURNCHAR;
YY_BREAK
-case 189:
+case 190:
YY_RULE_SETUP
-#line 798 "scan.l"
+#line 804 "scan.l"
BEGIN(SECT2); return ']';
YY_BREAK
-case 190:
-/* rule 190 can match eol */
+case 191:
+/* rule 191 can match eol */
YY_RULE_SETUP
-#line 799 "scan.l"
+#line 805 "scan.l"
{
synerr( _( "bad character class" ) );
BEGIN(SECT2);
@@ -3573,129 +3585,129 @@ YY_RULE_SETUP
YY_BREAK
-case 191:
+case 192:
YY_RULE_SETUP
-#line 807 "scan.l"
+#line 813 "scan.l"
BEGIN(CCL); return CCE_ALNUM;
YY_BREAK
-case 192:
+case 193:
YY_RULE_SETUP
-#line 808 "scan.l"
+#line 814 "scan.l"
BEGIN(CCL); return CCE_ALPHA;
YY_BREAK
-case 193:
+case 194:
YY_RULE_SETUP
-#line 809 "scan.l"
+#line 815 "scan.l"
BEGIN(CCL); return CCE_BLANK;
YY_BREAK
-case 194:
+case 195:
YY_RULE_SETUP
-#line 810 "scan.l"
+#line 816 "scan.l"
BEGIN(CCL); return CCE_CNTRL;
YY_BREAK
-case 195:
+case 196:
YY_RULE_SETUP
-#line 811 "scan.l"
+#line 817 "scan.l"
BEGIN(CCL); return CCE_DIGIT;
YY_BREAK
-case 196:
+case 197:
YY_RULE_SETUP
-#line 812 "scan.l"
+#line 818 "scan.l"
BEGIN(CCL); return CCE_GRAPH;
YY_BREAK
-case 197:
+case 198:
YY_RULE_SETUP
-#line 813 "scan.l"
+#line 819 "scan.l"
BEGIN(CCL); return CCE_LOWER;
YY_BREAK
-case 198:
+case 199:
YY_RULE_SETUP
-#line 814 "scan.l"
+#line 820 "scan.l"
BEGIN(CCL); return CCE_PRINT;
YY_BREAK
-case 199:
+case 200:
YY_RULE_SETUP
-#line 815 "scan.l"
+#line 821 "scan.l"
BEGIN(CCL); return CCE_PUNCT;
YY_BREAK
-case 200:
+case 201:
YY_RULE_SETUP
-#line 816 "scan.l"
+#line 822 "scan.l"
BEGIN(CCL); return CCE_SPACE;
YY_BREAK
-case 201:
+case 202:
YY_RULE_SETUP
-#line 817 "scan.l"
+#line 823 "scan.l"
BEGIN(CCL); return CCE_UPPER;
YY_BREAK
-case 202:
+case 203:
YY_RULE_SETUP
-#line 818 "scan.l"
+#line 824 "scan.l"
BEGIN(CCL); return CCE_XDIGIT;
YY_BREAK
-case 203:
+case 204:
YY_RULE_SETUP
-#line 820 "scan.l"
+#line 826 "scan.l"
BEGIN(CCL); return CCE_NEG_ALNUM;
YY_BREAK
-case 204:
+case 205:
YY_RULE_SETUP
-#line 821 "scan.l"
+#line 827 "scan.l"
BEGIN(CCL); return CCE_NEG_ALPHA;
YY_BREAK
-case 205:
+case 206:
YY_RULE_SETUP
-#line 822 "scan.l"
+#line 828 "scan.l"
BEGIN(CCL); return CCE_NEG_BLANK;
YY_BREAK
-case 206:
+case 207:
YY_RULE_SETUP
-#line 823 "scan.l"
+#line 829 "scan.l"
BEGIN(CCL); return CCE_NEG_CNTRL;
YY_BREAK
-case 207:
+case 208:
YY_RULE_SETUP
-#line 824 "scan.l"
+#line 830 "scan.l"
BEGIN(CCL); return CCE_NEG_DIGIT;
YY_BREAK
-case 208:
+case 209:
YY_RULE_SETUP
-#line 825 "scan.l"
+#line 831 "scan.l"
BEGIN(CCL); return CCE_NEG_GRAPH;
YY_BREAK
-case 209:
+case 210:
YY_RULE_SETUP
-#line 826 "scan.l"
+#line 832 "scan.l"
BEGIN(CCL); return CCE_NEG_LOWER;
YY_BREAK
-case 210:
+case 211:
YY_RULE_SETUP
-#line 827 "scan.l"
+#line 833 "scan.l"
BEGIN(CCL); return CCE_NEG_PRINT;
YY_BREAK
-case 211:
+case 212:
YY_RULE_SETUP
-#line 828 "scan.l"
+#line 834 "scan.l"
BEGIN(CCL); return CCE_NEG_PUNCT;
YY_BREAK
-case 212:
+case 213:
YY_RULE_SETUP
-#line 829 "scan.l"
+#line 835 "scan.l"
BEGIN(CCL); return CCE_NEG_SPACE;
YY_BREAK
-case 213:
+case 214:
YY_RULE_SETUP
-#line 830 "scan.l"
+#line 836 "scan.l"
BEGIN(CCL); return CCE_NEG_UPPER;
YY_BREAK
-case 214:
+case 215:
YY_RULE_SETUP
-#line 831 "scan.l"
+#line 837 "scan.l"
BEGIN(CCL); return CCE_NEG_XDIGIT;
YY_BREAK
-case 215:
+case 216:
YY_RULE_SETUP
-#line 832 "scan.l"
+#line 838 "scan.l"
{
format_synerr(
_( "bad character class expression: %s" ),
@@ -3705,22 +3717,22 @@ YY_RULE_SETUP
YY_BREAK
-case 216:
+case 217:
YY_RULE_SETUP
-#line 841 "scan.l"
+#line 847 "scan.l"
{
yylval = myctoi( yytext );
return NUMBER;
}
YY_BREAK
-case 217:
+case 218:
YY_RULE_SETUP
-#line 846 "scan.l"
+#line 852 "scan.l"
return ',';
YY_BREAK
-case 218:
+case 219:
YY_RULE_SETUP
-#line 847 "scan.l"
+#line 853 "scan.l"
{
BEGIN(SECT2);
if ( lex_compat || posix_compat )
@@ -3729,19 +3741,19 @@ YY_RULE_SETUP
return END_REPEAT_FLEX;
}
YY_BREAK
-case 219:
+case 220:
YY_RULE_SETUP
-#line 855 "scan.l"
+#line 861 "scan.l"
{
synerr( _( "bad character inside {}'s" ) );
BEGIN(SECT2);
return '}';
}
YY_BREAK
-case 220:
-/* rule 220 can match eol */
+case 221:
+/* rule 221 can match eol */
YY_RULE_SETUP
-#line 861 "scan.l"
+#line 867 "scan.l"
{
synerr( _( "missing }" ) );
BEGIN(SECT2);
@@ -3751,53 +3763,53 @@ YY_RULE_SETUP
YY_BREAK
-case 221:
+case 222:
YY_RULE_SETUP
-#line 871 "scan.l"
+#line 877 "scan.l"
bracelevel = 0;
YY_BREAK
-case 222:
+case 223:
YY_RULE_SETUP
-#line 873 "scan.l"
+#line 879 "scan.l"
ACTION_ECHO; yy_push_state( COMMENT );
YY_BREAK
-case 223:
+case 224:
YY_RULE_SETUP
-#line 876 "scan.l"
+#line 882 "scan.l"
{
ACTION_ECHO;
CHECK_REJECT(yytext);
}
YY_BREAK
-case 224:
+case 225:
YY_RULE_SETUP
-#line 880 "scan.l"
+#line 886 "scan.l"
{
ACTION_ECHO;
CHECK_YYMORE(yytext);
}
YY_BREAK
-case 225:
+case 226:
YY_RULE_SETUP
-#line 886 "scan.l"
+#line 892 "scan.l"
ACTION_ECHO_QSTART;
YY_BREAK
-case 226:
+case 227:
YY_RULE_SETUP
-#line 887 "scan.l"
+#line 893 "scan.l"
ACTION_ECHO_QEND;
YY_BREAK
-case 227:
+case 228:
YY_RULE_SETUP
-#line 888 "scan.l"
+#line 894 "scan.l"
ACTION_ECHO;
YY_BREAK
-case 228:
-/* rule 228 can match eol */
+case 229:
+/* rule 229 can match eol */
YY_RULE_SETUP
-#line 889 "scan.l"
+#line 895 "scan.l"
{
++linenum;
ACTION_ECHO;
@@ -3815,55 +3827,55 @@ YY_RULE_SETUP
/* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
-case 229:
-YY_RULE_SETUP
-#line 907 "scan.l"
-ACTION_ECHO; ++bracelevel;
- YY_BREAK
case 230:
YY_RULE_SETUP
-#line 908 "scan.l"
-ACTION_ECHO; --bracelevel;
+#line 913 "scan.l"
+ACTION_ECHO; ++bracelevel;
YY_BREAK
case 231:
YY_RULE_SETUP
-#line 909 "scan.l"
-ACTION_ECHO_QSTART;
+#line 914 "scan.l"
+ACTION_ECHO; --bracelevel;
YY_BREAK
case 232:
YY_RULE_SETUP
-#line 910 "scan.l"
-ACTION_ECHO_QEND;
+#line 915 "scan.l"
+ACTION_ECHO_QSTART;
YY_BREAK
case 233:
YY_RULE_SETUP
-#line 911 "scan.l"
-ACTION_ECHO;
+#line 916 "scan.l"
+ACTION_ECHO_QEND;
YY_BREAK
case 234:
YY_RULE_SETUP
-#line 912 "scan.l"
+#line 917 "scan.l"
ACTION_ECHO;
YY_BREAK
case 235:
YY_RULE_SETUP
-#line 913 "scan.l"
+#line 918 "scan.l"
ACTION_ECHO;
YY_BREAK
case 236:
YY_RULE_SETUP
-#line 914 "scan.l"
-ACTION_ECHO; /* character constant */
+#line 919 "scan.l"
+ACTION_ECHO;
YY_BREAK
case 237:
YY_RULE_SETUP
-#line 915 "scan.l"
-ACTION_ECHO; BEGIN(ACTION_STRING);
+#line 920 "scan.l"
+ACTION_ECHO; /* character constant */
YY_BREAK
case 238:
-/* rule 238 can match eol */
YY_RULE_SETUP
-#line 916 "scan.l"
+#line 921 "scan.l"
+ACTION_ECHO; BEGIN(ACTION_STRING);
+ YY_BREAK
+case 239:
+/* rule 239 can match eol */
+YY_RULE_SETUP
+#line 922 "scan.l"
{
++linenum;
ACTION_ECHO;
@@ -3877,37 +3889,37 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 239:
+case 240:
YY_RULE_SETUP
-#line 928 "scan.l"
+#line 934 "scan.l"
ACTION_ECHO;
YY_BREAK
-case 240:
+case 241:
YY_RULE_SETUP
-#line 932 "scan.l"
+#line 938 "scan.l"
ACTION_ECHO;
YY_BREAK
-case 241:
+case 242:
YY_RULE_SETUP
-#line 933 "scan.l"
+#line 939 "scan.l"
ACTION_ECHO;
YY_BREAK
-case 242:
-/* rule 242 can match eol */
+case 243:
+/* rule 243 can match eol */
YY_RULE_SETUP
-#line 934 "scan.l"
+#line 940 "scan.l"
++linenum; ACTION_ECHO; BEGIN(ACTION);
YY_BREAK
-case 243:
+case 244:
YY_RULE_SETUP
-#line 935 "scan.l"
+#line 941 "scan.l"
ACTION_ECHO; BEGIN(ACTION);
YY_BREAK
-case 244:
+case 245:
YY_RULE_SETUP
-#line 936 "scan.l"
+#line 942 "scan.l"
ACTION_ECHO;
YY_BREAK
@@ -3915,7 +3927,7 @@ case YY_STATE_EOF(COMMENT):
case YY_STATE_EOF(COMMENT_DISCARD):
case YY_STATE_EOF(ACTION):
case YY_STATE_EOF(ACTION_STRING):
-#line 939 "scan.l"
+#line 945 "scan.l"
{
synerr( _( "EOF encountered inside an action" ) );
yyterminate();
@@ -3924,17 +3936,17 @@ case YY_STATE_EOF(ACTION_STRING):
case YY_STATE_EOF(EXTENDED_COMMENT):
case YY_STATE_EOF(GROUP_WITH_PARAMS):
case YY_STATE_EOF(GROUP_MINUS_PARAMS):
-#line 944 "scan.l"
+#line 950 "scan.l"
{
synerr( _( "EOF encountered inside pattern" ) );
yyterminate();
}
YY_BREAK
-case 245:
+case 246:
YY_RULE_SETUP
-#line 949 "scan.l"
+#line 955 "scan.l"
{
- yylval = myesc( (Char *) yytext );
+ yylval = myesc( (unsigned char *) yytext );
if ( YY_START == FIRSTCCL )
BEGIN(CCL);
@@ -3943,45 +3955,45 @@ YY_RULE_SETUP
}
YY_BREAK
-case 246:
+case 247:
YY_RULE_SETUP
-#line 960 "scan.l"
+#line 966 "scan.l"
fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout);
YY_BREAK
-case 247:
+case 248:
YY_RULE_SETUP
-#line 961 "scan.l"
+#line 967 "scan.l"
fwrite (escaped_qend, 1, strlen(escaped_qend), yyout);
YY_BREAK
-case 248:
-/* rule 248 can match eol */
+case 249:
+/* rule 249 can match eol */
YY_RULE_SETUP
-#line 962 "scan.l"
+#line 968 "scan.l"
ECHO;
YY_BREAK
-case 249:
-/* rule 249 can match eol */
+case 250:
+/* rule 250 can match eol */
YY_RULE_SETUP
-#line 963 "scan.l"
+#line 969 "scan.l"
ECHO;
YY_BREAK
case YY_STATE_EOF(SECT3):
-#line 964 "scan.l"
+#line 970 "scan.l"
sectnum = 0; yyterminate();
YY_BREAK
-case 250:
-/* rule 250 can match eol */
+case 251:
+/* rule 251 can match eol */
YY_RULE_SETUP
-#line 967 "scan.l"
+#line 973 "scan.l"
format_synerr( _( "bad character: %s" ), yytext );
YY_BREAK
-case 251:
+case 252:
YY_RULE_SETUP
-#line 969 "scan.l"
+#line 975 "scan.l"
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
-#line 3985 "scan.c"
+#line 3997 "scan.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(SECT2):
case YY_STATE_EOF(CODEBLOCK):
@@ -4288,7 +4300,7 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1107 )
+ if ( yy_current_state >= 1110 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
@@ -4316,11 +4328,11 @@ static int yy_get_next_buffer (void)
while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
{
yy_current_state = (int) yy_def[yy_current_state];
- if ( yy_current_state >= 1107 )
+ if ( yy_current_state >= 1110 )
yy_c = yy_meta[(unsigned int) yy_c];
}
yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
- yy_is_jam = (yy_current_state == 1106);
+ yy_is_jam = (yy_current_state == 1109);
return yy_is_jam ? 0 : yy_current_state;
}
@@ -5038,12 +5050,12 @@ void yyfree (void * ptr )
#define YYTABLES_NAME "yytables"
-#line 969 "scan.l"
+#line 975 "scan.l"
-int yywrap()
+int yywrap(void)
{
if ( --num_input_files > 0 )
{
@@ -5058,12 +5070,11 @@ int yywrap()
/* set_input_file - open the given file (if NULL, stdin) for scanning */
-void set_input_file( file )
-char *file;
+void set_input_file( char *file )
{
if ( file && strcmp( file, "-" ) )
{
- infilename = copy_string( file );
+ infilename = xstrdup(file);
yyin = fopen( infilename, "r" );
if ( yyin == NULL )
@@ -5073,32 +5084,9 @@ char *file;
else
{
yyin = stdin;
- infilename = copy_string( "<stdin>" );
+ infilename = xstrdup("<stdin>");
}
linenum = 1;
}
-
-/* Wrapper routines for accessing the scanner's malloc routines. */
-
-void *flex_alloc( size )
-size_t size;
- {
- return (void *) malloc( size );
- }
-
-void *flex_realloc( ptr, size )
-void *ptr;
-size_t size;
- {
- return (void *) realloc( ptr, size );
- }
-
-void flex_free( ptr )
-void *ptr;
- {
- if ( ptr )
- free( ptr );
- }
-
diff --git a/src/scan.l b/src/scan.l
index 64ff49f..cfc832d 100644
--- a/src/scan.l
+++ b/src/scan.l
@@ -59,7 +59,7 @@ extern const char *escaped_qstart, *escaped_qend;
#define MARK_END_OF_PROLOG mark_prolog();
#define YY_DECL \
- int flexscan()
+ int flexscan(void)
#define RETURNCHAR \
yylval = (unsigned char) yytext[0]; \
@@ -135,7 +135,7 @@ M4QEND "]]"
int doing_codeblock = false;
int i, brace_depth=0, brace_start_line=0;
- Char nmdef[MAXLINE];
+ char nmdef[MAXLINE];
<INITIAL>{
@@ -146,7 +146,7 @@ M4QEND "]]"
^"%x"{NAME}? return XSCDECL;
^"%{".*{NL} {
++linenum;
- line_directive_out( (FILE *) 0, 1 );
+ line_directive_out(NULL, 1);
indented_code = false;
BEGIN(CODEBLOCK);
}
@@ -166,7 +166,7 @@ M4QEND "]]"
sectnum = 2;
bracelevel = 0;
mark_defs1();
- line_directive_out( (FILE *) 0, 1 );
+ line_directive_out(NULL, 1);
BEGIN(SECT2PROLOG);
return SECTEND;
}
@@ -174,7 +174,7 @@ M4QEND "]]"
^"%pointer".*{NL} yytext_is_array = false; ++linenum;
^"%array".*{NL} yytext_is_array = true; ++linenum;
- ^"%option" BEGIN(OPTION); return OPTION_OP;
+ ^"%option" BEGIN(OPTION); return TOK_OPTION;
^"%"{LEXOPT}{OPTWS}[[:digit:]]*{OPTWS}{NL} ++linenum; /* ignore */
^"%"{LEXOPT}{WS}.*{NL} ++linenum; /* ignore */
@@ -231,8 +231,8 @@ M4QEND "]]"
[[:digit:]]+ linenum = myctoi( yytext );
\"[^"\n]*\" {
- flex_free( (void *) infilename );
- infilename = copy_string( yytext + 1 );
+ free(infilename);
+ infilename = xstrdup(yytext + 1);
infilename[strlen( infilename ) - 1] = '\0';
}
. /* ignore spurious characters */
@@ -272,8 +272,8 @@ M4QEND "]]"
buf_strnappend(&top_buf, yytext, yyleng);
}
- {M4QSTART} buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart));
- {M4QEND} buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend));
+ {M4QSTART} buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
+ {M4QEND} buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
[^{}\r\n] {
buf_strnappend(&top_buf, yytext, yyleng);
@@ -293,7 +293,7 @@ M4QEND "]]"
{NOT_WS}[^\r\n]* {
if(yyleng < MAXLINE)
{
- strcpy( (char *) nmdef, yytext );
+ strcpy( nmdef, yytext );
}
else
{
@@ -301,7 +301,7 @@ M4QEND "]]"
FLEX_EXIT(EXIT_FAILURE);
}
/* Skip trailing whitespace. */
- for ( i = strlen( (char *) nmdef ) - 1;
+ for ( i = strlen( nmdef ) - 1;
i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
--i )
;
@@ -421,12 +421,12 @@ M4QEND "]]"
yyget_lloc ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
yyset_lloc ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
- extra-type return OPT_EXTRA_TYPE;
- outfile return OPT_OUTFILE;
- prefix return OPT_PREFIX;
- yyclass return OPT_YYCLASS;
- header(-file)? return OPT_HEADER;
- tables-file return OPT_TABLES;
+ extra-type return TOK_EXTRA_TYPE;
+ outfile return TOK_OUTFILE;
+ prefix return TOK_PREFIX;
+ yyclass return TOK_YYCLASS;
+ header(-file)? return TOK_HEADER_FILE;
+ tables-file return TOK_TABLES_FILE;
tables-verify {
tablesverify = option_sense;
if(!tablesext && option_sense)
@@ -528,8 +528,7 @@ M4QEND "]]"
if (sf_skip_ws()){
/* We're in the middle of a (?x: ) pattern. */
/* Push back everything starting at the "|" */
- size_t amt;
- amt = strchr (yytext, '|') - yytext;
+ int amt = (int) (strchr (yytext, '|') - yytext);
yyless(amt);
}
else {
@@ -628,7 +627,7 @@ M4QEND "]]"
* The reason it was disabled is so yacc/bison can parse
* ccl operations, such as ccl difference and union.
*/
- && (cclval = ccllookup( (Char *) nmstr )) != 0 )
+ && (cclval = ccllookup( nmstr )) != 0 )
{
if ( input() != ']' )
synerr( _( "bad character class" ) );
@@ -642,7 +641,7 @@ M4QEND "]]"
/* We fudge a bit. We know that this ccl will
* soon be numbered as lastccl + 1 by cclinit.
*/
- cclinstal( (Char *) nmstr, lastccl + 1 );
+ cclinstal( nmstr, lastccl + 1 );
/* Push back everything but the leading bracket
* so the ccl can be rescanned.
@@ -662,7 +661,7 @@ M4QEND "]]"
* context.
*/
"{"{NAME}"}"[[:space:]]? {
- Char *nmdefptr;
+ char *nmdefptr;
int end_is_ws, end_ch;
end_ch = yytext[yyleng-1];
@@ -686,7 +685,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
else
{ /* push back name surrounded by ()'s */
- int len = strlen( (char *) nmdefptr );
+ int len = strlen( nmdefptr );
if (end_is_ws)
unput(end_ch);
@@ -694,7 +693,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
(len > 0 && nmdefptr[len - 1] == '$')
|| (end_is_ws && trlcontxt && !sf_skip_ws()))
{ /* don't use ()'s after all */
- PUT_BACK_STRING((char *) nmdefptr, 0);
+ PUT_BACK_STRING(nmdefptr, 0);
if ( nmdefptr[0] == '^' )
BEGIN(CARETISBOL);
@@ -703,7 +702,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
else
{
unput(')');
- PUT_BACK_STRING((char *) nmdefptr, 0);
+ PUT_BACK_STRING(nmdefptr, 0);
unput('(');
}
}
@@ -739,7 +738,13 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
return '(';
}
"(" sf_push(); return '(';
- ")" sf_pop(); return ')';
+ ")" {
+ if (_sf_top_ix > 0) {
+ sf_pop();
+ return ')';
+ } else
+ synerr(_("unbalanced parenthesis"));
+ }
[/|*+?.(){}] return (unsigned char) yytext[0];
. RETURNCHAR;
@@ -948,7 +953,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
}
<SECT2,QUOTE,FIRSTCCL,CCL>{ESCSEQ} {
- yylval = myesc( (Char *) yytext );
+ yylval = myesc( (unsigned char *) yytext );
if ( YY_START == FIRSTCCL )
BEGIN(CCL);
@@ -970,7 +975,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
%%
-int yywrap()
+int yywrap(void)
{
if ( --num_input_files > 0 )
{
@@ -985,12 +990,11 @@ int yywrap()
/* set_input_file - open the given file (if NULL, stdin) for scanning */
-void set_input_file( file )
-char *file;
+void set_input_file( char *file )
{
if ( file && strcmp( file, "-" ) )
{
- infilename = copy_string( file );
+ infilename = xstrdup(file);
yyin = fopen( infilename, "r" );
if ( yyin == NULL )
@@ -1000,31 +1004,8 @@ char *file;
else
{
yyin = stdin;
- infilename = copy_string( "<stdin>" );
+ infilename = xstrdup("<stdin>");
}
linenum = 1;
}
-
-
-/* Wrapper routines for accessing the scanner's malloc routines. */
-
-void *flex_alloc( size )
-size_t size;
- {
- return (void *) malloc( size );
- }
-
-void *flex_realloc( ptr, size )
-void *ptr;
-size_t size;
- {
- return (void *) realloc( ptr, size );
- }
-
-void flex_free( ptr )
-void *ptr;
- {
- if ( ptr )
- free( ptr );
- }
diff --git a/src/scanflags.c b/src/scanflags.c
index 5beb24a..aa3de8a 100644
--- a/src/scanflags.c
+++ b/src/scanflags.c
@@ -40,7 +40,8 @@ void
sf_push (void)
{
if (_sf_top_ix + 1 >= _sf_max)
- _sf_stk = (scanflags_t*) flex_realloc ( (void*) _sf_stk, sizeof(scanflags_t) * (_sf_max += 32));
+ _sf_max += 32;
+ _sf_stk = realloc(_sf_stk, sizeof(scanflags_t) * _sf_max);
// copy the top element
_sf_stk[_sf_top_ix + 1] = _sf_stk[_sf_top_ix];
@@ -59,7 +60,8 @@ void
sf_init (void)
{
assert(_sf_stk == NULL);
- _sf_stk = (scanflags_t*) flex_alloc ( sizeof(scanflags_t) * (_sf_max = 32));
+ _sf_max = 32;
+ _sf_stk = malloc(sizeof(scanflags_t) * _sf_max);
if (!_sf_stk)
lerr_fatal(_("Unable to allocate %zu of stack"), sizeof(scanflags_t));
_sf_stk[_sf_top_ix] = 0;
diff --git a/src/scanopt.c b/src/scanopt.c
index 10c372a..a118541 100644
--- a/src/scanopt.c
+++ b/src/scanopt.c
@@ -37,20 +37,6 @@
/* Internal structures */
-#ifdef HAVE_STRCASECMP
-#define STRCASECMP(a,b) strcasecmp(a,b)
-#else
-static int STRCASECMP PROTO ((const char *, const char *));
-
-static int STRCASECMP (a, b)
- const char *a;
- const char *b;
-{
- while (tolower ((unsigned char)*a++) == tolower ((unsigned char)*b++)) ;
- return b - a;
-}
-#endif
-
#define ARG_NONE 0x01
#define ARG_REQ 0x02
#define ARG_OPT 0x04
@@ -77,56 +63,45 @@ struct _scanopt_t {
};
/* Accessor functions. These WOULD be one-liners, but portability calls. */
-static const char *NAME PROTO ((struct _scanopt_t *, int));
-static int PRINTLEN PROTO ((struct _scanopt_t *, int));
-static int RVAL PROTO ((struct _scanopt_t *, int));
-static int FLAGS PROTO ((struct _scanopt_t *, int));
-static const char *DESC PROTO ((struct _scanopt_t *, int));
-static int scanopt_err PROTO ((struct _scanopt_t *, int, int));
-static int matchlongopt PROTO ((char *, char **, int *, char **, int *));
-static int find_opt
-PROTO ((struct _scanopt_t *, int, char *, int, int *, int *opt_offset));
-
-static const char *NAME (s, i)
- struct _scanopt_t *s;
- int i;
+static const char *NAME(struct _scanopt_t *, int);
+static int PRINTLEN(struct _scanopt_t *, int);
+static int RVAL(struct _scanopt_t *, int);
+static int FLAGS(struct _scanopt_t *, int);
+static const char *DESC(struct _scanopt_t *, int);
+static int scanopt_err(struct _scanopt_t *, int, int);
+static int matchlongopt(char *, char **, int *, char **, int *);
+static int find_opt(struct _scanopt_t *, int, char *, int, int *, int *opt_offset);
+
+static const char *NAME (struct _scanopt_t *s, int i)
{
return s->options[i].opt_fmt +
((s->aux[i].flags & IS_LONG) ? 2 : 1);
}
-static int PRINTLEN (s, i)
- struct _scanopt_t *s;
- int i;
+static int PRINTLEN (struct _scanopt_t *s, int i)
{
return s->aux[i].printlen;
}
-static int RVAL (s, i)
- struct _scanopt_t *s;
- int i;
+static int RVAL (struct _scanopt_t *s, int i)
{
return s->options[i].r_val;
}
-static int FLAGS (s, i)
- struct _scanopt_t *s;
- int i;
+static int FLAGS (struct _scanopt_t *s, int i)
{
return s->aux[i].flags;
}
-static const char *DESC (s, i)
- struct _scanopt_t *s;
- int i;
+static const char *DESC (struct _scanopt_t *s, int i)
{
return s->options[i].desc ? s->options[i].desc : "";
}
#ifndef NO_SCANOPT_USAGE
-static int get_cols PROTO ((void));
+static int get_cols (void);
-static int get_cols ()
+static int get_cols (void)
{
char *env;
int cols = 80; /* default */
@@ -159,15 +134,11 @@ static int get_cols ()
(s)->subscript= 0; \
}while(0)
-scanopt_t *scanopt_init (options, argc, argv, flags)
- const optspec_t *options;
- int argc;
- char **argv;
- int flags;
+scanopt_t *scanopt_init (const optspec_t *options, int argc, char **argv, int flags)
{
int i;
struct _scanopt_t *s;
- s = (struct _scanopt_t *) malloc (sizeof (struct _scanopt_t));
+ s = malloc(sizeof (struct _scanopt_t));
s->options = options;
s->optc = 0;
@@ -186,10 +157,10 @@ scanopt_t *scanopt_init (options, argc, argv, flags)
s->optc++;
/* Build auxiliary data */
- s->aux = (struct _aux *) malloc (s->optc * sizeof (struct _aux));
+ s->aux = malloc((size_t) s->optc * sizeof (struct _aux));
for (i = 0; i < s->optc; i++) {
- const Char *p, *pname;
+ const unsigned char *p, *pname;
const struct optspec_t *opt;
struct _aux *aux;
@@ -200,14 +171,14 @@ scanopt_t *scanopt_init (options, argc, argv, flags)
if (opt->opt_fmt[0] == '-' && opt->opt_fmt[1] == '-') {
aux->flags |= IS_LONG;
- pname = (const Char *)(opt->opt_fmt + 2);
+ pname = (const unsigned char *)(opt->opt_fmt + 2);
s->has_long = 1;
}
else {
- pname = (const Char *)(opt->opt_fmt + 1);
+ pname = (const unsigned char *)(opt->opt_fmt + 1);
s->has_short = 1;
}
- aux->printlen = strlen (opt->opt_fmt);
+ aux->printlen = (int) strlen (opt->opt_fmt);
aux->namelen = 0;
for (p = pname + 1; *p; p++) {
@@ -255,10 +226,7 @@ typedef struct usg_elem usg_elem;
[indent][option, alias1, alias2...][indent][description line1
description line2...]
*/
-int scanopt_usage (scanner, fp, usage)
- scanopt_t *scanner;
- FILE *fp;
- const char *usage;
+int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage)
{
struct _scanopt_t *s;
int i, columns, indent = 2;
@@ -293,7 +261,7 @@ int scanopt_usage (scanner, fp, usage)
fprintf (fp, "\n");
/* Sort by r_val and string. Yes, this is O(n*n), but n is small. */
- store = (usg_elem *) malloc (s->optc * sizeof (usg_elem));
+ store = malloc((size_t) s->optc * sizeof (usg_elem));
for (i = 0; i < s->optc; i++) {
/* grab the next preallocate node. */
@@ -319,7 +287,7 @@ int scanopt_usage (scanner, fp, usage)
}
if (!ptr_if_no_alias
&&
- STRCASECMP (NAME (s, (*ue_curr)->idx),
+ strcasecmp (NAME (s, (*ue_curr)->idx),
NAME (s, ue->idx)) > 0) {
ptr_if_no_alias = ue_curr;
}
@@ -391,7 +359,7 @@ int scanopt_usage (scanner, fp, usage)
maxlen[0] = len;
/* It's much easier to calculate length for description column! */
- len = strlen (DESC (s, ue->idx));
+ len = (int) strlen (DESC (s, ue->idx));
if (len > maxlen[1])
maxlen[1] = len;
}
@@ -529,10 +497,7 @@ int scanopt_usage (scanner, fp, usage)
#endif /* no scanopt_usage */
-static int scanopt_err (s, is_short, err)
- struct _scanopt_t *s;
- int is_short;
- int err;
+static int scanopt_err (struct _scanopt_t *s, int is_short, int err)
{
const char *optname = "";
char optchar[2];
@@ -587,16 +552,11 @@ static int scanopt_err (s, is_short, err)
* optname will point to str + 2
*
*/
-static int matchlongopt (str, optname, optlen, arg, arglen)
- char *str;
- char **optname;
- int *optlen;
- char **arg;
- int *arglen;
+static int matchlongopt (char *str, char **optname, int *optlen, char **arg, int *arglen)
{
char *p;
- *optname = *arg = (char *) 0;
+ *optname = *arg = NULL;
*optlen = *arglen = 0;
/* Match regex /--./ */
@@ -605,7 +565,7 @@ static int matchlongopt (str, optname, optlen, arg, arglen)
return 0;
p += 2;
- *optname = (char *) p;
+ *optname = p;
/* find the end of optname */
while (*p && *p != '=')
@@ -634,13 +594,8 @@ static int matchlongopt (str, optname, optlen, arg, arglen)
* Short options must be exact.
* Return boolean true if found and no error.
* Error stored in err_code or zero if no error. */
-static int find_opt (s, lookup_long, optstart, len, err_code, opt_offset)
- struct _scanopt_t *s;
- int lookup_long;
- char *optstart;
- int len;
- int *err_code;
- int *opt_offset;
+static int find_opt (struct _scanopt_t *s, int lookup_long, char *optstart, int
+ len, int *err_code, int *opt_offset)
{
int nmatch = 0, lastr_val = 0, i;
@@ -651,11 +606,9 @@ static int find_opt (s, lookup_long, optstart, len, err_code, opt_offset)
return 0;
for (i = 0; i < s->optc; i++) {
- char *optname;
+ const char *optname;
- optname =
- (char *) (s->options[i].opt_fmt +
- (lookup_long ? 2 : 1));
+ optname = s->options[i].opt_fmt + (lookup_long ? 2 : 1);
if (lookup_long && (s->aux[i].flags & IS_LONG)) {
if (len > s->aux[i].namelen)
@@ -699,10 +652,7 @@ static int find_opt (s, lookup_long, optstart, len, err_code, opt_offset)
}
-int scanopt (svoid, arg, optindex)
- scanopt_t *svoid;
- char **arg;
- int *optindex;
+int scanopt (scanopt_t *svoid, char **arg, int *optindex)
{
char *optname = NULL, *optarg = NULL, *pstart;
int namelen = 0, arglen = 0;
@@ -788,7 +738,7 @@ int scanopt (svoid, arg, optindex)
arglen = 0;
}
else
- arglen = strlen (optarg);
+ arglen = (int) strlen (optarg);
}
/* At this point, we have a long or short option matched at opt_offset into
@@ -848,16 +798,14 @@ int scanopt (svoid, arg, optindex)
}
-int scanopt_destroy (svoid)
- scanopt_t *svoid;
+int scanopt_destroy (scanopt_t *svoid)
{
struct _scanopt_t *s;
s = (struct _scanopt_t *) svoid;
- if (s) {
- if (s->aux)
- free (s->aux);
- free (s);
+ if (s != NULL) {
+ free(s->aux);
+ free(s);
}
return 0;
}
diff --git a/src/scanopt.h b/src/scanopt.h
index 359a18a..c6e7dec 100644
--- a/src/scanopt.h
+++ b/src/scanopt.h
@@ -47,9 +47,6 @@
#ifdef __cplusplus
extern "C" {
#endif
-#ifndef PROTO
-#define PROTO(args) args
-#endif
/* Error codes. */ enum scanopt_err_t {
SCANOPT_ERR_OPT_UNRECOGNIZED = -1, /* Unrecognized option. */
SCANOPT_ERR_OPT_AMBIGUOUS = -2, /* It matched more than one option name. */
@@ -85,12 +82,12 @@ extern "C" {
* flags - Control behavior.
* Return: A malloc'd pointer .
*/
- scanopt_t *scanopt_init PROTO ((const optspec_t * options,
- int argc, char **argv, int flags));
+ scanopt_t *scanopt_init (const optspec_t * options, int argc,
+ char **argv, int flags);
/* Frees memory used by scanner.
* Always returns 0. */
- int scanopt_destroy PROTO ((scanopt_t * scanner));
+ int scanopt_destroy (scanopt_t * scanner);
#ifndef NO_SCANOPT_USAGE
/* Prints a usage message based on contents of optlist.
@@ -100,10 +97,7 @@ extern "C" {
* usage - Text to be prepended to option list. May be NULL.
* Return: Always returns 0 (zero).
*/
- int scanopt_usage
- PROTO (
- (scanopt_t * scanner, FILE * fp,
- const char *usage));
+ int scanopt_usage (scanopt_t * scanner, FILE * fp, const char *usage);
#endif
/* Scans command-line options in argv[].
@@ -120,10 +114,7 @@ extern "C" {
* < 0 on error (return value is an error code).
*
*/
- int scanopt
- PROTO (
- (scanopt_t * scanner, char **optarg,
- int *optindex));
+ int scanopt (scanopt_t * scanner, char **optarg, int *optindex);
#ifdef __cplusplus
}
diff --git a/src/skel.c b/src/skel.c
index bf4c289..b22060a 100644
--- a/src/skel.c
+++ b/src/skel.c
@@ -90,7 +90,7 @@ const char *skel[] = {
"#define FLEX_SCANNER",
"#define YY_FLEX_MAJOR_VERSION 2",
"#define YY_FLEX_MINOR_VERSION 6",
- "#define YY_FLEX_SUBMINOR_VERSION 0",
+ "#define YY_FLEX_SUBMINOR_VERSION 1",
"#if YY_FLEX_SUBMINOR_VERSION > 0",
"#define FLEX_BETA",
"#endif",
@@ -290,25 +290,13 @@ const char *skel[] = {
"/* end standard C++ headers. */",
"%endif",
"",
- "#ifdef __cplusplus",
- "",
- "/* The \"const\" storage-class-modifier is valid. */",
- "#define YY_USE_CONST",
- "",
- "#else /* ! __cplusplus */",
- "",
- "/* C99 requires __STDC__ to be defined as 1. */",
- "#if defined (__STDC__)",
- "",
- "#define YY_USE_CONST",
- "",
- "#endif /* defined (__STDC__) */",
- "#endif /* ! __cplusplus */",
- "",
- "#ifdef YY_USE_CONST",
+ "/* TODO: this is always defined, so inline it */",
"#define yyconst const",
+ "",
+ "#if defined(__GNUC__) && __GNUC__ >= 3",
+ "#define yynoreturn __attribute__((__noreturn__))",
"#else",
- "#define yyconst",
+ "#define yynoreturn",
"#endif",
"",
"%# For compilers that can not handle prototypes.",
@@ -544,7 +532,7 @@ const char *skel[] = {
"#endif",
"",
"%if-not-reentrant",
- "extern yy_size_t yyleng;",
+ "extern int yyleng;",
"%endif",
"",
"%if-c-only",
@@ -633,7 +621,7 @@ const char *skel[] = {
" /* Size of input buffer in bytes, not including room for EOB",
" * characters.",
" */",
- " yy_size_t yy_buf_size;",
+ " int yy_buf_size;",
"",
" /* Number of characters read into yy_ch_buf, not including EOB",
" * characters.",
@@ -695,7 +683,7 @@ const char *skel[] = {
"/* Stack of input buffers. */",
"static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */",
"static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */",
- "static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */",
+ "static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */",
"%endif",
"%ok-for-header",
"%endif",
@@ -728,10 +716,10 @@ const char *skel[] = {
"/* yy_hold_char holds the character lost when yytext is formed. */",
"static char yy_hold_char;",
"static int yy_n_chars; /* number of characters read into yy_ch_buf */",
- "yy_size_t yyleng;",
+ "int yyleng;",
"",
"/* Points to current character in buffer. */",
- "static char *yy_c_buf_p = (char *) 0;",
+ "static char *yy_c_buf_p = NULL;",
"static int yy_init = 0; /* whether we need to initialize */",
"static int yy_start = 0; /* start state number */",
"",
@@ -764,7 +752,7 @@ const char *skel[] = {
"",
"YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG );",
"YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG );",
- "YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, yy_size_t len M4_YY_PROTO_LAST_ARG );",
+ "YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, int len M4_YY_PROTO_LAST_ARG );",
"",
"%endif",
"",
@@ -822,10 +810,7 @@ const char *skel[] = {
"static yy_state_type yy_get_previous_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );",
"static yy_state_type yy_try_NUL_trans M4_YY_PARAMS( yy_state_type current_state M4_YY_PROTO_LAST_ARG);",
"static int yy_get_next_buffer M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );",
- "#if defined(__GNUC__) && __GNUC__ >= 3",
- "__attribute__((__noreturn__))",
- "#endif",
- "static void yy_fatal_error M4_YY_PARAMS( yyconst char msg[] M4_YY_PROTO_LAST_ARG );",
+ "static void yynoreturn yy_fatal_error M4_YY_PARAMS( yyconst char* msg M4_YY_PROTO_LAST_ARG );",
"]])",
"",
"%endif",
@@ -899,7 +884,7 @@ const char *skel[] = {
" YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */",
" char yy_hold_char;",
" int yy_n_chars;",
- " yy_size_t yyleng_r;",
+ " int yyleng_r;",
" char *yy_c_buf_p;",
" int yy_init;",
" int yy_start;",
@@ -1036,7 +1021,7 @@ const char *skel[] = {
"",
"m4_ifdef( [[M4_YY_NO_GET_LENG]],,",
"[[",
- "yy_size_t yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );",
+ " int yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );",
"]])",
"",
"m4_ifdef( [[M4_YY_NO_GET_TEXT]],,",
@@ -1192,7 +1177,7 @@ const char *skel[] = {
"/* This used to be an fputs(), but since the string might contain NUL's,",
" * we now use fwrite().",
" */",
- "#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)",
+ "#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)",
"%endif",
"%if-c++-only C++ definition",
"#define ECHO LexerOutput( yytext, yyleng )",
@@ -1744,7 +1729,7 @@ const char *skel[] = {
" * This constructor simply maintains backward compatibility.",
" * DEPRECATED",
" */",
- "yyFlexLexer::yyFlexLexer( FLEX_STD istream* arg_yyin, FLEX_STD ostream* arg_yyout ):",
+ "yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ):",
" yyin(arg_yyin ? arg_yyin->rdbuf() : std::cin.rdbuf()),",
" yyout(arg_yyout ? arg_yyout->rdbuf() : std::cout.rdbuf())",
"{",
@@ -1780,7 +1765,7 @@ const char *skel[] = {
" yy_start_stack_ptr = yy_start_stack_depth = 0;",
" yy_start_stack = NULL;",
"",
- " yy_buffer_stack = 0;",
+ " yy_buffer_stack = NULL;",
" yy_buffer_stack_top = 0;",
" yy_buffer_stack_max = 0;",
"",
@@ -1929,7 +1914,7 @@ const char *skel[] = {
"",
" else",
" {",
- " yy_size_t num_to_read =",
+ " int num_to_read =",
" YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;",
"",
" while ( num_to_read <= 0 )",
@@ -1948,7 +1933,7 @@ const char *skel[] = {
"",
" if ( b->yy_is_our_buffer )",
" {",
- " yy_size_t new_size = b->yy_buf_size * 2;",
+ " int new_size = b->yy_buf_size * 2;",
"",
" if ( new_size <= 0 )",
" b->yy_buf_size += b->yy_buf_size / 8;",
@@ -1962,7 +1947,7 @@ const char *skel[] = {
" }",
" else",
" /* Can't grow it, we don't own it. */",
- " b->yy_ch_buf = 0;",
+ " b->yy_ch_buf = NULL;",
"",
" if ( ! b->yy_ch_buf )",
" YY_FATAL_ERROR(",
@@ -2090,7 +2075,7 @@ const char *skel[] = {
" if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )",
" { /* need to shift things up to make room */",
" /* +2 for EOB chars. */",
- " yy_size_t number_to_move = YY_G(yy_n_chars) + 2;",
+ " int number_to_move = YY_G(yy_n_chars) + 2;",
" char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[",
" YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];",
" char *source =",
@@ -2102,7 +2087,7 @@ const char *skel[] = {
" yy_cp += (int) (dest - source);",
" yy_bp += (int) (dest - source);",
" YY_CURRENT_BUFFER_LVALUE->yy_n_chars =",
- " YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;",
+ " YY_G(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;",
"",
" if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )",
" YY_FATAL_ERROR( \"flex scanner push-back overflow\" );",
@@ -2157,7 +2142,7 @@ const char *skel[] = {
"",
" else",
" { /* need more input */",
- " yy_size_t offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);",
+ " int offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);",
" ++YY_G(yy_c_buf_p);",
"",
" switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) )",
@@ -2181,7 +2166,7 @@ const char *skel[] = {
" case EOB_ACT_END_OF_FILE:",
" {",
" if ( yywrap( M4_YY_CALL_ONLY_ARG ) )",
- " return EOF;",
+ " return 0;",
"",
" if ( ! YY_G(yy_did_buffer_switch_on_eof) )",
" YY_NEW_FILE;",
@@ -2552,7 +2537,7 @@ const char *skel[] = {
"void yyFlexLexer::yyensure_buffer_stack(void)",
"%endif",
"{",
- " yy_size_t num_to_alloc;",
+ " int num_to_alloc;",
" M4_YY_DECL_GUTS_VAR();",
"",
" if (!YY_G(yy_buffer_stack)) {",
@@ -2561,7 +2546,7 @@ const char *skel[] = {
" * scanner will even need a stack. We use 2 instead of 1 to avoid an",
" * immediate realloc on the next call.",
" */",
- " num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */",
+ " num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */",
" YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc",
" (num_to_alloc * sizeof(struct yy_buffer_state*)",
" M4_YY_CALL_LAST_ARG);",
@@ -2617,7 +2602,7 @@ const char *skel[] = {
" base[size-2] != YY_END_OF_BUFFER_CHAR ||",
" base[size-1] != YY_END_OF_BUFFER_CHAR )",
" /* They forgot to leave room for the EOB's. */",
- " return 0;",
+ " return NULL;",
"",
" b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) M4_YY_CALL_LAST_ARG );",
" if ( ! b )",
@@ -2626,7 +2611,7 @@ const char *skel[] = {
" b->yy_buf_size = size - 2; /* \"- 2\" to take care of EOB's */",
" b->yy_buf_pos = b->yy_ch_buf = base;",
" b->yy_is_our_buffer = 0;",
- " b->yy_input_file = 0;",
+ " b->yy_input_file = NULL;",
" b->yy_n_chars = b->yy_buf_size;",
" b->yy_is_interactive = 0;",
" b->yy_at_bol = 1;",
@@ -2656,7 +2641,7 @@ const char *skel[] = {
"{",
" m4_dnl M4_YY_DECL_GUTS_VAR();",
"",
- " return yy_scan_bytes( yystr, strlen(yystr) M4_YY_CALL_LAST_ARG);",
+ " return yy_scan_bytes( yystr, (int) strlen(yystr) M4_YY_CALL_LAST_ARG);",
"}",
"%endif",
"]])",
@@ -2672,7 +2657,7 @@ const char *skel[] = {
" * M4_YY_DOC_PARAM",
" * @return the newly allocated buffer state object.",
" */",
- "YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yybytes_len)",
+ "YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, int ,_yybytes_len)",
"{",
" YY_BUFFER_STATE b;",
" char *buf;",
@@ -2681,7 +2666,7 @@ const char *skel[] = {
" m4_dnl M4_YY_DECL_GUTS_VAR();",
"",
" /* Get memory for full buffer, including space for trailing EOB's. */",
- " n = _yybytes_len + 2;",
+ " n = (yy_size_t) _yybytes_len + 2;",
" buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG );",
" if ( ! buf )",
" YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_bytes()\" );",
@@ -2721,7 +2706,7 @@ const char *skel[] = {
" yy_size_t new_size;",
"",
" YY_G(yy_start_stack_depth) += YY_START_STACK_INCR;",
- " new_size = YY_G(yy_start_stack_depth) * sizeof( int );",
+ " new_size = (yy_size_t) YY_G(yy_start_stack_depth) * sizeof( int );",
"",
" if ( ! YY_G(yy_start_stack) )",
" YY_G(yy_start_stack) = (int *) yyalloc( new_size M4_YY_CALL_LAST_ARG );",
@@ -2778,7 +2763,7 @@ const char *skel[] = {
"#endif",
"",
"%if-c-only",
- "static void yy_fatal_error YYFARGS1(yyconst char*, msg)",
+ "static void yynoreturn yy_fatal_error YYFARGS1(yyconst char*, msg)",
"{",
" M4_YY_DECL_GUTS_VAR();",
" M4_YY_NOOP_GUTS_VAR();",
@@ -2787,7 +2772,7 @@ const char *skel[] = {
"}",
"%endif",
"%if-c++-only",
- "void yyFlexLexer::LexerError( yyconst char msg[] )",
+ "void yyFlexLexer::LexerError( yyconst char* msg )",
"{",
" M4_YY_DECL_GUTS_VAR();",
" std::cerr << msg << std::endl;",
@@ -2899,7 +2884,7 @@ const char *skel[] = {
"/** Get the length of the current token.",
" * M4_YY_DOC_PARAM",
" */",
- "yy_size_t yyget_leng YYFARGS0(void)",
+ "int yyget_leng YYFARGS0(void)",
"{",
" M4_YY_DECL_GUTS_VAR();",
" return yyleng;",
@@ -3162,10 +3147,10 @@ const char *skel[] = {
" yylineno = 1;",
" ]])",
"]])",
- " YY_G(yy_buffer_stack) = 0;",
+ " YY_G(yy_buffer_stack) = NULL;",
" YY_G(yy_buffer_stack_top) = 0;",
" YY_G(yy_buffer_stack_max) = 0;",
- " YY_G(yy_c_buf_p) = (char *) 0;",
+ " YY_G(yy_c_buf_p) = NULL;",
" YY_G(yy_init) = 0;",
" YY_G(yy_start) = 0;",
"",
@@ -3196,8 +3181,8 @@ const char *skel[] = {
" yyin = stdin;",
" yyout = stdout;",
"#else",
- " yyin = (FILE *) 0;",
- " yyout = (FILE *) 0;",
+ " yyin = NULL;",
+ " yyout = NULL;",
"#endif",
"",
" /* For future reference: Set errno on error, since we are called by",
@@ -3294,7 +3279,7 @@ const char *skel[] = {
"{",
" M4_YY_DECL_GUTS_VAR();",
" M4_YY_NOOP_GUTS_VAR();",
- " return (void *) malloc( size );",
+ " return malloc(size);",
"}",
"]])",
"",
@@ -3312,7 +3297,7 @@ const char *skel[] = {
" * any pointer type to void*, and deal with argument conversions",
" * as though doing an assignment.",
" */",
- " return (void *) realloc( (char *) ptr, size );",
+ " return realloc(ptr, size);",
"}",
"]])",
"",
diff --git a/src/stage1scan.c b/src/stage1scan.c
new file mode 100644
index 0000000..54502ae
--- /dev/null
+++ b/src/stage1scan.c
@@ -0,0 +1,5078 @@
+#line 2 "stage1scan.c"
+
+#line 4 "stage1scan.c"
+
+#define YY_INT_ALIGNED short int
+
+/* A lexical scanner generated by flex */
+
+#define FLEX_SCANNER
+#define YY_FLEX_MAJOR_VERSION 2
+#define YY_FLEX_MINOR_VERSION 6
+#define YY_FLEX_SUBMINOR_VERSION 1
+#if YY_FLEX_SUBMINOR_VERSION > 0
+#define FLEX_BETA
+#endif
+
+/* First, we deal with platform-specific or compiler-specific issues. */
+
+/* begin standard C headers. */
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
+
+/* end standard C headers. */
+
+/* flex integer type definitions */
+
+#ifndef FLEXINT_H
+#define FLEXINT_H
+
+/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
+
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
+#include <inttypes.h>
+typedef int8_t flex_int8_t;
+typedef uint8_t flex_uint8_t;
+typedef int16_t flex_int16_t;
+typedef uint16_t flex_uint16_t;
+typedef int32_t flex_int32_t;
+typedef uint32_t flex_uint32_t;
+#else
+typedef signed char flex_int8_t;
+typedef short int flex_int16_t;
+typedef int flex_int32_t;
+typedef unsigned char flex_uint8_t;
+typedef unsigned short int flex_uint16_t;
+typedef unsigned int flex_uint32_t;
+
+/* Limits of integral types. */
+#ifndef INT8_MIN
+#define INT8_MIN (-128)
+#endif
+#ifndef INT16_MIN
+#define INT16_MIN (-32767-1)
+#endif
+#ifndef INT32_MIN
+#define INT32_MIN (-2147483647-1)
+#endif
+#ifndef INT8_MAX
+#define INT8_MAX (127)
+#endif
+#ifndef INT16_MAX
+#define INT16_MAX (32767)
+#endif
+#ifndef INT32_MAX
+#define INT32_MAX (2147483647)
+#endif
+#ifndef UINT8_MAX
+#define UINT8_MAX (255U)
+#endif
+#ifndef UINT16_MAX
+#define UINT16_MAX (65535U)
+#endif
+#ifndef UINT32_MAX
+#define UINT32_MAX (4294967295U)
+#endif
+
+#endif /* ! C99 */
+
+#endif /* ! FLEXINT_H */
+
+/* TODO: this is always defined, so inline it */
+#define yyconst const
+
+#if defined(__GNUC__) && __GNUC__ >= 3
+#define yynoreturn __attribute__((__noreturn__))
+#else
+#define yynoreturn
+#endif
+
+/* Returned upon end-of-file. */
+#define YY_NULL 0
+
+/* Promotes a possibly negative, possibly signed char to an unsigned
+ * integer for use as an array index. If the signed char is negative,
+ * we want to instead treat it as an 8-bit unsigned char, hence the
+ * double cast.
+ */
+#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
+
+/* Enter a start condition. This macro really ought to take a parameter,
+ * but we do it the disgusting crufty way forced on us by the ()-less
+ * definition of BEGIN.
+ */
+#define BEGIN (yy_start) = 1 + 2 *
+
+/* Translate the current start state into a value that can be later handed
+ * to BEGIN to return to the state. The YYSTATE alias is for lex
+ * compatibility.
+ */
+#define YY_START (((yy_start) - 1) / 2)
+#define YYSTATE YY_START
+
+/* Action number for EOF rule of a given start state. */
+#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
+
+/* Special action meaning "start processing a new file". */
+#define YY_NEW_FILE yyrestart(yyin )
+
+#define YY_END_OF_BUFFER_CHAR 0
+
+/* Size of default input buffer. */
+#ifndef YY_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k.
+ * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
+ * Ditto for the __ia64__ case accordingly.
+ */
+#define YY_BUF_SIZE 32768
+#else
+#define YY_BUF_SIZE 16384
+#endif /* __ia64__ */
+#endif
+
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
+#ifndef YY_TYPEDEF_YY_BUFFER_STATE
+#define YY_TYPEDEF_YY_BUFFER_STATE
+typedef struct yy_buffer_state *YY_BUFFER_STATE;
+#endif
+
+#ifndef YY_TYPEDEF_YY_SIZE_T
+#define YY_TYPEDEF_YY_SIZE_T
+typedef size_t yy_size_t;
+#endif
+
+extern int yyleng;
+
+extern FILE *yyin, *yyout;
+
+#define EOB_ACT_CONTINUE_SCAN 0
+#define EOB_ACT_END_OF_FILE 1
+#define EOB_ACT_LAST_MATCH 2
+
+ #define YY_LESS_LINENO(n)
+ #define YY_LINENO_REWIND_TO(ptr)
+
+/* Return all but the first "n" matched characters back to the input stream. */
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ int yyless_macro_arg = (n); \
+ YY_LESS_LINENO(yyless_macro_arg);\
+ *yy_cp = (yy_hold_char); \
+ YY_RESTORE_YY_MORE_OFFSET \
+ (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+ YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+ } \
+ while ( 0 )
+
+#define unput(c) yyunput( c, (yytext_ptr) )
+
+#ifndef YY_STRUCT_YY_BUFFER_STATE
+#define YY_STRUCT_YY_BUFFER_STATE
+struct yy_buffer_state
+ {
+ FILE *yy_input_file;
+
+ char *yy_ch_buf; /* input buffer */
+ char *yy_buf_pos; /* current position in input buffer */
+
+ /* Size of input buffer in bytes, not including room for EOB
+ * characters.
+ */
+ int yy_buf_size;
+
+ /* Number of characters read into yy_ch_buf, not including EOB
+ * characters.
+ */
+ int yy_n_chars;
+
+ /* Whether we "own" the buffer - i.e., we know we created it,
+ * and can realloc() it to grow it, and should free() it to
+ * delete it.
+ */
+ int yy_is_our_buffer;
+
+ /* Whether this is an "interactive" input source; if so, and
+ * if we're using stdio for input, then we want to use getc()
+ * instead of fread(), to make sure we stop fetching input after
+ * each newline.
+ */
+ int yy_is_interactive;
+
+ /* Whether we're considered to be at the beginning of a line.
+ * If so, '^' rules will be active on the next match, otherwise
+ * not.
+ */
+ int yy_at_bol;
+
+ int yy_bs_lineno; /**< The line count. */
+ int yy_bs_column; /**< The column count. */
+
+ /* Whether to try to fill the input buffer when we reach the
+ * end of it.
+ */
+ int yy_fill_buffer;
+
+ int yy_buffer_status;
+
+#define YY_BUFFER_NEW 0
+#define YY_BUFFER_NORMAL 1
+ /* When an EOF's been seen but there's still some text to process
+ * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+ * shouldn't try reading from the input source any more. We might
+ * still have a bunch of tokens to match, though, because of
+ * possible backing-up.
+ *
+ * When we actually see the EOF, we change the status to "new"
+ * (via yyrestart()), so that the user can continue scanning by
+ * just pointing yyin at a new input file.
+ */
+#define YY_BUFFER_EOF_PENDING 2
+
+ };
+#endif /* !YY_STRUCT_YY_BUFFER_STATE */
+
+/* Stack of input buffers. */
+static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
+static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
+static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
+
+/* We provide macros for accessing buffer states in case in the
+ * future we want to put the buffer states in a more general
+ * "scanner state".
+ *
+ * Returns the top of the stack, or NULL.
+ */
+#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
+ ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
+ : NULL)
+
+/* Same as previous macro, but useful when we know that the buffer stack is not
+ * NULL or when we need an lvalue. For internal use only.
+ */
+#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
+
+/* yy_hold_char holds the character lost when yytext is formed. */
+static char yy_hold_char;
+static int yy_n_chars; /* number of characters read into yy_ch_buf */
+int yyleng;
+
+/* Points to current character in buffer. */
+static char *yy_c_buf_p = NULL;
+static int yy_init = 0; /* whether we need to initialize */
+static int yy_start = 0; /* start state number */
+
+/* Flag which is used to allow yywrap()'s to do buffer switches
+ * instead of setting up a fresh yyin. A bit of a hack ...
+ */
+static int yy_did_buffer_switch_on_eof;
+
+void yyrestart (FILE *input_file );
+void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
+YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
+void yy_delete_buffer (YY_BUFFER_STATE b );
+void yy_flush_buffer (YY_BUFFER_STATE b );
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
+void yypop_buffer_state (void );
+
+static void yyensure_buffer_stack (void );
+static void yy_load_buffer_state (void );
+static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
+
+#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
+
+YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
+YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
+YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
+
+void *yyalloc (yy_size_t );
+void *yyrealloc (void *,yy_size_t );
+void yyfree (void * );
+
+#define yy_new_buffer yy_create_buffer
+
+#define yy_set_interactive(is_interactive) \
+ { \
+ if ( ! YY_CURRENT_BUFFER ){ \
+ yyensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+ yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+ }
+
+#define yy_set_bol(at_bol) \
+ { \
+ if ( ! YY_CURRENT_BUFFER ){\
+ yyensure_buffer_stack (); \
+ YY_CURRENT_BUFFER_LVALUE = \
+ yy_create_buffer(yyin,YY_BUF_SIZE ); \
+ } \
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+ }
+
+#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
+
+/* Begin user sect3 */
+
+typedef unsigned char YY_CHAR;
+
+FILE *yyin = NULL, *yyout = NULL;
+
+typedef int yy_state_type;
+
+extern int yylineno;
+
+int yylineno = 1;
+
+extern char *yytext;
+#ifdef yytext_ptr
+#undef yytext_ptr
+#endif
+#define yytext_ptr yytext
+
+static yy_state_type yy_get_previous_state (void );
+static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
+static int yy_get_next_buffer (void );
+static void yynoreturn yy_fatal_error (yyconst char* msg );
+
+/* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.
+ */
+#define YY_DO_BEFORE_ACTION \
+ (yytext_ptr) = yy_bp; \
+ (yytext_ptr) -= (yy_more_len); \
+ yyleng = (int) (yy_cp - (yytext_ptr)); \
+ (yy_hold_char) = *yy_cp; \
+ *yy_cp = '\0'; \
+ (yy_c_buf_p) = yy_cp;
+
+#define YY_NUM_RULES 252
+#define YY_END_OF_BUFFER 253
+/* This struct is not used in this scanner,
+ but its presence is necessary. */
+struct yy_trans_info
+ {
+ flex_int32_t yy_verify;
+ flex_int32_t yy_nxt;
+ };
+static yyconst flex_int16_t yy_accept[1110] =
+ { 0,
+ 0, 0, 0, 0, 0, 0, 249, 249, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 253, 251,
+ 9, 20, 251, 18, 1, 19, 251, 251, 251, 251,
+ 17, 165, 150, 151, 165, 143, 165, 162, 163, 164,
+ 164, 165, 165, 165, 164, 149, 139, 165, 165, 141,
+ 142, 137, 138, 137, 136, 135, 136, 249, 249, 250,
+ 250, 41, 42, 41, 41, 41, 41, 41, 41, 50,
+
+ 49, 51, 251, 171, 171, 166, 171, 167, 168, 170,
+ 172, 220, 221, 220, 218, 217, 219, 173, 175, 173,
+ 174, 173, 187, 187, 187, 187, 189, 191, 189, 189,
+ 189, 189, 190, 234, 239, 234, 238, 240, 240, 236,
+ 236, 236, 235, 235, 230, 231, 251, 132, 251, 25,
+ 26, 25, 22, 25, 25, 241, 243, 241, 244, 245,
+ 228, 228, 229, 228, 228, 228, 228, 228, 228, 228,
+ 131, 53, 52, 131, 131, 131, 131, 54, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 37,
+
+ 34, 37, 35, 48, 45, 251, 48, 48, 44, 43,
+ 177, 176, 178, 179, 180, 181, 182, 183, 184, 32,
+ 33, 32, 31, 29, 30, 29, 28, 9, 20, 0,
+ 18, 1, 19, 0, 0, 0, 16, 10, 0, 0,
+ 0, 0, 4, 16, 5, 0, 2, 17, 150, 151,
+ 0, 0, 0, 145, 0, 161, 159, 0, 155, 155,
+ 0, 246, 246, 246, 0, 0, 144, 0, 149, 139,
+ 0, 0, 0, 141, 142, 154, 140, 0, 138, 136,
+ 135, 135, 133, 134, 249, 249, 247, 248, 42, 0,
+ 0, 39, 40, 0, 50, 49, 51, 0, 166, 0,
+
+ 166, 169, 170, 221, 217, 175, 0, 185, 186, 191,
+ 188, 234, 239, 0, 237, 0, 223, 236, 236, 236,
+ 232, 233, 0, 132, 0, 26, 21, 23, 24, 241,
+ 243, 242, 0, 0, 229, 222, 226, 227, 53, 52,
+ 0, 130, 0, 0, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 55, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 0, 36, 35,
+ 45, 46, 47, 32, 33, 30, 27, 0, 16, 10,
+ 0, 14, 0, 0, 0, 0, 0, 4, 16, 5,
+
+ 0, 6, 0, 146, 0, 147, 0, 160, 0, 155,
+ 155, 0, 155, 155, 155, 246, 246, 157, 156, 0,
+ 158, 140, 148, 0, 154, 0, 133, 134, 0, 0,
+ 0, 38, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 236, 236, 222, 0, 0,
+ 131, 131, 131, 131, 131, 131, 131, 67, 131, 131,
+ 131, 72, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 0, 0, 0,
+
+ 0, 14, 0, 0, 0, 0, 0, 0, 4, 8,
+ 5, 0, 155, 155, 155, 155, 155, 155, 155, 246,
+ 158, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 236, 236, 56,
+ 57, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 73, 74, 131, 131, 131, 131, 79, 80,
+ 131, 131, 131, 131, 131, 131, 131, 85, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 94, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 0, 0, 0,
+
+ 0, 15, 0, 0, 0, 0, 0, 8, 8, 8,
+ 0, 155, 155, 155, 155, 155, 155, 155, 0, 0,
+ 0, 0, 216, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 236, 236, 58, 131,
+ 131, 60, 131, 64, 131, 131, 131, 131, 70, 131,
+ 131, 131, 75, 131, 131, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 88, 131, 131, 131, 131, 92,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
+ 0, 0, 0, 0, 3, 0, 0, 0, 8, 7,
+
+ 8, 0, 155, 155, 155, 0, 0, 224, 225, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 224, 225, 131, 131, 131, 63, 131,
+ 131, 131, 131, 131, 131, 131, 127, 131, 131, 131,
+ 131, 131, 131, 131, 131, 125, 131, 87, 131, 90,
+ 131, 91, 131, 131, 131, 106, 0, 131, 96, 131,
+ 0, 97, 0, 0, 0, 0, 0, 12, 0, 13,
+ 0, 153, 0, 152, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 0, 0, 0, 0, 0, 0, 0, 131, 131,
+ 131, 131, 131, 131, 131, 68, 131, 71, 131, 131,
+ 131, 131, 131, 131, 124, 131, 84, 131, 131, 89,
+ 131, 93, 104, 126, 0, 0, 0, 0, 0, 0,
+ 131, 131, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 152, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 131, 131, 131,
+ 131, 131, 131, 131, 69, 131, 131, 131, 131, 81,
+ 131, 131, 131, 131, 131, 131, 0, 0, 115, 0,
+
+ 0, 0, 0, 0, 0, 95, 131, 0, 0, 116,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 11,
+ 0, 192, 193, 194, 195, 196, 197, 198, 199, 200,
+ 201, 202, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 131, 131, 131, 131, 131,
+ 131, 131, 131, 131, 131, 131, 131, 131, 131, 86,
+ 131, 131, 0, 0, 0, 0, 0, 0, 117, 0,
+ 105, 0, 0, 0, 0, 0, 118, 0, 0, 0,
+ 0, 0, 203, 204, 205, 206, 207, 208, 209, 210,
+ 211, 212, 213, 214, 0, 131, 131, 131, 131, 131,
+
+ 131, 131, 123, 131, 131, 77, 131, 131, 131, 131,
+ 131, 0, 0, 111, 0, 121, 119, 112, 0, 0,
+ 0, 122, 120, 0, 0, 0, 0, 0, 0, 215,
+ 131, 131, 131, 131, 131, 131, 131, 127, 76, 131,
+ 83, 131, 128, 131, 107, 109, 0, 108, 110, 0,
+ 0, 0, 0, 0, 0, 0, 131, 131, 131, 65,
+ 131, 131, 131, 131, 78, 131, 113, 114, 99, 0,
+ 0, 0, 0, 100, 131, 131, 131, 131, 131, 131,
+ 131, 129, 98, 0, 102, 0, 131, 131, 131, 131,
+ 131, 68, 131, 101, 103, 131, 131, 62, 66, 131,
+
+ 131, 131, 61, 69, 131, 131, 82, 59, 0
+ } ;
+
+static yyconst YY_CHAR yy_ec[256] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
+ 4, 4, 5, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 2, 1, 6, 7, 8, 9, 1, 10, 11,
+ 12, 13, 14, 15, 16, 17, 18, 19, 19, 19,
+ 19, 19, 19, 19, 20, 21, 22, 23, 1, 24,
+ 25, 26, 27, 1, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 44,
+ 53, 54, 55, 56, 57, 1, 58, 59, 60, 61,
+
+ 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 44, 74, 75, 76, 77, 78, 79, 80,
+ 81, 44, 82, 83, 84, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1
+ } ;
+
+static yyconst YY_CHAR yy_meta[85] =
+ { 0,
+ 1, 1, 2, 1, 3, 4, 1, 1, 1, 5,
+ 1, 6, 1, 7, 1, 8, 1, 5, 9, 9,
+ 9, 9, 10, 1, 1, 1, 1, 11, 11, 11,
+ 11, 11, 11, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 13, 14, 15, 1, 16, 11, 11, 11,
+ 11, 11, 11, 12, 12, 12, 12, 12, 12, 12,
+ 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+ 12, 5, 1, 17
+ } ;
+
+static yyconst flex_uint16_t yy_base[1204] =
+ { 0,
+ 0, 84, 167, 250, 171, 184, 174, 179, 192, 233,
+ 196, 200, 334, 0, 3464, 3463, 203, 416, 206, 211,
+ 187, 216, 276, 417, 500, 0, 210, 223, 421, 427,
+ 436, 440, 583, 588, 669, 0, 277, 299, 584, 751,
+ 579, 580, 576, 732, 279, 305, 310, 444, 3498, 3970,
+ 228, 3970, 3493, 0, 322, 3970, 3465, 423, 827, 3438,
+ 0, 3970, 755, 3970, 3431, 3970, 448, 3390, 3970, 3970,
+ 3387, 3372, 222, 408, 444, 764, 3970, 3392, 230, 3370,
+ 3970, 3970, 3970, 3388, 0, 3371, 164, 3366, 3970, 3303,
+ 3281, 3970, 3970, 3332, 239, 119, 3281, 3276, 3226, 0,
+
+ 3307, 3970, 3305, 3970, 476, 3302, 3300, 3970, 3246, 0,
+ 3970, 3970, 3970, 3281, 3970, 464, 3970, 3970, 3970, 3264,
+ 3970, 742, 3970, 3241, 751, 180, 3970, 3970, 3260, 0,
+ 3239, 757, 3970, 0, 3970, 3256, 3970, 200, 3232, 0,
+ 429, 241, 3188, 3169, 3970, 3970, 306, 3970, 323, 3970,
+ 3970, 3217, 3201, 3148, 3129, 0, 3970, 3176, 3970, 0,
+ 3970, 446, 3970, 3166, 3083, 3134, 435, 371, 3093, 3090,
+ 3970, 3140, 3970, 3121, 3115, 439, 440, 3970, 578, 751,
+ 586, 562, 735, 752, 0, 572, 577, 782, 791, 749,
+ 396, 809, 588, 582, 731, 734, 762, 768, 580, 3970,
+
+ 3970, 3114, 588, 3970, 3970, 3116, 3060, 3057, 3970, 3970,
+ 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 0,
+ 3970, 3107, 3970, 3970, 3970, 3103, 3075, 825, 3970, 3073,
+ 0, 837, 3970, 3070, 795, 777, 0, 0, 891, 903,
+ 912, 924, 0, 774, 0, 451, 3970, 0, 858, 3970,
+ 3069, 2989, 472, 3970, 3065, 3044, 3970, 800, 236, 822,
+ 899, 3970, 275, 0, 2966, 2962, 3970, 2960, 949, 3970,
+ 3013, 2917, 2983, 2971, 3970, 0, 3970, 818, 3970, 0,
+ 0, 2992, 0, 0, 2988, 3970, 3970, 3970, 3970, 815,
+ 816, 3970, 3970, 484, 0, 2970, 3970, 935, 2953, 2949,
+
+ 2949, 3970, 0, 3970, 940, 3970, 1005, 3970, 3970, 3970,
+ 3970, 0, 3970, 611, 3970, 0, 3970, 0, 821, 850,
+ 3970, 3970, 490, 3970, 608, 3970, 3970, 3970, 3970, 0,
+ 3970, 3970, 596, 2866, 3970, 0, 3970, 3970, 2945, 3970,
+ 2921, 3970, 855, 903, 0, 920, 717, 727, 917, 728,
+ 2912, 882, 939, 896, 902, 907, 935, 948, 937, 912,
+ 940, 951, 936, 0, 940, 3970, 943, 946, 1051, 962,
+ 1061, 969, 966, 1052, 984, 986, 1101, 2919, 3970, 1080,
+ 3970, 3970, 3970, 0, 3970, 3970, 3970, 1021, 0, 0,
+ 1134, 3970, 2919, 1147, 1046, 1056, 1058, 0, 1065, 0,
+
+ 874, 3970, 998, 3970, 1004, 3970, 1011, 3970, 1070, 731,
+ 1090, 1143, 1223, 1153, 1289, 1002, 0, 3970, 3970, 2510,
+ 1102, 3970, 3970, 1083, 0, 1085, 0, 0, 1098, 1106,
+ 1023, 3970, 1106, 1151, 1289, 1290, 1156, 2569, 1291, 1154,
+ 1292, 1301, 1302, 1158, 1353, 1150, 1141, 0, 1138, 1139,
+ 1153, 1160, 1155, 1288, 1285, 1296, 1285, 0, 1297, 1285,
+ 1302, 0, 1289, 1288, 1299, 1310, 1325, 1323, 2573, 1335,
+ 1329, 1349, 1346, 1346, 1347, 1345, 1352, 1356, 1359, 1350,
+ 1361, 1364, 1389, 1366, 1352, 1355, 1377, 1374, 1390, 1395,
+ 1392, 1406, 1403, 1398, 1409, 1410, 1399, 1403, 1415, 1111,
+
+ 1478, 3970, 1190, 1482, 1197, 1424, 1420, 1417, 0, 933,
+ 0, 1427, 1504, 1570, 1606, 874, 2530, 1576, 1651, 3970,
+ 3970, 1420, 1430, 1435, 1422, 2529, 1569, 1574, 1568, 1577,
+ 1575, 1570, 1581, 1590, 1593, 1620, 1582, 1583, 1623, 1633,
+ 1622, 1631, 1636, 1652, 1634, 1663, 1664, 1625, 1615, 3970,
+ 3970, 1649, 1642, 2564, 1646, 1651, 1656, 1660, 1699, 1669,
+ 1668, 1689, 0, 0, 1686, 1675, 1679, 1689, 0, 0,
+ 2560, 1685, 1698, 2559, 1690, 1689, 1699, 0, 1694, 1712,
+ 1705, 1703, 1698, 1718, 1705, 1707, 1713, 0, 1717, 1729,
+ 1726, 1713, 1720, 1718, 1739, 1724, 1748, 1736, 1747, 1737,
+
+ 2570, 3970, 1198, 1206, 1730, 1748, 1746, 0, 1393, 1793,
+ 2545, 952, 2426, 1782, 1818, 1554, 1068, 1151, 1761, 2347,
+ 1752, 1771, 3970, 1781, 1791, 1782, 1787, 1789, 1798, 1795,
+ 1793, 1822, 1836, 1831, 1796, 1842, 1839, 1845, 1808, 1846,
+ 1794, 1852, 1861, 1866, 1847, 1863, 1840, 1863, 0, 1852,
+ 1869, 0, 1858, 0, 2352, 1871, 1857, 1871, 0, 1867,
+ 2349, 1864, 0, 1882, 1869, 1882, 2309, 1880, 1877, 1891,
+ 2174, 1875, 1883, 1888, 0, 1903, 1896, 1899, 1916, 0,
+ 1904, 1906, 1906, 1922, 2063, 1924, 1926, 1920, 1970, 1917,
+ 1918, 1917, 1937, 1923, 2016, 1448, 1926, 1936, 1968, 3970,
+
+ 1977, 1936, 1946, 1922, 1929, 1882, 1865, 3970, 3970, 1962,
+ 1980, 1971, 1981, 1964, 1970, 1983, 1984, 1987, 1989, 1991,
+ 1990, 1993, 1994, 1996, 1999, 2010, 2002, 1992, 2007, 2019,
+ 2032, 2020, 2024, 0, 0, 1827, 1991, 2016, 0, 2035,
+ 2025, 2036, 2030, 2025, 2025, 2030, 1799, 2050, 2041, 2053,
+ 2048, 2053, 2054, 2044, 2057, 0, 2063, 0, 2046, 0,
+ 1723, 0, 2063, 2067, 2056, 0, 2097, 2064, 0, 2068,
+ 2109, 0, 1645, 2073, 2071, 1639, 1486, 3970, 1596, 3970,
+ 2058, 3970, 1627, 3970, 1627, 1596, 1591, 1571, 1536, 1484,
+ 1471, 1451, 1434, 1431, 1425, 2096, 2086, 2124, 2111, 2107,
+
+ 2127, 2130, 2132, 2137, 2138, 2157, 2141, 2131, 2121, 2129,
+ 2126, 2138, 2146, 2145, 2152, 0, 2150, 0, 2147, 2161,
+ 2153, 2158, 2158, 2161, 0, 2162, 0, 2165, 2167, 0,
+ 2177, 0, 0, 0, 2177, 2165, 2170, 2210, 2173, 2185,
+ 2180, 2185, 2198, 2183, 2195, 2212, 2196, 2207, 1386, 1315,
+ 2208, 2253, 3970, 1299, 1284, 1277, 1223, 1161, 1155, 1142,
+ 1129, 1078, 1055, 1041, 1067, 1036, 1000, 965, 925, 893,
+ 881, 869, 861, 843, 802, 776, 2220, 2221, 2228, 2221,
+ 2229, 2239, 2238, 2228, 0, 2228, 2239, 2241, 2252, 0,
+ 2237, 2243, 2246, 2242, 2251, 2259, 2264, 2251, 3970, 2261,
+
+ 2263, 2264, 2280, 2264, 2261, 0, 2279, 2285, 2272, 3970,
+ 2279, 2280, 2296, 2279, 2281, 2283, 2301, 2286, 2332, 3970,
+ 2340, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970,
+ 3970, 3970, 735, 612, 608, 598, 441, 374, 261, 245,
+ 202, 152, 149, 137, 165, 2295, 2290, 2307, 2320, 2325,
+ 2315, 2323, 2331, 2325, 2297, 2319, 2335, 2324, 2327, 0,
+ 2333, 2329, 2329, 2333, 2346, 2350, 2354, 2346, 3970, 2340,
+ 0, 2340, 2345, 2359, 2362, 2357, 3970, 2371, 2354, 2356,
+ 2358, 2381, 3970, 3970, 3970, 3970, 3970, 3970, 3970, 3970,
+ 3970, 3970, 3970, 3970, 128, 2379, 2377, 2371, 2386, 2376,
+
+ 2378, 2378, 0, 2395, 2396, 0, 2386, 2385, 2407, 2404,
+ 2402, 2406, 2414, 3970, 2403, 3970, 3970, 3970, 2411, 2418,
+ 2407, 3970, 3970, 2404, 2421, 2422, 2412, 2417, 2416, 3970,
+ 2419, 2420, 2417, 2424, 2435, 2437, 2441, 0, 0, 2453,
+ 0, 2436, 0, 2451, 3970, 3970, 2445, 3970, 3970, 2447,
+ 2458, 2447, 2462, 2465, 2463, 2468, 2474, 2468, 2462, 0,
+ 2464, 2461, 2460, 2480, 0, 2461, 3970, 3970, 3970, 2483,
+ 2484, 2472, 2480, 3970, 2492, 2482, 2494, 2487, 2495, 2501,
+ 2492, 0, 3970, 2496, 3970, 2509, 2501, 2503, 2503, 2504,
+ 2504, 0, 2519, 3970, 3970, 2521, 2513, 0, 0, 2528,
+
+ 2513, 2515, 0, 0, 2533, 2534, 0, 0, 3970, 2596,
+ 2613, 2630, 2647, 2664, 2681, 2698, 2715, 2732, 2749, 2766,
+ 2783, 2800, 2817, 2834, 2851, 2868, 2885, 2902, 2912, 2928,
+ 2937, 2953, 2970, 2981, 2997, 3014, 3031, 3048, 3058, 3074,
+ 3091, 3108, 3122, 3132, 3148, 3165, 3182, 3199, 3210, 2112,
+ 3222, 3239, 3249, 3265, 3282, 3289, 3295, 3311, 3321, 3337,
+ 3354, 3371, 2558, 3381, 3398, 3415, 3432, 3449, 3466, 3483,
+ 3500, 3517, 3527, 3543, 3557, 3567, 3583, 3600, 3617, 3634,
+ 3645, 3657, 3674, 3691, 3708, 3725, 3735, 3744, 3760, 3777,
+ 3794, 2572, 3804, 3821, 3838, 3855, 3872, 3880, 3885, 3901,
+
+ 3918, 3935, 3952
+ } ;
+
+static yyconst flex_int16_t yy_def[1204] =
+ { 0,
+ 1109, 1109, 1110, 1110, 1111, 1112, 1113, 1113, 1114, 1114,
+ 1115, 1115, 1109, 13, 1116, 1116, 1117, 1117, 1118, 1118,
+ 1119, 1119, 1120, 1120, 1109, 25, 1121, 1121, 1122, 1122,
+ 1123, 1123, 1124, 1124, 1109, 35, 1125, 1125, 1126, 1126,
+ 1116, 1116, 1116, 1116, 1127, 1127, 1128, 1128, 1109, 1109,
+ 1109, 1109, 1109, 1129, 1109, 1109, 1109, 1109, 1130, 1109,
+ 1131, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1132, 1133, 1134, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1135, 1136, 1135, 1137, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1138,
+
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1139,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1133, 1109, 1109, 1133, 1140, 1109, 1109, 1109, 1141,
+ 1109, 1133, 1109, 1142, 1109, 1142, 1109, 1143, 1109, 1144,
+ 1144, 1144, 1109, 1109, 1109, 1109, 1145, 1109, 1145, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1146, 1109, 1146, 1109, 1147,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1148, 1109, 1109, 1109, 1149, 1149,
+ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1150,
+ 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1109,
+
+ 1109, 1151, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1152,
+ 1109, 1152, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1153, 1109, 1109, 1109, 1109, 1109, 1154, 1155, 1109, 1109,
+ 1109, 1109, 1156, 1154, 1157, 1158, 1109, 1159, 1109, 1109,
+ 1109, 1109, 1160, 1109, 1109, 1109, 1109, 1109, 1161, 1161,
+ 1162, 1109, 1109, 1163, 1109, 1109, 1109, 1164, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1165, 1109, 1109, 1109, 1166,
+ 1167, 1167, 1168, 1169, 1170, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1171, 1172, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1173, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1174, 1109, 1175, 1109, 1175, 1109, 1176, 1176, 1176,
+ 1109, 1109, 1177, 1109, 1177, 1109, 1109, 1109, 1109, 1178,
+ 1109, 1109, 1109, 1109, 1109, 1179, 1109, 1109, 1109, 1109,
+ 1180, 1109, 1109, 1109, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1109, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1109, 1109,
+ 1109, 1109, 1109, 1183, 1109, 1109, 1109, 1109, 1184, 1185,
+ 1186, 1109, 1109, 1109, 1109, 1109, 1109, 1187, 1184, 1188,
+
+ 1189, 1109, 1189, 1109, 1190, 1109, 1190, 1109, 1109, 1191,
+ 1191, 1191, 1109, 1191, 1191, 1109, 1192, 1109, 1109, 1193,
+ 1109, 1109, 1109, 1109, 1194, 1109, 1195, 1196, 1109, 1109,
+ 1197, 1109, 1197, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1200, 1109, 1109,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1186,
+
+ 1186, 1109, 1186, 1186, 1109, 1109, 1109, 1109, 1187, 1201,
+ 1188, 1109, 1109, 1191, 415, 413, 413, 1191, 415, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1109,
+ 1109, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1109,
+
+ 1109, 1109, 1186, 1186, 1109, 1109, 1109, 1201, 1201, 1201,
+ 1109, 513, 513, 1191, 415, 1191, 1191, 1191, 1109, 1109,
+ 1109, 1109, 1109, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1199, 1199, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1109, 1109, 1109, 1109, 1109, 1202, 1109, 1109, 1201, 1109,
+
+ 1201, 1109, 1191, 1191, 1191, 1109, 1109, 1109, 1109, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1199, 1199, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1181, 1181, 1181,
+ 1109, 1181, 1109, 1109, 1109, 1109, 1202, 1109, 1202, 1109,
+ 1109, 1109, 1109, 1109, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198,
+
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1203, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1198, 1198, 1198, 1198, 1198, 1198,
+ 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1109, 1109, 1109, 1181, 1181, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1203, 1109,
+ 1203, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1198, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181, 1181,
+
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1181, 1181, 1181, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1109, 1109, 1109, 1109, 1181, 1181, 1181, 1181,
+ 1181, 1181, 1181, 1109, 1109, 1181, 1181, 1181, 1181, 1181,
+
+ 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 0, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1109
+ } ;
+
+static yyconst flex_uint16_t yy_nxt[4055] =
+ { 0,
+ 50, 51, 52, 50, 53, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 50, 50, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 50, 50, 50, 50, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+ 54, 50, 50, 50, 50, 55, 56, 50, 57, 50,
+ 58, 50, 59, 50, 50, 50, 50, 50, 50, 50,
+
+ 50, 60, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 50, 50, 50, 50,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+ 61, 61, 61, 61, 61, 50, 50, 50, 63, 64,
+ 291, 65, 66, 83, 67, 84, 89, 68, 69, 70,
+ 70, 89, 1030, 70, 71, 86, 83, 995, 84, 50,
+ 72, 994, 87, 70, 93, 309, 94, 101, 102, 291,
+
+ 103, 101, 102, 993, 103, 113, 992, 114, 119, 315,
+ 120, 121, 148, 119, 149, 120, 121, 115, 50, 73,
+ 74, 116, 116, 116, 116, 148, 90, 149, 91, 228,
+ 229, 90, 230, 91, 309, 93, 95, 94, 276, 124,
+ 125, 99, 126, 96, 97, 283, 98, 284, 75, 70,
+ 70, 76, 77, 316, 78, 66, 991, 67, 79, 122,
+ 68, 69, 70, 70, 122, 95, 70, 71, 124, 125,
+ 290, 126, 96, 80, 260, 261, 70, 95, 128, 201,
+ 129, 221, 202, 222, 96, 97, 117, 98, 411, 412,
+ 223, 130, 320, 416, 416, 203, 203, 203, 203, 990,
+
+ 290, 201, 73, 74, 202, 81, 95, 221, 324, 222,
+ 325, 277, 225, 96, 226, 989, 223, 203, 203, 203,
+ 203, 320, 227, 232, 233, 324, 234, 325, 131, 132,
+ 133, 75, 70, 70, 104, 105, 106, 104, 107, 104,
+ 104, 104, 104, 104, 104, 104, 108, 104, 108, 104,
+ 104, 104, 104, 104, 104, 104, 104, 104, 104, 109,
+ 104, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 110, 104, 104, 104, 104,
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+
+ 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,
+ 110, 110, 110, 110, 110, 104, 104, 104, 113, 128,
+ 114, 129, 291, 151, 235, 152, 263, 263, 988, 151,
+ 115, 152, 130, 153, 116, 116, 116, 116, 157, 153,
+ 158, 159, 157, 367, 158, 159, 225, 333, 226, 254,
+ 254, 291, 255, 402, 334, 403, 227, 265, 264, 266,
+ 319, 236, 267, 267, 267, 267, 290, 343, 344, 131,
+ 132, 133, 367, 154, 406, 155, 407, 298, 299, 154,
+ 300, 155, 305, 305, 305, 305, 432, 264, 433, 160,
+ 319, 236, 324, 160, 325, 987, 290, 343, 344, 117,
+
+ 134, 134, 135, 134, 136, 137, 134, 134, 134, 138,
+ 134, 134, 134, 134, 134, 134, 134, 139, 134, 134,
+ 134, 134, 134, 134, 134, 134, 134, 140, 140, 140,
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 140, 140, 140, 141, 140, 140, 140, 140, 140,
+ 140, 142, 143, 134, 144, 134, 140, 140, 140, 140,
+ 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+ 140, 140, 140, 141, 140, 140, 140, 140, 140, 140,
+ 142, 145, 134, 146, 162, 163, 205, 164, 206, 162,
+ 163, 165, 164, 353, 211, 211, 165, 333, 216, 351,
+
+ 166, 212, 212, 358, 334, 166, 380, 380, 380, 380,
+ 324, 217, 325, 352, 213, 213, 346, 359, 347, 371,
+ 315, 218, 348, 353, 214, 214, 219, 167, 372, 215,
+ 215, 377, 167, 358, 168, 169, 207, 170, 208, 168,
+ 169, 217, 170, 352, 213, 213, 346, 359, 347, 371,
+ 218, 348, 986, 214, 214, 219, 167, 372, 215, 215,
+ 377, 167, 985, 168, 316, 209, 984, 210, 168, 171,
+ 172, 173, 171, 174, 175, 171, 171, 171, 171, 171,
+ 171, 171, 171, 171, 171, 171, 171, 171, 176, 177,
+ 171, 171, 171, 178, 171, 171, 179, 180, 181, 182,
+
+ 183, 184, 185, 186, 187, 185, 185, 188, 189, 190,
+ 191, 192, 185, 193, 194, 195, 196, 197, 198, 185,
+ 199, 171, 171, 171, 171, 171, 179, 180, 181, 182,
+ 183, 184, 185, 186, 187, 185, 185, 188, 189, 190,
+ 191, 192, 193, 194, 195, 196, 197, 198, 185, 199,
+ 171, 171, 171, 205, 216, 206, 249, 250, 373, 251,
+ 263, 263, 453, 252, 354, 269, 270, 217, 271, 263,
+ 263, 454, 272, 457, 374, 263, 263, 218, 349, 356,
+ 365, 273, 219, 411, 412, 355, 350, 274, 373, 983,
+ 366, 453, 264, 375, 354, 376, 235, 217, 944, 357,
+
+ 454, 264, 457, 207, 374, 208, 218, 264, 349, 356,
+ 365, 219, 388, 360, 355, 399, 350, 361, 362, 275,
+ 366, 264, 363, 375, 943, 376, 228, 229, 357, 230,
+ 264, 409, 209, 236, 210, 238, 264, 253, 232, 233,
+ 368, 234, 388, 360, 413, 399, 253, 361, 362, 426,
+ 369, 429, 363, 370, 239, 430, 240, 446, 240, 249,
+ 250, 409, 251, 236, 240, 942, 252, 240, 241, 242,
+ 368, 240, 243, 244, 411, 412, 402, 245, 403, 426,
+ 369, 429, 370, 941, 239, 430, 240, 446, 240, 447,
+ 449, 940, 391, 392, 240, 393, 616, 240, 241, 242,
+
+ 240, 243, 244, 939, 391, 392, 245, 393, 246, 394,
+ 394, 394, 394, 391, 392, 938, 393, 414, 414, 447,
+ 449, 394, 394, 394, 394, 391, 392, 459, 393, 410,
+ 394, 394, 394, 394, 609, 395, 298, 299, 450, 300,
+ 253, 462, 394, 394, 394, 394, 455, 937, 463, 415,
+ 269, 270, 464, 271, 396, 451, 459, 272, 305, 305,
+ 305, 305, 469, 456, 395, 397, 273, 460, 450, 452,
+ 462, 461, 274, 465, 703, 466, 455, 463, 415, 467,
+ 470, 464, 472, 468, 396, 451, 471, 936, 473, 474,
+ 475, 469, 456, 478, 484, 397, 482, 460, 452, 483,
+
+ 402, 461, 403, 465, 275, 466, 406, 410, 407, 467,
+ 470, 472, 468, 406, 610, 407, 471, 473, 474, 475,
+ 262, 262, 935, 478, 484, 432, 482, 433, 487, 483,
+ 488, 253, 434, 435, 436, 437, 438, 438, 439, 438,
+ 438, 438, 438, 440, 438, 438, 438, 441, 438, 438,
+ 442, 438, 443, 438, 438, 444, 438, 487, 934, 488,
+ 445, 499, 434, 435, 436, 437, 438, 438, 439, 438,
+ 438, 438, 438, 440, 438, 438, 438, 441, 438, 442,
+ 438, 443, 438, 438, 444, 438, 476, 485, 479, 933,
+ 506, 499, 480, 508, 486, 932, 477, 481, 380, 380,
+
+ 380, 380, 507, 521, 521, 521, 521, 510, 432, 931,
+ 433, 512, 513, 602, 522, 603, 476, 485, 479, 506,
+ 411, 412, 480, 508, 486, 477, 523, 481, 489, 524,
+ 490, 507, 930, 491, 492, 501, 502, 510, 503, 493,
+ 494, 512, 411, 412, 522, 495, 496, 525, 505, 392,
+ 497, 393, 504, 504, 504, 504, 523, 498, 489, 524,
+ 490, 514, 514, 491, 492, 394, 394, 394, 394, 493,
+ 494, 518, 518, 526, 495, 496, 526, 525, 526, 497,
+ 526, 548, 549, 929, 550, 551, 552, 553, 537, 527,
+ 554, 530, 502, 515, 603, 532, 928, 410, 505, 392,
+
+ 602, 393, 603, 411, 412, 411, 412, 604, 502, 927,
+ 503, 548, 549, 550, 551, 926, 552, 553, 537, 527,
+ 554, 530, 515, 410, 410, 532, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 411, 412, 925, 517, 410,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+ 516, 516, 516, 516, 516, 516, 516, 516, 516, 516,
+
+ 516, 516, 516, 516, 410, 410, 410, 519, 519, 519,
+ 519, 526, 526, 526, 526, 555, 519, 519, 519, 519,
+ 519, 519, 556, 526, 526, 557, 558, 528, 559, 561,
+ 529, 924, 560, 562, 563, 531, 533, 564, 923, 534,
+ 565, 411, 412, 535, 536, 555, 519, 519, 519, 519,
+ 519, 519, 556, 922, 567, 557, 558, 528, 559, 561,
+ 529, 560, 562, 563, 531, 533, 569, 564, 534, 570,
+ 565, 917, 566, 535, 536, 1109, 571, 572, 573, 574,
+ 538, 539, 540, 541, 567, 575, 542, 576, 577, 578,
+ 579, 543, 580, 581, 609, 544, 569, 585, 545, 570,
+
+ 546, 566, 586, 547, 584, 587, 571, 572, 573, 574,
+ 538, 539, 540, 541, 588, 575, 542, 576, 577, 578,
+ 579, 543, 580, 581, 582, 544, 585, 545, 589, 546,
+ 583, 586, 547, 590, 584, 587, 591, 592, 593, 594,
+ 595, 596, 916, 597, 588, 598, 601, 864, 599, 600,
+ 778, 605, 779, 863, 582, 606, 862, 607, 589, 611,
+ 583, 619, 620, 590, 621, 591, 622, 592, 593, 594,
+ 595, 596, 597, 861, 610, 598, 601, 599, 600, 501,
+ 502, 605, 503, 604, 502, 606, 503, 607, 778, 611,
+ 779, 619, 620, 860, 621, 622, 504, 504, 504, 504,
+
+ 504, 504, 504, 504, 410, 410, 859, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 410, 410,
+ 410, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 612, 411, 412, 858, 613,
+ 410, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 612, 612, 612, 612, 612,
+ 612, 612, 612, 612, 612, 410, 410, 410, 614, 614,
+ 526, 526, 526, 857, 617, 617, 526, 526, 778, 526,
+
+ 779, 626, 629, 526, 526, 526, 411, 412, 259, 624,
+ 628, 625, 526, 856, 627, 526, 631, 635, 855, 630,
+ 633, 636, 411, 412, 615, 615, 615, 615, 411, 412,
+ 632, 626, 629, 615, 615, 615, 615, 615, 615, 624,
+ 628, 625, 526, 627, 526, 526, 631, 635, 630, 854,
+ 633, 636, 853, 526, 647, 526, 526, 639, 526, 648,
+ 632, 637, 634, 615, 615, 615, 615, 615, 615, 618,
+ 618, 618, 618, 638, 526, 640, 644, 641, 618, 618,
+ 618, 618, 618, 618, 647, 526, 526, 639, 648, 649,
+ 654, 637, 634, 650, 646, 851, 642, 652, 653, 643,
+
+ 655, 848, 659, 638, 640, 645, 644, 641, 618, 618,
+ 618, 618, 618, 618, 656, 660, 661, 662, 665, 649,
+ 654, 663, 650, 664, 646, 642, 652, 653, 643, 667,
+ 655, 657, 659, 668, 672, 645, 670, 658, 831, 671,
+ 673, 674, 675, 676, 660, 677, 661, 662, 665, 678,
+ 663, 679, 664, 680, 681, 682, 683, 684, 667, 685,
+ 686, 657, 687, 668, 672, 670, 688, 658, 671, 673,
+ 689, 674, 675, 676, 677, 690, 693, 691, 694, 678,
+ 679, 696, 680, 692, 681, 682, 683, 684, 685, 697,
+ 686, 687, 698, 706, 699, 700, 688, 701, 708, 689,
+
+ 704, 704, 709, 526, 526, 690, 693, 691, 694, 526,
+ 696, 526, 692, 526, 820, 526, 526, 526, 526, 697,
+ 526, 698, 712, 706, 714, 711, 716, 708, 710, 721,
+ 526, 713, 709, 717, 411, 412, 705, 705, 705, 705,
+ 715, 726, 809, 728, 526, 705, 705, 705, 705, 705,
+ 705, 718, 712, 526, 714, 711, 716, 710, 526, 721,
+ 713, 526, 720, 717, 526, 719, 724, 526, 526, 526,
+ 715, 726, 728, 727, 526, 705, 705, 705, 705, 705,
+ 705, 718, 722, 526, 723, 526, 734, 729, 526, 732,
+ 784, 725, 720, 731, 735, 719, 724, 736, 733, 737,
+
+ 739, 730, 744, 727, 743, 745, 741, 783, 747, 748,
+ 749, 738, 722, 750, 723, 734, 742, 729, 752, 732,
+ 725, 753, 754, 731, 735, 756, 736, 757, 733, 737,
+ 739, 730, 744, 743, 758, 745, 741, 747, 759, 748,
+ 749, 738, 760, 750, 761, 742, 762, 764, 752, 763,
+ 753, 765, 754, 766, 756, 768, 757, 769, 770, 772,
+ 773, 782, 774, 758, 775, 776, 780, 781, 759, 699,
+ 700, 760, 701, 761, 411, 412, 762, 764, 763, 700,
+ 765, 411, 412, 766, 526, 768, 526, 769, 770, 772,
+ 773, 774, 526, 526, 775, 776, 780, 781, 411, 412,
+
+ 410, 785, 526, 526, 790, 526, 526, 786, 787, 526,
+ 789, 526, 526, 526, 526, 526, 526, 695, 526, 788,
+ 794, 526, 810, 803, 526, 796, 771, 791, 798, 526,
+ 792, 785, 526, 793, 790, 795, 799, 786, 787, 789,
+ 797, 526, 526, 800, 802, 801, 526, 804, 805, 788,
+ 794, 807, 810, 803, 526, 796, 791, 808, 798, 792,
+ 811, 806, 793, 812, 795, 814, 799, 815, 816, 797,
+ 817, 818, 800, 813, 802, 801, 819, 804, 805, 821,
+ 822, 807, 823, 824, 825, 826, 828, 808, 827, 811,
+ 829, 806, 830, 812, 832, 814, 833, 815, 816, 817,
+
+ 818, 834, 852, 813, 841, 819, 842, 849, 526, 821,
+ 822, 850, 823, 824, 825, 826, 828, 827, 526, 767,
+ 829, 830, 364, 364, 832, 866, 833, 835, 836, 526,
+ 834, 852, 837, 526, 841, 838, 842, 849, 839, 843,
+ 844, 850, 865, 840, 845, 869, 526, 846, 868, 526,
+ 847, 867, 526, 526, 526, 866, 878, 835, 836, 526,
+ 526, 879, 837, 526, 871, 838, 877, 880, 839, 843,
+ 844, 865, 840, 870, 845, 869, 872, 846, 868, 526,
+ 847, 867, 881, 873, 874, 876, 878, 882, 875, 755,
+ 883, 879, 884, 887, 871, 885, 877, 880, 886, 888,
+
+ 889, 891, 870, 890, 892, 872, 893, 894, 897, 895,
+ 899, 881, 873, 874, 876, 898, 905, 882, 875, 883,
+ 904, 906, 884, 887, 885, 896, 907, 886, 888, 908,
+ 889, 891, 890, 909, 892, 910, 893, 894, 897, 895,
+ 899, 900, 526, 914, 898, 901, 905, 911, 902, 904,
+ 912, 906, 915, 918, 896, 920, 907, 921, 903, 908,
+ 913, 946, 909, 947, 949, 910, 945, 948, 950, 951,
+ 953, 900, 914, 952, 954, 901, 955, 911, 902, 956,
+ 912, 915, 918, 957, 958, 959, 961, 903, 960, 913,
+ 962, 946, 963, 947, 949, 945, 948, 964, 950, 951,
+
+ 953, 965, 952, 966, 954, 967, 955, 968, 971, 956,
+ 969, 970, 957, 972, 958, 959, 961, 960, 973, 974,
+ 962, 975, 963, 976, 751, 977, 964, 978, 979, 980,
+ 997, 965, 982, 966, 920, 967, 921, 968, 971, 969,
+ 970, 996, 920, 972, 921, 1005, 981, 973, 998, 974,
+ 999, 975, 1000, 976, 977, 1001, 978, 979, 1002, 980,
+ 997, 982, 1003, 1004, 746, 1006, 1007, 740, 1008, 1009,
+ 996, 1010, 707, 1011, 1005, 981, 1012, 1013, 998, 1014,
+ 999, 1015, 1000, 1016, 1017, 1001, 1018, 1019, 1002, 1020,
+ 1021, 1022, 1003, 1004, 1006, 1023, 1007, 1008, 1024, 1009,
+
+ 1025, 1010, 1011, 1026, 1028, 1012, 1013, 1027, 1029, 1014,
+ 1031, 1015, 1032, 1016, 1017, 1018, 1019, 1033, 1020, 1034,
+ 1021, 1022, 1035, 1036, 1037, 1023, 1038, 1039, 1024, 1025,
+ 1040, 1041, 1026, 1028, 1042, 1043, 1027, 1044, 1029, 1045,
+ 1031, 1046, 1032, 1047, 1048, 1049, 1033, 1050, 1052, 1034,
+ 1051, 1035, 1036, 1037, 1053, 1060, 1038, 1039, 1054, 1040,
+ 1041, 1055, 1056, 1057, 1042, 1043, 1058, 1044, 1059, 1045,
+ 1061, 1046, 1062, 1047, 1048, 1049, 1063, 1050, 1052, 1051,
+ 1064, 410, 1065, 1066, 1053, 1060, 1067, 1054, 1068, 1069,
+ 1055, 1056, 1057, 1070, 1071, 1058, 1072, 1059, 1073, 1074,
+
+ 1061, 1075, 1062, 1076, 1077, 1078, 1063, 1079, 1080, 1081,
+ 1064, 1065, 1082, 1066, 1083, 1084, 1067, 1085, 1068, 1069,
+ 1086, 1087, 1070, 1088, 1071, 1089, 1072, 1090, 1073, 1074,
+ 1091, 1075, 1092, 1076, 1077, 1078, 1079, 1080, 1093, 1081,
+ 1094, 1082, 1095, 1097, 1083, 1084, 1085, 1096, 1098, 1099,
+ 1086, 1087, 1100, 1088, 1101, 1089, 1102, 1090, 1103, 1104,
+ 1091, 1105, 1092, 1106, 1107, 1108, 417, 1093, 417, 1094,
+ 702, 695, 1095, 1097, 669, 666, 1096, 1098, 1099, 651,
+ 520, 1100, 520, 623, 1101, 410, 1102, 1103, 568, 1104,
+ 1105, 526, 1106, 421, 1107, 1108, 62, 62, 62, 62,
+
+ 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
+ 62, 62, 62, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
+ 85, 85, 85, 85, 85, 85, 85, 85, 85, 85,
+ 85, 85, 85, 85, 85, 85, 85, 88, 88, 88,
+ 88, 88, 88, 88, 88, 88, 88, 88, 88, 88,
+ 88, 88, 88, 88, 92, 92, 92, 92, 92, 92,
+ 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+ 92, 100, 100, 100, 100, 100, 100, 100, 100, 100,
+ 100, 100, 100, 100, 100, 100, 100, 100, 50, 50,
+
+ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
+ 50, 50, 50, 50, 50, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 118, 118, 118, 118, 118, 118, 118, 118,
+ 118, 118, 118, 118, 118, 118, 118, 118, 118, 123,
+ 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
+ 123, 123, 123, 123, 123, 123, 127, 127, 127, 127,
+ 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
+ 127, 127, 127, 147, 147, 147, 147, 147, 147, 147,
+ 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
+
+ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150,
+ 150, 150, 150, 150, 150, 150, 150, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 161, 161, 161, 161, 161, 161,
+ 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
+ 161, 200, 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 200, 204, 204,
+ 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
+ 204, 204, 204, 204, 204, 220, 220, 220, 220, 220,
+ 220, 220, 220, 220, 220, 220, 220, 220, 220, 220,
+
+ 220, 220, 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224, 224, 231,
+ 231, 392, 231, 231, 379, 458, 342, 231, 237, 237,
+ 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+ 237, 237, 237, 237, 248, 248, 339, 248, 248, 336,
+ 301, 299, 248, 259, 301, 259, 259, 259, 259, 259,
+ 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
+ 262, 296, 262, 262, 262, 262, 262, 262, 262, 262,
+ 262, 262, 262, 262, 262, 262, 262, 268, 268, 268,
+ 286, 268, 268, 282, 424, 423, 268, 280, 422, 280,
+
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 280, 280, 281, 270, 281, 281, 281, 281,
+ 281, 281, 281, 281, 281, 281, 281, 281, 281, 281,
+ 281, 285, 285, 285, 285, 285, 285, 285, 285, 285,
+ 285, 285, 285, 421, 285, 419, 285, 285, 295, 418,
+ 408, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 295, 303, 303, 254, 303, 303,
+ 404, 250, 233, 303, 308, 229, 308, 308, 308, 308,
+ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308,
+ 308, 311, 387, 311, 311, 311, 311, 311, 311, 311,
+
+ 311, 311, 311, 311, 311, 386, 311, 311, 312, 385,
+ 312, 383, 382, 312, 312, 312, 312, 312, 381, 379,
+ 342, 312, 314, 340, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 318,
+ 318, 339, 318, 318, 338, 337, 317, 318, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 330, 336, 330, 335, 330,
+ 330, 330, 330, 330, 330, 330, 330, 330, 331, 330,
+ 330, 330, 332, 329, 332, 332, 332, 332, 332, 332,
+ 332, 332, 332, 332, 332, 332, 332, 332, 332, 341,
+
+ 328, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 345, 345, 327, 326,
+ 345, 345, 378, 322, 378, 378, 378, 378, 378, 378,
+ 378, 378, 378, 378, 378, 378, 378, 378, 378, 384,
+ 321, 384, 384, 384, 317, 384, 384, 384, 384, 384,
+ 384, 384, 384, 384, 384, 384, 231, 231, 313, 231,
+ 231, 307, 310, 307, 231, 389, 306, 389, 389, 389,
+ 389, 389, 389, 389, 389, 389, 389, 389, 389, 389,
+ 389, 389, 390, 304, 390, 390, 390, 390, 390, 390,
+ 390, 390, 390, 390, 390, 390, 390, 390, 390, 398,
+
+ 398, 302, 299, 301, 398, 400, 400, 297, 296, 294,
+ 400, 401, 401, 401, 401, 401, 401, 401, 401, 401,
+ 401, 401, 401, 401, 401, 401, 401, 401, 248, 248,
+ 293, 248, 248, 292, 289, 288, 248, 405, 405, 405,
+ 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
+ 405, 405, 405, 405, 410, 287, 410, 410, 410, 410,
+ 410, 410, 410, 410, 410, 410, 410, 410, 286, 410,
+ 410, 259, 282, 259, 259, 259, 259, 259, 259, 259,
+ 259, 259, 259, 259, 259, 259, 259, 259, 420, 420,
+ 279, 420, 420, 278, 270, 258, 420, 420, 425, 257,
+
+ 425, 425, 425, 425, 425, 425, 425, 425, 425, 425,
+ 425, 425, 425, 425, 425, 280, 256, 280, 280, 280,
+ 280, 280, 280, 280, 280, 280, 280, 280, 280, 280,
+ 280, 280, 281, 250, 281, 281, 281, 281, 281, 281,
+ 281, 281, 281, 281, 281, 281, 281, 281, 281, 427,
+ 247, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 427, 428, 233, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 428, 285, 285, 285, 285, 285, 285, 285,
+ 285, 285, 285, 285, 285, 229, 285, 1109, 285, 285,
+
+ 431, 431, 431, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 431, 431, 431, 431, 295, 111, 111,
+ 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
+ 295, 295, 295, 295, 303, 303, 1109, 303, 303, 1109,
+ 1109, 1109, 303, 312, 1109, 312, 1109, 1109, 312, 312,
+ 312, 312, 312, 1109, 1109, 1109, 312, 314, 1109, 314,
+ 314, 314, 314, 314, 314, 314, 314, 314, 314, 314,
+ 314, 314, 314, 314, 318, 318, 1109, 318, 318, 1109,
+ 1109, 1109, 318, 323, 323, 323, 323, 323, 323, 323,
+ 323, 323, 323, 323, 323, 323, 323, 323, 323, 323,
+
+ 330, 1109, 330, 1109, 330, 330, 330, 330, 330, 330,
+ 330, 330, 330, 1109, 330, 330, 330, 448, 1109, 448,
+ 448, 448, 448, 448, 448, 448, 448, 448, 448, 448,
+ 448, 448, 448, 448, 341, 1109, 341, 341, 341, 341,
+ 341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
+ 341, 345, 345, 1109, 1109, 345, 345, 378, 1109, 378,
+ 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
+ 378, 378, 378, 378, 384, 1109, 384, 384, 384, 1109,
+ 384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
+ 384, 389, 1109, 389, 389, 389, 389, 389, 389, 389,
+
+ 389, 389, 389, 389, 389, 389, 389, 389, 390, 1109,
+ 390, 390, 390, 390, 390, 390, 390, 390, 390, 390,
+ 390, 390, 390, 390, 390, 500, 500, 500, 500, 500,
+ 500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
+ 500, 500, 509, 509, 1109, 509, 509, 1109, 1109, 1109,
+ 509, 511, 511, 1109, 511, 511, 1109, 1109, 1109, 511,
+ 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
+ 401, 401, 401, 401, 401, 401, 401, 405, 405, 405,
+ 405, 405, 405, 405, 405, 405, 405, 405, 405, 405,
+ 405, 405, 405, 405, 410, 1109, 410, 410, 410, 410,
+
+ 410, 410, 410, 410, 410, 410, 410, 410, 1109, 410,
+ 410, 420, 420, 1109, 420, 420, 1109, 1109, 1109, 420,
+ 420, 425, 1109, 425, 425, 425, 425, 425, 425, 425,
+ 425, 425, 425, 425, 425, 425, 425, 425, 427, 1109,
+ 427, 427, 427, 427, 427, 427, 427, 427, 427, 427,
+ 427, 427, 427, 427, 427, 428, 1109, 428, 428, 428,
+ 428, 428, 428, 428, 428, 428, 428, 428, 428, 428,
+ 428, 428, 431, 431, 431, 431, 431, 431, 431, 431,
+ 431, 431, 431, 431, 431, 431, 431, 431, 431, 438,
+ 438, 438, 318, 318, 1109, 318, 318, 1109, 1109, 1109,
+
+ 318, 448, 1109, 448, 448, 448, 448, 448, 448, 448,
+ 448, 448, 448, 448, 448, 448, 448, 448, 608, 1109,
+ 608, 608, 608, 608, 608, 608, 608, 608, 608, 608,
+ 608, 608, 608, 608, 608, 777, 777, 777, 777, 777,
+ 777, 777, 777, 777, 777, 777, 777, 777, 777, 777,
+ 777, 777, 919, 919, 919, 919, 919, 919, 919, 919,
+ 919, 919, 919, 919, 919, 919, 919, 919, 919, 49,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109
+ } ;
+
+static yyconst flex_int16_t yy_chk[4055] =
+ { 0,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
+ 96, 3, 3, 5, 3, 5, 7, 3, 3, 3,
+ 3, 8, 995, 3, 3, 6, 6, 945, 6, 21,
+ 3, 944, 6, 3, 9, 126, 9, 11, 11, 96,
+
+ 11, 12, 12, 943, 12, 17, 942, 17, 19, 138,
+ 19, 19, 27, 20, 27, 20, 20, 17, 22, 3,
+ 3, 17, 17, 17, 17, 28, 7, 28, 7, 51,
+ 51, 8, 51, 8, 126, 10, 9, 10, 79, 21,
+ 21, 10, 21, 9, 9, 87, 9, 87, 3, 3,
+ 3, 4, 4, 138, 4, 4, 941, 4, 4, 19,
+ 4, 4, 4, 4, 20, 9, 4, 4, 22, 22,
+ 95, 22, 9, 4, 73, 73, 4, 10, 23, 37,
+ 23, 45, 37, 45, 10, 10, 17, 10, 259, 259,
+ 45, 23, 142, 263, 263, 37, 37, 37, 37, 940,
+
+ 95, 38, 4, 4, 38, 4, 10, 46, 147, 46,
+ 147, 79, 47, 10, 47, 939, 46, 38, 38, 38,
+ 38, 142, 47, 55, 55, 149, 55, 149, 23, 23,
+ 23, 4, 4, 4, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+
+ 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+ 13, 13, 13, 13, 13, 13, 13, 13, 18, 24,
+ 18, 24, 168, 29, 58, 29, 74, 74, 938, 30,
+ 18, 30, 24, 29, 18, 18, 18, 18, 31, 30,
+ 31, 31, 32, 191, 32, 32, 48, 162, 48, 67,
+ 67, 168, 67, 246, 162, 246, 48, 75, 74, 75,
+ 141, 58, 75, 75, 75, 75, 167, 176, 177, 24,
+ 24, 24, 191, 29, 253, 29, 253, 105, 105, 30,
+ 105, 30, 116, 116, 116, 116, 294, 74, 294, 31,
+ 141, 58, 323, 32, 323, 937, 167, 176, 177, 18,
+
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+ 25, 25, 25, 25, 33, 33, 39, 33, 39, 34,
+ 34, 33, 34, 182, 41, 42, 34, 333, 43, 181,
+
+ 33, 41, 42, 186, 333, 34, 203, 203, 203, 203,
+ 325, 43, 325, 181, 41, 42, 179, 187, 179, 193,
+ 314, 43, 179, 182, 41, 42, 43, 33, 194, 41,
+ 42, 199, 34, 186, 33, 33, 39, 33, 39, 34,
+ 34, 43, 34, 181, 41, 42, 179, 187, 179, 193,
+ 43, 179, 936, 41, 42, 43, 33, 194, 41, 42,
+ 199, 34, 935, 33, 314, 39, 934, 39, 34, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
+ 35, 35, 35, 40, 44, 40, 63, 63, 195, 63,
+ 122, 122, 347, 63, 183, 76, 76, 44, 76, 125,
+ 125, 348, 76, 350, 196, 132, 132, 44, 180, 184,
+ 190, 76, 44, 410, 410, 183, 180, 76, 195, 933,
+ 190, 347, 122, 197, 183, 198, 235, 44, 876, 184,
+
+ 348, 125, 350, 40, 196, 40, 44, 132, 180, 184,
+ 190, 44, 236, 188, 183, 244, 180, 188, 189, 76,
+ 190, 122, 189, 197, 875, 198, 228, 228, 184, 228,
+ 125, 258, 40, 235, 40, 59, 132, 63, 232, 232,
+ 192, 232, 236, 188, 260, 244, 76, 188, 189, 278,
+ 192, 290, 189, 192, 59, 291, 59, 319, 59, 249,
+ 249, 258, 249, 235, 59, 874, 249, 59, 59, 59,
+ 192, 59, 59, 59, 260, 260, 401, 59, 401, 278,
+ 192, 290, 192, 873, 59, 291, 59, 319, 59, 320,
+ 343, 872, 239, 239, 59, 239, 516, 59, 59, 59,
+
+ 59, 59, 59, 871, 240, 240, 59, 240, 59, 239,
+ 239, 239, 239, 241, 241, 870, 241, 261, 261, 320,
+ 343, 240, 240, 240, 240, 242, 242, 352, 242, 516,
+ 241, 241, 241, 241, 510, 239, 298, 298, 344, 298,
+ 249, 354, 242, 242, 242, 242, 349, 869, 355, 261,
+ 269, 269, 356, 269, 241, 346, 352, 269, 305, 305,
+ 305, 305, 360, 349, 239, 242, 269, 353, 344, 346,
+ 354, 353, 269, 357, 612, 358, 349, 355, 261, 359,
+ 361, 356, 363, 359, 241, 346, 362, 868, 365, 367,
+ 368, 360, 349, 370, 373, 242, 372, 353, 346, 372,
+
+ 403, 353, 403, 357, 269, 358, 405, 612, 405, 359,
+ 361, 363, 359, 407, 510, 407, 362, 365, 367, 368,
+ 416, 416, 867, 370, 373, 431, 372, 431, 375, 372,
+ 376, 269, 307, 307, 307, 307, 307, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 375, 866, 376,
+ 307, 388, 307, 307, 307, 307, 307, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
+ 307, 307, 307, 307, 307, 307, 369, 374, 371, 865,
+ 395, 388, 371, 397, 374, 864, 369, 371, 380, 380,
+
+ 380, 380, 396, 421, 421, 421, 421, 399, 433, 863,
+ 433, 409, 411, 500, 424, 500, 369, 374, 371, 395,
+ 617, 617, 371, 397, 374, 369, 426, 371, 377, 429,
+ 377, 396, 862, 377, 377, 391, 391, 399, 391, 377,
+ 377, 409, 411, 411, 424, 377, 377, 430, 394, 394,
+ 377, 394, 391, 391, 391, 391, 426, 377, 377, 429,
+ 377, 412, 412, 377, 377, 394, 394, 394, 394, 377,
+ 377, 414, 414, 434, 377, 377, 440, 430, 437, 377,
+ 444, 446, 447, 861, 449, 450, 451, 452, 444, 434,
+ 453, 437, 503, 412, 503, 440, 860, 412, 505, 505,
+
+ 603, 505, 603, 618, 618, 414, 414, 604, 604, 859,
+ 604, 446, 447, 449, 450, 858, 451, 452, 444, 434,
+ 453, 437, 412, 413, 413, 440, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 857, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+ 413, 413, 413, 413, 413, 413, 413, 413, 413, 413,
+
+ 413, 413, 413, 413, 413, 413, 413, 415, 415, 415,
+ 415, 435, 436, 439, 441, 454, 415, 415, 415, 415,
+ 415, 415, 455, 442, 443, 456, 457, 435, 459, 461,
+ 436, 856, 460, 463, 464, 439, 441, 465, 855, 441,
+ 466, 415, 415, 442, 443, 454, 415, 415, 415, 415,
+ 415, 415, 455, 854, 468, 456, 457, 435, 459, 461,
+ 436, 460, 463, 464, 439, 441, 470, 465, 441, 471,
+ 466, 850, 467, 442, 443, 445, 472, 473, 474, 475,
+ 445, 445, 445, 445, 468, 476, 445, 477, 478, 479,
+ 480, 445, 481, 482, 609, 445, 470, 485, 445, 471,
+
+ 445, 467, 486, 445, 484, 487, 472, 473, 474, 475,
+ 445, 445, 445, 445, 488, 476, 445, 477, 478, 479,
+ 480, 445, 481, 482, 483, 445, 485, 445, 489, 445,
+ 483, 486, 445, 490, 484, 487, 491, 492, 493, 494,
+ 495, 496, 849, 497, 488, 498, 499, 795, 498, 498,
+ 696, 506, 696, 794, 483, 507, 793, 508, 489, 512,
+ 483, 522, 523, 490, 524, 491, 525, 492, 493, 494,
+ 495, 496, 497, 792, 609, 498, 499, 498, 498, 501,
+ 501, 506, 501, 504, 504, 507, 504, 508, 777, 512,
+ 777, 522, 523, 791, 524, 525, 501, 501, 501, 501,
+
+ 504, 504, 504, 504, 513, 513, 790, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 789, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 513, 513,
+ 513, 513, 513, 513, 513, 513, 513, 513, 514, 514,
+ 529, 527, 532, 788, 518, 518, 528, 531, 779, 530,
+
+ 779, 528, 531, 533, 537, 538, 616, 616, 616, 527,
+ 530, 527, 534, 787, 529, 535, 533, 537, 786, 532,
+ 535, 538, 514, 514, 515, 515, 515, 515, 518, 518,
+ 534, 528, 531, 515, 515, 515, 515, 515, 515, 527,
+ 530, 527, 536, 529, 541, 539, 533, 537, 532, 785,
+ 535, 538, 783, 542, 548, 540, 545, 541, 543, 549,
+ 534, 539, 536, 515, 515, 515, 515, 515, 515, 519,
+ 519, 519, 519, 540, 544, 542, 545, 543, 519, 519,
+ 519, 519, 519, 519, 548, 546, 547, 541, 549, 552,
+ 557, 539, 536, 553, 547, 776, 544, 555, 556, 544,
+
+ 558, 773, 560, 540, 542, 546, 545, 543, 519, 519,
+ 519, 519, 519, 519, 559, 561, 562, 565, 568, 552,
+ 557, 566, 553, 567, 547, 544, 555, 556, 544, 572,
+ 558, 559, 560, 573, 577, 546, 575, 559, 761, 576,
+ 579, 580, 581, 582, 561, 583, 562, 565, 568, 584,
+ 566, 585, 567, 586, 587, 589, 590, 591, 572, 592,
+ 593, 559, 594, 573, 577, 575, 595, 559, 576, 579,
+ 596, 580, 581, 582, 583, 597, 599, 598, 600, 584,
+ 585, 605, 586, 598, 587, 589, 590, 591, 592, 606,
+ 593, 594, 607, 619, 610, 610, 595, 610, 621, 596,
+
+ 614, 614, 622, 624, 626, 597, 599, 598, 600, 627,
+ 605, 628, 598, 625, 747, 631, 641, 630, 635, 606,
+ 629, 607, 626, 619, 628, 625, 630, 621, 624, 635,
+ 639, 627, 622, 631, 614, 614, 615, 615, 615, 615,
+ 629, 639, 736, 641, 632, 615, 615, 615, 615, 615,
+ 615, 632, 626, 634, 628, 625, 630, 624, 633, 635,
+ 627, 637, 634, 631, 636, 633, 637, 638, 640, 645,
+ 629, 639, 641, 640, 642, 615, 615, 615, 615, 615,
+ 615, 632, 636, 643, 636, 646, 647, 642, 644, 645,
+ 707, 638, 634, 644, 648, 633, 637, 650, 646, 651,
+
+ 653, 643, 658, 640, 657, 660, 656, 706, 662, 664,
+ 665, 651, 636, 666, 636, 647, 656, 642, 668, 645,
+ 638, 669, 670, 644, 648, 672, 650, 673, 646, 651,
+ 653, 643, 658, 657, 674, 660, 656, 662, 676, 664,
+ 665, 651, 677, 666, 678, 656, 679, 682, 668, 681,
+ 669, 683, 670, 684, 672, 686, 673, 687, 688, 690,
+ 691, 702, 692, 674, 693, 694, 697, 698, 676, 699,
+ 699, 677, 699, 678, 704, 704, 679, 682, 681, 701,
+ 683, 705, 705, 684, 710, 686, 714, 687, 688, 690,
+ 691, 692, 715, 712, 693, 694, 697, 698, 703, 703,
+
+ 703, 710, 711, 713, 715, 716, 717, 711, 712, 718,
+ 714, 719, 721, 720, 728, 722, 723, 695, 724, 713,
+ 719, 725, 737, 728, 727, 721, 689, 716, 723, 729,
+ 717, 710, 726, 718, 715, 720, 724, 711, 712, 714,
+ 722, 730, 732, 725, 727, 726, 733, 729, 730, 713,
+ 719, 732, 737, 728, 731, 721, 716, 733, 723, 717,
+ 738, 731, 718, 740, 720, 741, 724, 742, 743, 722,
+ 744, 745, 725, 740, 727, 726, 746, 729, 730, 748,
+ 749, 732, 750, 751, 752, 753, 755, 733, 754, 738,
+ 757, 731, 759, 740, 763, 741, 764, 742, 743, 744,
+
+ 745, 765, 781, 740, 768, 746, 770, 774, 797, 748,
+ 749, 775, 750, 751, 752, 753, 755, 754, 796, 685,
+ 757, 759, 1150, 1150, 763, 797, 764, 767, 767, 800,
+ 765, 781, 767, 799, 768, 767, 770, 774, 767, 771,
+ 771, 775, 796, 767, 771, 800, 798, 771, 799, 801,
+ 771, 798, 802, 808, 803, 797, 809, 767, 767, 804,
+ 805, 810, 767, 807, 802, 767, 808, 811, 767, 771,
+ 771, 796, 767, 801, 771, 800, 803, 771, 799, 806,
+ 771, 798, 812, 804, 805, 807, 809, 813, 806, 671,
+ 814, 810, 815, 820, 802, 817, 808, 811, 819, 821,
+
+ 822, 824, 801, 823, 826, 803, 828, 829, 835, 831,
+ 837, 812, 804, 805, 807, 836, 840, 813, 806, 814,
+ 839, 841, 815, 820, 817, 831, 842, 819, 821, 843,
+ 822, 824, 823, 844, 826, 845, 828, 829, 835, 831,
+ 837, 838, 877, 847, 836, 838, 840, 846, 838, 839,
+ 846, 841, 848, 851, 831, 852, 842, 852, 838, 843,
+ 846, 878, 844, 879, 881, 845, 877, 880, 882, 883,
+ 886, 838, 847, 884, 887, 838, 888, 846, 838, 889,
+ 846, 848, 851, 891, 892, 893, 895, 838, 894, 846,
+ 896, 878, 897, 879, 881, 877, 880, 898, 882, 883,
+
+ 886, 900, 884, 901, 887, 902, 888, 903, 907, 889,
+ 904, 905, 891, 908, 892, 893, 895, 894, 909, 911,
+ 896, 912, 897, 913, 667, 914, 898, 915, 916, 917,
+ 947, 900, 918, 901, 919, 902, 919, 903, 907, 904,
+ 905, 946, 921, 908, 921, 955, 917, 909, 948, 911,
+ 949, 912, 950, 913, 914, 951, 915, 916, 952, 917,
+ 947, 918, 953, 954, 661, 956, 957, 655, 958, 959,
+ 946, 961, 620, 962, 955, 917, 963, 964, 948, 965,
+ 949, 966, 950, 967, 968, 951, 970, 972, 952, 973,
+ 974, 975, 953, 954, 956, 976, 957, 958, 978, 959,
+
+ 979, 961, 962, 980, 981, 963, 964, 980, 982, 965,
+ 996, 966, 997, 967, 968, 970, 972, 998, 973, 999,
+ 974, 975, 1000, 1001, 1002, 976, 1004, 1005, 978, 979,
+ 1007, 1008, 980, 981, 1009, 1010, 980, 1011, 982, 1012,
+ 996, 1013, 997, 1015, 1019, 1020, 998, 1021, 1025, 999,
+ 1024, 1000, 1001, 1002, 1026, 1034, 1004, 1005, 1027, 1007,
+ 1008, 1028, 1029, 1031, 1009, 1010, 1032, 1011, 1033, 1012,
+ 1035, 1013, 1036, 1015, 1019, 1020, 1037, 1021, 1025, 1024,
+ 1040, 613, 1042, 1044, 1026, 1034, 1047, 1027, 1050, 1051,
+ 1028, 1029, 1031, 1052, 1053, 1032, 1054, 1033, 1055, 1056,
+
+ 1035, 1057, 1036, 1058, 1059, 1061, 1037, 1062, 1063, 1064,
+ 1040, 1042, 1066, 1044, 1070, 1071, 1047, 1072, 1050, 1051,
+ 1073, 1075, 1052, 1076, 1053, 1077, 1054, 1078, 1055, 1056,
+ 1079, 1057, 1080, 1058, 1059, 1061, 1062, 1063, 1081, 1064,
+ 1084, 1066, 1086, 1088, 1070, 1071, 1072, 1087, 1089, 1090,
+ 1073, 1075, 1091, 1076, 1093, 1077, 1096, 1078, 1097, 1100,
+ 1079, 1101, 1080, 1102, 1105, 1106, 1163, 1081, 1163, 1084,
+ 611, 601, 1086, 1088, 574, 571, 1087, 1089, 1090, 554,
+ 1192, 1091, 1192, 526, 1093, 517, 1096, 1097, 469, 1100,
+ 1101, 438, 1102, 420, 1105, 1106, 1110, 1110, 1110, 1110,
+
+ 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110,
+ 1110, 1110, 1110, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
+ 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
+ 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112,
+ 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1113, 1113, 1113,
+ 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
+ 1113, 1113, 1113, 1113, 1114, 1114, 1114, 1114, 1114, 1114,
+ 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
+ 1114, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115,
+ 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1116, 1116,
+
+ 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
+ 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, 1117,
+ 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117,
+ 1117, 1117, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118,
+ 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119,
+ 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119,
+ 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120, 1120, 1120,
+ 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
+ 1120, 1120, 1120, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
+ 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121,
+
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122,
+ 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1123, 1123, 1123,
+ 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123,
+ 1123, 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124,
+ 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124,
+ 1124, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125,
+ 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1126, 1126,
+ 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126,
+ 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127, 1127,
+ 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127,
+
+ 1127, 1127, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128,
+ 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129,
+ 1129, 393, 1129, 1129, 378, 351, 341, 1129, 1130, 1130,
+ 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130,
+ 1130, 1130, 1130, 1130, 1131, 1131, 339, 1131, 1131, 334,
+ 301, 300, 1131, 1132, 299, 1132, 1132, 1132, 1132, 1132,
+ 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
+ 1133, 296, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133,
+ 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134,
+ 285, 1134, 1134, 282, 274, 273, 1134, 1135, 272, 1135,
+
+ 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135,
+ 1135, 1135, 1135, 1135, 1136, 271, 1136, 1136, 1136, 1136,
+ 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136,
+ 1136, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
+ 1137, 1137, 1137, 268, 1137, 266, 1137, 1137, 1138, 265,
+ 256, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138,
+ 1138, 1138, 1138, 1138, 1138, 1139, 1139, 255, 1139, 1139,
+ 252, 251, 234, 1139, 1140, 230, 1140, 1140, 1140, 1140,
+ 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140,
+ 1140, 1141, 227, 1141, 1141, 1141, 1141, 1141, 1141, 1141,
+
+ 1141, 1141, 1141, 1141, 1141, 226, 1141, 1141, 1142, 222,
+ 1142, 208, 207, 1142, 1142, 1142, 1142, 1142, 206, 202,
+ 175, 1142, 1143, 174, 1143, 1143, 1143, 1143, 1143, 1143,
+ 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1144,
+ 1144, 172, 1144, 1144, 170, 169, 166, 1144, 1145, 1145,
+ 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
+ 1145, 1145, 1145, 1145, 1145, 1146, 165, 1146, 164, 1146,
+ 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 158, 1146,
+ 1146, 1146, 1147, 155, 1147, 1147, 1147, 1147, 1147, 1147,
+ 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1148,
+
+ 154, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148,
+ 1148, 1148, 1148, 1148, 1148, 1148, 1149, 1149, 153, 152,
+ 1149, 1149, 1151, 144, 1151, 1151, 1151, 1151, 1151, 1151,
+ 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152,
+ 143, 1152, 1152, 1152, 139, 1152, 1152, 1152, 1152, 1152,
+ 1152, 1152, 1152, 1152, 1152, 1152, 1153, 1153, 136, 1153,
+ 1153, 131, 129, 124, 1153, 1154, 120, 1154, 1154, 1154,
+ 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154,
+ 1154, 1154, 1155, 114, 1155, 1155, 1155, 1155, 1155, 1155,
+ 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1156,
+
+ 1156, 109, 107, 106, 1156, 1157, 1157, 103, 101, 99,
+ 1157, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158,
+ 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1159, 1159,
+ 98, 1159, 1159, 97, 94, 91, 1159, 1160, 1160, 1160,
+ 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160,
+ 1160, 1160, 1160, 1160, 1161, 90, 1161, 1161, 1161, 1161,
+ 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 88, 1161,
+ 1161, 1162, 86, 1162, 1162, 1162, 1162, 1162, 1162, 1162,
+ 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1164, 1164,
+ 84, 1164, 1164, 80, 78, 72, 1164, 1164, 1165, 71,
+
+ 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
+ 1165, 1165, 1165, 1165, 1165, 1166, 68, 1166, 1166, 1166,
+ 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
+ 1166, 1166, 1167, 65, 1167, 1167, 1167, 1167, 1167, 1167,
+ 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1168,
+ 60, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168,
+ 1168, 1168, 1168, 1168, 1168, 1168, 1169, 57, 1169, 1169,
+ 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169,
+ 1169, 1169, 1169, 1170, 1170, 1170, 1170, 1170, 1170, 1170,
+ 1170, 1170, 1170, 1170, 1170, 53, 1170, 49, 1170, 1170,
+
+ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171,
+ 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1172, 16, 15,
+ 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172,
+ 1172, 1172, 1172, 1172, 1173, 1173, 0, 1173, 1173, 0,
+ 0, 0, 1173, 1174, 0, 1174, 0, 0, 1174, 1174,
+ 1174, 1174, 1174, 0, 0, 0, 1174, 1175, 0, 1175,
+ 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175,
+ 1175, 1175, 1175, 1175, 1176, 1176, 0, 1176, 1176, 0,
+ 0, 0, 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+ 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177,
+
+ 1178, 0, 1178, 0, 1178, 1178, 1178, 1178, 1178, 1178,
+ 1178, 1178, 1178, 0, 1178, 1178, 1178, 1179, 0, 1179,
+ 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
+ 1179, 1179, 1179, 1179, 1180, 0, 1180, 1180, 1180, 1180,
+ 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180, 1180,
+ 1180, 1181, 1181, 0, 0, 1181, 1181, 1182, 0, 1182,
+ 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
+ 1182, 1182, 1182, 1182, 1183, 0, 1183, 1183, 1183, 0,
+ 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183,
+ 1183, 1184, 0, 1184, 1184, 1184, 1184, 1184, 1184, 1184,
+
+ 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1184, 1185, 0,
+ 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
+ 1185, 1185, 1185, 1185, 1185, 1186, 1186, 1186, 1186, 1186,
+ 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186,
+ 1186, 1186, 1187, 1187, 0, 1187, 1187, 0, 0, 0,
+ 1187, 1188, 1188, 0, 1188, 1188, 0, 0, 0, 1188,
+ 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
+ 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1190, 1190, 1190,
+ 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190,
+ 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191,
+
+ 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 0, 1191,
+ 1191, 1193, 1193, 0, 1193, 1193, 0, 0, 0, 1193,
+ 1193, 1194, 0, 1194, 1194, 1194, 1194, 1194, 1194, 1194,
+ 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1195, 0,
+ 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195,
+ 1195, 1195, 1195, 1195, 1195, 1196, 0, 1196, 1196, 1196,
+ 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
+ 1196, 1196, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197,
+ 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1198,
+ 1198, 1198, 1199, 1199, 0, 1199, 1199, 0, 0, 0,
+
+ 1199, 1200, 0, 1200, 1200, 1200, 1200, 1200, 1200, 1200,
+ 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0,
+ 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201,
+ 1201, 1201, 1201, 1201, 1201, 1202, 1202, 1202, 1202, 1202,
+ 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
+ 1202, 1202, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203,
+ 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109,
+ 1109, 1109, 1109, 1109
+ } ;
+
+static yy_state_type yy_last_accepting_state;
+static char *yy_last_accepting_cpos;
+
+extern int yy_flex_debug;
+int yy_flex_debug = 0;
+
+/* The intent behind this definition is that it'll catch
+ * any uses of REJECT which flex missed.
+ */
+#define REJECT reject_used_but_not_detected
+static int yy_more_flag = 0;
+static int yy_more_len = 0;
+#define yymore() ((yy_more_flag) = 1)
+#define YY_MORE_ADJ (yy_more_len)
+#define YY_RESTORE_YY_MORE_OFFSET
+char *yytext;
+#line 1 "stage1scan.l"
+/* scan.l - scanner for flex input -*-C-*- */
+#line 4 "stage1scan.l"
+/* Copyright (c) 1990 The Regents of the University of California. */
+/* All rights reserved. */
+
+/* This code is derived from software contributed to Berkeley by */
+/* Vern Paxson. */
+
+/* The United States Government has rights in this work pursuant */
+/* to contract no. DE-AC03-76SF00098 between the United States */
+/* Department of Energy and the University of California. */
+
+/* This file is part of flex. */
+
+/* Redistribution and use in source and binary forms, with or without */
+/* modification, are permitted provided that the following conditions */
+/* are met: */
+
+/* 1. Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* 2. Redistributions in binary form must reproduce the above copyright */
+/* notice, this list of conditions and the following disclaimer in the */
+/* documentation and/or other materials provided with the distribution. */
+
+/* Neither the name of the University nor the names of its contributors */
+/* may be used to endorse or promote products derived from this software */
+/* without specific prior written permission. */
+
+/* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
+/* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
+/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
+/* PURPOSE. */
+
+#include "flexdef.h"
+#include "parse.h"
+extern bool tablesverify, tablesext;
+extern int trlcontxt; /* Set in parse.y for each rule. */
+extern const char *escaped_qstart, *escaped_qend;
+
+#define ACTION_ECHO add_action( yytext )
+#define ACTION_IFDEF(def, should_define) \
+ { \
+ if ( should_define ) \
+ action_define( def, 1 ); \
+ }
+
+#define ACTION_ECHO_QSTART add_action (escaped_qstart)
+#define ACTION_ECHO_QEND add_action (escaped_qend)
+
+#define ACTION_M4_IFDEF(def, should_define) \
+ do{ \
+ if ( should_define ) \
+ buf_m4_define( &m4defs_buf, def, NULL);\
+ else \
+ buf_m4_undefine( &m4defs_buf, def);\
+ } while(0)
+
+#define MARK_END_OF_PROLOG mark_prolog();
+
+#define YY_DECL \
+ int flexscan(void)
+
+#define RETURNCHAR \
+ yylval = (unsigned char) yytext[0]; \
+ return CHAR;
+
+#define RETURNNAME \
+ if(yyleng < MAXLINE) \
+ { \
+ strcpy( nmstr, yytext ); \
+ } \
+ else \
+ { \
+ synerr(_("Input line too long\n")); \
+ FLEX_EXIT(EXIT_FAILURE); \
+ } \
+ return NAME;
+
+#define PUT_BACK_STRING(str, start) \
+ for ( i = strlen( str ) - 1; i >= start; --i ) \
+ unput((str)[i])
+
+#define CHECK_REJECT(str) \
+ if ( all_upper( str ) ) \
+ reject = true;
+
+#define CHECK_YYMORE(str) \
+ if ( all_lower( str ) ) \
+ yymore_used = true;
+
+#define YY_USER_INIT \
+ if ( getenv("POSIXLY_CORRECT") ) \
+ posix_compat = true;
+
+
+
+
+
+
+
+
+#line 1838 "stage1scan.c"
+
+#define INITIAL 0
+#define SECT2 1
+#define SECT2PROLOG 2
+#define SECT3 3
+#define CODEBLOCK 4
+#define PICKUPDEF 5
+#define SC 6
+#define CARETISBOL 7
+#define NUM 8
+#define QUOTE 9
+#define FIRSTCCL 10
+#define CCL 11
+#define ACTION 12
+#define RECOVER 13
+#define COMMENT 14
+#define ACTION_STRING 15
+#define PERCENT_BRACE_ACTION 16
+#define OPTION 17
+#define LINEDIR 18
+#define CODEBLOCK_MATCH_BRACE 19
+#define GROUP_WITH_PARAMS 20
+#define GROUP_MINUS_PARAMS 21
+#define EXTENDED_COMMENT 22
+#define COMMENT_DISCARD 23
+
+#ifndef YY_NO_UNISTD_H
+/* Special case for "unistd.h", since it is non-ANSI. We include it way
+ * down here because we want the user's section 1 to have been scanned first.
+ * The user has a chance to override it with an option.
+ */
+#include <unistd.h>
+#endif
+
+#ifndef YY_EXTRA_TYPE
+#define YY_EXTRA_TYPE void *
+#endif
+
+static int yy_init_globals (void );
+
+/* Accessor methods to globals.
+ These are made visible to non-reentrant scanners for convenience. */
+
+int yylex_destroy (void );
+
+int yyget_debug (void );
+
+void yyset_debug (int debug_flag );
+
+YY_EXTRA_TYPE yyget_extra (void );
+
+void yyset_extra (YY_EXTRA_TYPE user_defined );
+
+FILE *yyget_in (void );
+
+void yyset_in (FILE * _in_str );
+
+FILE *yyget_out (void );
+
+void yyset_out (FILE * _out_str );
+
+ int yyget_leng (void );
+
+char *yyget_text (void );
+
+int yyget_lineno (void );
+
+void yyset_lineno (int _line_number );
+
+/* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+
+#ifndef YY_SKIP_YYWRAP
+#ifdef __cplusplus
+extern "C" int yywrap (void );
+#else
+extern int yywrap (void );
+#endif
+#endif
+
+#ifndef YY_NO_UNPUT
+
+ static void yyunput (int c,char *buf_ptr );
+
+#endif
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char *,yyconst char *,int );
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * );
+#endif
+
+#ifndef YY_NO_INPUT
+
+#ifdef __cplusplus
+static int yyinput (void );
+#else
+static int input (void );
+#endif
+
+#endif
+
+ static int yy_start_stack_ptr = 0;
+ static int yy_start_stack_depth = 0;
+ static int *yy_start_stack = NULL;
+
+ static void yy_push_state (int _new_state );
+
+ static void yy_pop_state (void );
+
+/* Amount of stuff to slurp up with each read. */
+#ifndef YY_READ_BUF_SIZE
+#ifdef __ia64__
+/* On IA-64, the buffer size is 16k, not 8k */
+#define YY_READ_BUF_SIZE 16384
+#else
+#define YY_READ_BUF_SIZE 8192
+#endif /* __ia64__ */
+#endif
+
+/* Copy whatever the last rule matched to the standard output. */
+#ifndef ECHO
+/* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
+#endif
+
+/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+ * is returned in "result".
+ */
+#ifndef YY_INPUT
+#define YY_INPUT(buf,result,max_size) \
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
+ { \
+ int c = '*'; \
+ size_t n; \
+ for ( n = 0; n < max_size && \
+ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
+ buf[n] = (char) c; \
+ if ( c == '\n' ) \
+ buf[n++] = (char) c; \
+ if ( c == EOF && ferror( yyin ) ) \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ result = n; \
+ } \
+ else \
+ { \
+ errno=0; \
+ while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
+ { \
+ if( errno != EINTR) \
+ { \
+ YY_FATAL_ERROR( "input in flex scanner failed" ); \
+ break; \
+ } \
+ errno=0; \
+ clearerr(yyin); \
+ } \
+ }\
+\
+
+#endif
+
+/* No semi-colon after return; correct usage is to write "yyterminate();" -
+ * we don't want an extra ';' after the "return" because that will cause
+ * some compilers to complain about unreachable statements.
+ */
+#ifndef yyterminate
+#define yyterminate() return YY_NULL
+#endif
+
+/* Number of entries by which start-condition stack grows. */
+#ifndef YY_START_STACK_INCR
+#define YY_START_STACK_INCR 25
+#endif
+
+/* Report a fatal error. */
+#ifndef YY_FATAL_ERROR
+#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
+#endif
+
+/* end tables serialization structures and prototypes */
+
+/* Default declaration of generated scanner - a define so the user can
+ * easily add parameters.
+ */
+#ifndef YY_DECL
+#define YY_DECL_IS_OURS 1
+
+extern int yylex (void);
+
+#define YY_DECL int yylex (void)
+#endif /* !YY_DECL */
+
+/* Code executed at the beginning of each rule, after yytext and yyleng
+ * have been set up.
+ */
+#ifndef YY_USER_ACTION
+#define YY_USER_ACTION
+#endif
+
+/* Code executed at the end of each rule. */
+#ifndef YY_BREAK
+#define YY_BREAK /*LINTED*/break;
+#endif
+
+#define YY_RULE_SETUP \
+ if ( yyleng > 0 ) \
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
+ (yytext[yyleng - 1] == '\n'); \
+ YY_USER_ACTION
+
+/** The main scanner function which does all the work.
+ */
+YY_DECL
+{
+ yy_state_type yy_current_state;
+ char *yy_cp, *yy_bp;
+ int yy_act;
+
+ if ( !(yy_init) )
+ {
+ (yy_init) = 1;
+
+#ifdef YY_USER_INIT
+ YY_USER_INIT;
+#endif
+
+ if ( ! (yy_start) )
+ (yy_start) = 1; /* first start state */
+
+ if ( ! yyin )
+ yyin = stdin;
+
+ if ( ! yyout )
+ yyout = stdout;
+
+ if ( ! YY_CURRENT_BUFFER ) {
+ yyensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+ yy_create_buffer(yyin,YY_BUF_SIZE );
+ }
+
+ yy_load_buffer_state( );
+ }
+
+ {
+#line 131 "stage1scan.l"
+
+ static int bracelevel, didadef, indented_code;
+ static int doing_rule_action = false;
+ static int option_sense;
+
+ int doing_codeblock = false;
+ int i, brace_depth=0, brace_start_line=0;
+ char nmdef[MAXLINE];
+
+
+#line 2101 "stage1scan.c"
+
+ while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
+ {
+ (yy_more_len) = 0;
+ if ( (yy_more_flag) )
+ {
+ (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
+ (yy_more_flag) = 0;
+ }
+ yy_cp = (yy_c_buf_p);
+
+ /* Support of yytext. */
+ *yy_cp = (yy_hold_char);
+
+ /* yy_bp points to the position in yy_ch_buf of the start of
+ * the current run.
+ */
+ yy_bp = yy_cp;
+
+ yy_current_state = (yy_start);
+ yy_current_state += YY_AT_BOL();
+yy_match:
+ do
+ {
+ YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 1110 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ ++yy_cp;
+ }
+ while ( yy_base[yy_current_state] != 3970 );
+
+yy_find_action:
+ yy_act = yy_accept[yy_current_state];
+ if ( yy_act == 0 )
+ { /* have to back up */
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
+ yy_act = yy_accept[yy_current_state];
+ }
+
+ YY_DO_BEFORE_ACTION;
+
+do_action: /* This label is used only to access EOF actions. */
+
+ switch ( yy_act )
+ { /* beginning of action switch */
+ case 0: /* must back up */
+ /* undo the effects of YY_DO_BEFORE_ACTION */
+ *yy_cp = (yy_hold_char);
+ yy_cp = (yy_last_accepting_cpos);
+ yy_current_state = (yy_last_accepting_state);
+ goto yy_find_action;
+
+case 1:
+YY_RULE_SETUP
+#line 142 "stage1scan.l"
+indented_code = true; BEGIN(CODEBLOCK);
+ YY_BREAK
+case 2:
+YY_RULE_SETUP
+#line 143 "stage1scan.l"
+ACTION_ECHO; yy_push_state( COMMENT );
+ YY_BREAK
+case 3:
+YY_RULE_SETUP
+#line 144 "stage1scan.l"
+yy_push_state( LINEDIR );
+ YY_BREAK
+case 4:
+YY_RULE_SETUP
+#line 145 "stage1scan.l"
+return SCDECL;
+ YY_BREAK
+case 5:
+YY_RULE_SETUP
+#line 146 "stage1scan.l"
+return XSCDECL;
+ YY_BREAK
+case 6:
+/* rule 6 can match eol */
+YY_RULE_SETUP
+#line 147 "stage1scan.l"
+{
+ ++linenum;
+ line_directive_out(NULL, 1);
+ indented_code = false;
+ BEGIN(CODEBLOCK);
+ }
+ YY_BREAK
+case 7:
+/* rule 7 can match eol */
+YY_RULE_SETUP
+#line 153 "stage1scan.l"
+{
+ brace_start_line = linenum;
+ ++linenum;
+ buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
+ brace_depth = 1;
+ yy_push_state(CODEBLOCK_MATCH_BRACE);
+ }
+ YY_BREAK
+case 8:
+YY_RULE_SETUP
+#line 161 "stage1scan.l"
+synerr( _("malformed '%top' directive") );
+ YY_BREAK
+case 9:
+YY_RULE_SETUP
+#line 163 "stage1scan.l"
+/* discard */
+ YY_BREAK
+case 10:
+YY_RULE_SETUP
+#line 165 "stage1scan.l"
+{
+ sectnum = 2;
+ bracelevel = 0;
+ mark_defs1();
+ line_directive_out(NULL, 1);
+ BEGIN(SECT2PROLOG);
+ return SECTEND;
+ }
+ YY_BREAK
+case 11:
+/* rule 11 can match eol */
+YY_RULE_SETUP
+#line 174 "stage1scan.l"
+yytext_is_array = false; ++linenum;
+ YY_BREAK
+case 12:
+/* rule 12 can match eol */
+YY_RULE_SETUP
+#line 175 "stage1scan.l"
+yytext_is_array = true; ++linenum;
+ YY_BREAK
+case 13:
+YY_RULE_SETUP
+#line 177 "stage1scan.l"
+BEGIN(OPTION); return TOK_OPTION;
+ YY_BREAK
+case 14:
+/* rule 14 can match eol */
+YY_RULE_SETUP
+#line 179 "stage1scan.l"
+++linenum; /* ignore */
+ YY_BREAK
+case 15:
+/* rule 15 can match eol */
+YY_RULE_SETUP
+#line 180 "stage1scan.l"
+++linenum; /* ignore */
+ YY_BREAK
+/* xgettext: no-c-format */
+case 16:
+/* rule 16 can match eol */
+YY_RULE_SETUP
+#line 183 "stage1scan.l"
+synerr( _( "unrecognized '%' directive" ) );
+ YY_BREAK
+case 17:
+YY_RULE_SETUP
+#line 185 "stage1scan.l"
+{
+ if(yyleng < MAXLINE)
+ {
+ strcpy( nmstr, yytext );
+ }
+ else
+ {
+ synerr( _("Definition name too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+
+ didadef = false;
+ BEGIN(PICKUPDEF);
+ }
+ YY_BREAK
+case 18:
+YY_RULE_SETUP
+#line 200 "stage1scan.l"
+RETURNNAME;
+ YY_BREAK
+case 19:
+/* rule 19 can match eol */
+YY_RULE_SETUP
+#line 201 "stage1scan.l"
+++linenum; /* allows blank lines in section 1 */
+ YY_BREAK
+case 20:
+/* rule 20 can match eol */
+YY_RULE_SETUP
+#line 202 "stage1scan.l"
+ACTION_ECHO; ++linenum; /* maybe end of comment line */
+ YY_BREAK
+
+
+case 21:
+YY_RULE_SETUP
+#line 207 "stage1scan.l"
+ACTION_ECHO; yy_pop_state();
+ YY_BREAK
+case 22:
+YY_RULE_SETUP
+#line 208 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 23:
+YY_RULE_SETUP
+#line 209 "stage1scan.l"
+ACTION_ECHO_QSTART;
+ YY_BREAK
+case 24:
+YY_RULE_SETUP
+#line 210 "stage1scan.l"
+ACTION_ECHO_QEND;
+ YY_BREAK
+case 25:
+YY_RULE_SETUP
+#line 211 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 26:
+/* rule 26 can match eol */
+YY_RULE_SETUP
+#line 212 "stage1scan.l"
+++linenum; ACTION_ECHO;
+ YY_BREAK
+
+
+/* This is the same as COMMENT, but is discarded rather than output. */
+case 27:
+YY_RULE_SETUP
+#line 217 "stage1scan.l"
+yy_pop_state();
+ YY_BREAK
+case 28:
+YY_RULE_SETUP
+#line 218 "stage1scan.l"
+;
+ YY_BREAK
+case 29:
+YY_RULE_SETUP
+#line 219 "stage1scan.l"
+;
+ YY_BREAK
+case 30:
+/* rule 30 can match eol */
+YY_RULE_SETUP
+#line 220 "stage1scan.l"
+++linenum;
+ YY_BREAK
+
+
+case 31:
+YY_RULE_SETUP
+#line 224 "stage1scan.l"
+yy_pop_state();
+ YY_BREAK
+case 32:
+YY_RULE_SETUP
+#line 225 "stage1scan.l"
+;
+ YY_BREAK
+case 33:
+/* rule 33 can match eol */
+YY_RULE_SETUP
+#line 226 "stage1scan.l"
+++linenum;
+ YY_BREAK
+
+
+case 34:
+/* rule 34 can match eol */
+YY_RULE_SETUP
+#line 230 "stage1scan.l"
+yy_pop_state();
+ YY_BREAK
+case 35:
+YY_RULE_SETUP
+#line 231 "stage1scan.l"
+linenum = myctoi( yytext );
+ YY_BREAK
+case 36:
+YY_RULE_SETUP
+#line 233 "stage1scan.l"
+{
+ free(infilename);
+ infilename = xstrdup(yytext + 1);
+ infilename[strlen( infilename ) - 1] = '\0';
+ }
+ YY_BREAK
+case 37:
+YY_RULE_SETUP
+#line 238 "stage1scan.l"
+/* ignore spurious characters */
+ YY_BREAK
+
+
+case 38:
+/* rule 38 can match eol */
+YY_RULE_SETUP
+#line 242 "stage1scan.l"
+++linenum; BEGIN(INITIAL);
+ YY_BREAK
+case 39:
+YY_RULE_SETUP
+#line 244 "stage1scan.l"
+ACTION_ECHO_QSTART;
+ YY_BREAK
+case 40:
+YY_RULE_SETUP
+#line 245 "stage1scan.l"
+ACTION_ECHO_QEND;
+ YY_BREAK
+case 41:
+YY_RULE_SETUP
+#line 246 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 42:
+/* rule 42 can match eol */
+YY_RULE_SETUP
+#line 248 "stage1scan.l"
+{
+ ++linenum;
+ ACTION_ECHO;
+ if ( indented_code )
+ BEGIN(INITIAL);
+ }
+ YY_BREAK
+
+
+case 43:
+YY_RULE_SETUP
+#line 257 "stage1scan.l"
+{
+ if( --brace_depth == 0){
+ /* TODO: Matched. */
+ yy_pop_state();
+ }else
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+ YY_BREAK
+case 44:
+YY_RULE_SETUP
+#line 265 "stage1scan.l"
+{
+ brace_depth++;
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+ YY_BREAK
+case 45:
+/* rule 45 can match eol */
+YY_RULE_SETUP
+#line 270 "stage1scan.l"
+{
+ ++linenum;
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+ YY_BREAK
+case 46:
+YY_RULE_SETUP
+#line 275 "stage1scan.l"
+buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
+ YY_BREAK
+case 47:
+YY_RULE_SETUP
+#line 276 "stage1scan.l"
+buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
+ YY_BREAK
+case 48:
+YY_RULE_SETUP
+#line 278 "stage1scan.l"
+{
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+ YY_BREAK
+case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE):
+#line 282 "stage1scan.l"
+{
+ linenum = brace_start_line;
+ synerr(_("Unmatched '{'"));
+ yyterminate();
+ }
+ YY_BREAK
+
+
+case 49:
+YY_RULE_SETUP
+#line 291 "stage1scan.l"
+/* separates name and definition */
+ YY_BREAK
+case 50:
+YY_RULE_SETUP
+#line 293 "stage1scan.l"
+{
+ if(yyleng < MAXLINE)
+ {
+ strcpy( nmdef, yytext );
+ }
+ else
+ {
+ format_synerr( _("Definition value for {%s} too long\n"), nmstr);
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+ /* Skip trailing whitespace. */
+ for ( i = strlen( nmdef ) - 1;
+ i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
+ --i )
+ ;
+
+ nmdef[i + 1] = '\0';
+
+ ndinstal( nmstr, nmdef );
+ didadef = true;
+ }
+ YY_BREAK
+case 51:
+/* rule 51 can match eol */
+YY_RULE_SETUP
+#line 315 "stage1scan.l"
+{
+ if ( ! didadef )
+ synerr( _( "incomplete name definition" ) );
+ BEGIN(INITIAL);
+ ++linenum;
+ }
+ YY_BREAK
+
+
+case 52:
+/* rule 52 can match eol */
+YY_RULE_SETUP
+#line 325 "stage1scan.l"
+++linenum; BEGIN(INITIAL);
+ YY_BREAK
+case 53:
+YY_RULE_SETUP
+#line 326 "stage1scan.l"
+option_sense = true;
+ YY_BREAK
+case 54:
+YY_RULE_SETUP
+#line 328 "stage1scan.l"
+return '=';
+ YY_BREAK
+case 55:
+YY_RULE_SETUP
+#line 330 "stage1scan.l"
+option_sense = ! option_sense;
+ YY_BREAK
+case 56:
+YY_RULE_SETUP
+#line 332 "stage1scan.l"
+csize = option_sense ? 128 : 256;
+ YY_BREAK
+case 57:
+YY_RULE_SETUP
+#line 333 "stage1scan.l"
+csize = option_sense ? 256 : 128;
+ YY_BREAK
+case 58:
+YY_RULE_SETUP
+#line 335 "stage1scan.l"
+long_align = option_sense;
+ YY_BREAK
+case 59:
+YY_RULE_SETUP
+#line 336 "stage1scan.l"
+{
+ ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
+ interactive = option_sense;
+ }
+ YY_BREAK
+case 60:
+YY_RULE_SETUP
+#line 340 "stage1scan.l"
+yytext_is_array = option_sense;
+ YY_BREAK
+case 61:
+YY_RULE_SETUP
+#line 341 "stage1scan.l"
+ansi_func_defs = option_sense;
+ YY_BREAK
+case 62:
+YY_RULE_SETUP
+#line 342 "stage1scan.l"
+ansi_func_protos = option_sense;
+ YY_BREAK
+case 63:
+YY_RULE_SETUP
+#line 343 "stage1scan.l"
+backing_up_report = option_sense;
+ YY_BREAK
+case 64:
+YY_RULE_SETUP
+#line 344 "stage1scan.l"
+interactive = ! option_sense;
+ YY_BREAK
+case 65:
+YY_RULE_SETUP
+#line 345 "stage1scan.l"
+bison_bridge_lval = option_sense;
+ YY_BREAK
+case 66:
+YY_RULE_SETUP
+#line 346 "stage1scan.l"
+{ if((bison_bridge_lloc = option_sense))
+ bison_bridge_lval = true;
+ }
+ YY_BREAK
+case 67:
+YY_RULE_SETUP
+#line 349 "stage1scan.l"
+C_plus_plus = option_sense;
+ YY_BREAK
+case 68:
+YY_RULE_SETUP
+#line 350 "stage1scan.l"
+sf_set_case_ins(!option_sense);
+ YY_BREAK
+case 69:
+YY_RULE_SETUP
+#line 351 "stage1scan.l"
+sf_set_case_ins(option_sense);
+ YY_BREAK
+case 70:
+YY_RULE_SETUP
+#line 352 "stage1scan.l"
+ddebug = option_sense;
+ YY_BREAK
+case 71:
+YY_RULE_SETUP
+#line 353 "stage1scan.l"
+spprdflt = ! option_sense;
+ YY_BREAK
+case 72:
+YY_RULE_SETUP
+#line 354 "stage1scan.l"
+useecs = option_sense;
+ YY_BREAK
+case 73:
+YY_RULE_SETUP
+#line 355 "stage1scan.l"
+{
+ useecs = usemecs = false;
+ use_read = fullspd = true;
+ }
+ YY_BREAK
+case 74:
+YY_RULE_SETUP
+#line 359 "stage1scan.l"
+{
+ useecs = usemecs = false;
+ use_read = fulltbl = true;
+ }
+ YY_BREAK
+case 75:
+YY_RULE_SETUP
+#line 363 "stage1scan.l"
+ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
+ YY_BREAK
+case 76:
+YY_RULE_SETUP
+#line 364 "stage1scan.l"
+interactive = option_sense;
+ YY_BREAK
+case 77:
+YY_RULE_SETUP
+#line 365 "stage1scan.l"
+lex_compat = option_sense;
+ YY_BREAK
+case 78:
+YY_RULE_SETUP
+#line 366 "stage1scan.l"
+posix_compat = option_sense;
+ YY_BREAK
+case 79:
+YY_RULE_SETUP
+#line 367 "stage1scan.l"
+gen_line_dirs = option_sense;
+ YY_BREAK
+case 80:
+YY_RULE_SETUP
+#line 368 "stage1scan.l"
+{
+ ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
+ /* Override yywrap */
+ if( option_sense == true )
+ do_yywrap = false;
+ }
+ YY_BREAK
+case 81:
+YY_RULE_SETUP
+#line 374 "stage1scan.l"
+usemecs = option_sense;
+ YY_BREAK
+case 82:
+YY_RULE_SETUP
+#line 375 "stage1scan.l"
+{
+ ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
+ interactive = !option_sense;
+ }
+ YY_BREAK
+case 83:
+YY_RULE_SETUP
+#line 379 "stage1scan.l"
+performance_report += option_sense ? 1 : -1;
+ YY_BREAK
+case 84:
+YY_RULE_SETUP
+#line 380 "stage1scan.l"
+yytext_is_array = ! option_sense;
+ YY_BREAK
+case 85:
+YY_RULE_SETUP
+#line 381 "stage1scan.l"
+use_read = option_sense;
+ YY_BREAK
+case 86:
+YY_RULE_SETUP
+#line 382 "stage1scan.l"
+reentrant = option_sense;
+ YY_BREAK
+case 87:
+YY_RULE_SETUP
+#line 383 "stage1scan.l"
+reject_really_used = option_sense;
+ YY_BREAK
+case 88:
+YY_RULE_SETUP
+#line 384 "stage1scan.l"
+ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
+ YY_BREAK
+case 89:
+YY_RULE_SETUP
+#line 385 "stage1scan.l"
+do_stdinit = option_sense;
+ YY_BREAK
+case 90:
+YY_RULE_SETUP
+#line 386 "stage1scan.l"
+use_stdout = option_sense;
+ YY_BREAK
+case 91:
+YY_RULE_SETUP
+#line 387 "stage1scan.l"
+ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
+ YY_BREAK
+case 92:
+YY_RULE_SETUP
+#line 388 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
+ YY_BREAK
+case 93:
+YY_RULE_SETUP
+#line 389 "stage1scan.l"
+printstats = option_sense;
+ YY_BREAK
+case 94:
+YY_RULE_SETUP
+#line 390 "stage1scan.l"
+nowarn = ! option_sense;
+ YY_BREAK
+case 95:
+YY_RULE_SETUP
+#line 391 "stage1scan.l"
+do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
+ YY_BREAK
+case 96:
+YY_RULE_SETUP
+#line 392 "stage1scan.l"
+yymore_really_used = option_sense;
+ YY_BREAK
+case 97:
+YY_RULE_SETUP
+#line 393 "stage1scan.l"
+do_yywrap = option_sense;
+ YY_BREAK
+case 98:
+YY_RULE_SETUP
+#line 395 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
+ YY_BREAK
+case 99:
+YY_RULE_SETUP
+#line 396 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
+ YY_BREAK
+case 100:
+YY_RULE_SETUP
+#line 397 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
+ YY_BREAK
+case 101:
+YY_RULE_SETUP
+#line 399 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
+ YY_BREAK
+case 102:
+YY_RULE_SETUP
+#line 400 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
+ YY_BREAK
+case 103:
+YY_RULE_SETUP
+#line 401 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
+ YY_BREAK
+case 104:
+YY_RULE_SETUP
+#line 403 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
+ YY_BREAK
+case 105:
+YY_RULE_SETUP
+#line 404 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
+ YY_BREAK
+case 106:
+YY_RULE_SETUP
+#line 405 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
+ YY_BREAK
+case 107:
+YY_RULE_SETUP
+#line 407 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
+ YY_BREAK
+case 108:
+YY_RULE_SETUP
+#line 408 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
+ YY_BREAK
+case 109:
+YY_RULE_SETUP
+#line 409 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
+ YY_BREAK
+case 110:
+YY_RULE_SETUP
+#line 410 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
+ YY_BREAK
+case 111:
+YY_RULE_SETUP
+#line 411 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
+ YY_BREAK
+case 112:
+YY_RULE_SETUP
+#line 412 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
+ YY_BREAK
+case 113:
+YY_RULE_SETUP
+#line 413 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
+ YY_BREAK
+case 114:
+YY_RULE_SETUP
+#line 414 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
+ YY_BREAK
+case 115:
+YY_RULE_SETUP
+#line 415 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
+ YY_BREAK
+case 116:
+YY_RULE_SETUP
+#line 416 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
+ YY_BREAK
+case 117:
+YY_RULE_SETUP
+#line 417 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
+ YY_BREAK
+case 118:
+YY_RULE_SETUP
+#line 418 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
+ YY_BREAK
+case 119:
+YY_RULE_SETUP
+#line 419 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
+ YY_BREAK
+case 120:
+YY_RULE_SETUP
+#line 420 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
+ YY_BREAK
+case 121:
+YY_RULE_SETUP
+#line 421 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
+ YY_BREAK
+case 122:
+YY_RULE_SETUP
+#line 422 "stage1scan.l"
+ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
+ YY_BREAK
+case 123:
+YY_RULE_SETUP
+#line 424 "stage1scan.l"
+return TOK_EXTRA_TYPE;
+ YY_BREAK
+case 124:
+YY_RULE_SETUP
+#line 425 "stage1scan.l"
+return TOK_OUTFILE;
+ YY_BREAK
+case 125:
+YY_RULE_SETUP
+#line 426 "stage1scan.l"
+return TOK_PREFIX;
+ YY_BREAK
+case 126:
+YY_RULE_SETUP
+#line 427 "stage1scan.l"
+return TOK_YYCLASS;
+ YY_BREAK
+case 127:
+YY_RULE_SETUP
+#line 428 "stage1scan.l"
+return TOK_HEADER_FILE;
+ YY_BREAK
+case 128:
+YY_RULE_SETUP
+#line 429 "stage1scan.l"
+return TOK_TABLES_FILE;
+ YY_BREAK
+case 129:
+YY_RULE_SETUP
+#line 430 "stage1scan.l"
+{
+ tablesverify = option_sense;
+ if(!tablesext && option_sense)
+ tablesext = true;
+ }
+ YY_BREAK
+case 130:
+YY_RULE_SETUP
+#line 437 "stage1scan.l"
+{
+ if(yyleng-1 < MAXLINE)
+ {
+ strcpy( nmstr, yytext + 1 );
+ }
+ else
+ {
+ synerr( _("Option line too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+ nmstr[strlen( nmstr ) - 1] = '\0';
+ return NAME;
+ }
+ YY_BREAK
+case 131:
+YY_RULE_SETUP
+#line 451 "stage1scan.l"
+{
+ format_synerr( _( "unrecognized %%option: %s" ),
+ yytext );
+ BEGIN(RECOVER);
+ }
+ YY_BREAK
+
+case 132:
+/* rule 132 can match eol */
+YY_RULE_SETUP
+#line 458 "stage1scan.l"
+++linenum; BEGIN(INITIAL);
+ YY_BREAK
+
+case 133:
+YY_RULE_SETUP
+#line 462 "stage1scan.l"
+++bracelevel; yyless( 2 ); /* eat only %{ */
+ YY_BREAK
+case 134:
+YY_RULE_SETUP
+#line 463 "stage1scan.l"
+--bracelevel; yyless( 2 ); /* eat only %} */
+ YY_BREAK
+case 135:
+YY_RULE_SETUP
+#line 465 "stage1scan.l"
+ACTION_ECHO; /* indented code in prolog */
+ YY_BREAK
+case 136:
+YY_RULE_SETUP
+#line 467 "stage1scan.l"
+{ /* non-indented code */
+ if ( bracelevel <= 0 )
+ { /* not in %{ ... %} */
+ yyless( 0 ); /* put it all back */
+ yy_set_bol( 1 );
+ mark_prolog();
+ BEGIN(SECT2);
+ }
+ else
+ ACTION_ECHO;
+ }
+ YY_BREAK
+case 137:
+YY_RULE_SETUP
+#line 479 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 138:
+/* rule 138 can match eol */
+YY_RULE_SETUP
+#line 480 "stage1scan.l"
+++linenum; ACTION_ECHO;
+ YY_BREAK
+case YY_STATE_EOF(SECT2PROLOG):
+#line 482 "stage1scan.l"
+{
+ mark_prolog();
+ sectnum = 0;
+ yyterminate(); /* to stop the parser */
+ }
+ YY_BREAK
+
+
+case 139:
+/* rule 139 can match eol */
+YY_RULE_SETUP
+#line 490 "stage1scan.l"
+++linenum; /* allow blank lines in section 2 */
+ YY_BREAK
+case 140:
+YY_RULE_SETUP
+#line 492 "stage1scan.l"
+{
+ indented_code = false;
+ doing_codeblock = true;
+ bracelevel = 1;
+ BEGIN(PERCENT_BRACE_ACTION);
+ }
+ YY_BREAK
+case 141:
+YY_RULE_SETUP
+#line 499 "stage1scan.l"
+{
+ /* Allow "<" to appear in (?x) patterns. */
+ if (!sf_skip_ws())
+ BEGIN(SC);
+ return '<';
+ }
+ YY_BREAK
+case 142:
+YY_RULE_SETUP
+#line 505 "stage1scan.l"
+return '^';
+ YY_BREAK
+case 143:
+YY_RULE_SETUP
+#line 506 "stage1scan.l"
+BEGIN(QUOTE); return '"';
+ YY_BREAK
+case 144:
+*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 507 "stage1scan.l"
+{
+ BEGIN(NUM);
+ if ( lex_compat || posix_compat )
+ return BEGIN_REPEAT_POSIX;
+ else
+ return BEGIN_REPEAT_FLEX;
+ }
+ YY_BREAK
+case 145:
+/* rule 145 can match eol */
+*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+YY_LINENO_REWIND_TO(yy_bp + 1);
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 514 "stage1scan.l"
+return '$';
+ YY_BREAK
+case 146:
+YY_RULE_SETUP
+#line 516 "stage1scan.l"
+{
+ bracelevel = 1;
+ BEGIN(PERCENT_BRACE_ACTION);
+
+ if ( in_rule )
+ {
+ doing_rule_action = true;
+ in_rule = false;
+ return '\n';
+ }
+ }
+ YY_BREAK
+case 147:
+/* rule 147 can match eol */
+YY_RULE_SETUP
+#line 527 "stage1scan.l"
+{
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ /* Push back everything starting at the "|" */
+ int amt = (int) (strchr (yytext, '|') - yytext);
+ yyless(amt);
+ }
+ else {
+ continued_action = true;
+ ++linenum;
+ return '\n';
+ }
+ }
+ YY_BREAK
+case 148:
+YY_RULE_SETUP
+#line 541 "stage1scan.l"
+{
+
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ yy_push_state(COMMENT_DISCARD);
+ }
+ else{
+ yyless( yyleng - 2 ); /* put back '/', '*' */
+ bracelevel = 0;
+ continued_action = false;
+ BEGIN(ACTION);
+ }
+ }
+ YY_BREAK
+case 149:
+YY_RULE_SETUP
+#line 555 "stage1scan.l"
+/* allow indented rules */ ;
+ YY_BREAK
+case 150:
+YY_RULE_SETUP
+#line 557 "stage1scan.l"
+{
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ }
+ else{
+ /* This rule is separate from the one below because
+ * otherwise we get variable trailing context, so
+ * we can't build the scanner using -{f,F}.
+ */
+ bracelevel = 0;
+ continued_action = false;
+ BEGIN(ACTION);
+
+ if ( in_rule )
+ {
+ doing_rule_action = true;
+ in_rule = false;
+ return '\n';
+ }
+ }
+ }
+ YY_BREAK
+case 151:
+/* rule 151 can match eol */
+YY_RULE_SETUP
+#line 579 "stage1scan.l"
+{
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ ++linenum;
+ }
+ else{
+ bracelevel = 0;
+ continued_action = false;
+ BEGIN(ACTION);
+ unput( '\n' ); /* so <ACTION> sees it */
+
+ if ( in_rule )
+ {
+ doing_rule_action = true;
+ in_rule = false;
+ return '\n';
+ }
+ }
+ }
+ YY_BREAK
+case 152:
+#line 600 "stage1scan.l"
+case 153:
+YY_RULE_SETUP
+#line 600 "stage1scan.l"
+return EOF_OP;
+ YY_BREAK
+case 154:
+YY_RULE_SETUP
+#line 602 "stage1scan.l"
+{
+ sectnum = 3;
+ BEGIN(SECT3);
+ outn("/* Begin user sect3 */");
+ yyterminate(); /* to stop the parser */
+ }
+ YY_BREAK
+case 155:
+YY_RULE_SETUP
+#line 609 "stage1scan.l"
+{
+ int cclval;
+
+ if(yyleng < MAXLINE)
+ {
+ strcpy( nmstr, yytext );
+ }
+ else
+ {
+ synerr( _("Input line too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+
+ /* Check to see if we've already encountered this
+ * ccl.
+ */
+ if (0 /* <--- This "0" effectively disables the reuse of a
+ * character class (purely based on its source text).
+ * The reason it was disabled is so yacc/bison can parse
+ * ccl operations, such as ccl difference and union.
+ */
+ && (cclval = ccllookup( nmstr )) != 0 )
+ {
+ if ( input() != ']' )
+ synerr( _( "bad character class" ) );
+
+ yylval = cclval;
+ ++cclreuse;
+ return PREVCCL;
+ }
+ else
+ {
+ /* We fudge a bit. We know that this ccl will
+ * soon be numbered as lastccl + 1 by cclinit.
+ */
+ cclinstal( nmstr, lastccl + 1 );
+
+ /* Push back everything but the leading bracket
+ * so the ccl can be rescanned.
+ */
+ yyless( 1 );
+
+ BEGIN(FIRSTCCL);
+ return '[';
+ }
+ }
+ YY_BREAK
+case 156:
+YY_RULE_SETUP
+#line 655 "stage1scan.l"
+return CCL_OP_DIFF;
+ YY_BREAK
+case 157:
+YY_RULE_SETUP
+#line 656 "stage1scan.l"
+return CCL_OP_UNION;
+ YY_BREAK
+/* Check for :space: at the end of the rule so we don't
+ * wrap the expanded regex in '(' ')' -- breaking trailing
+ * context.
+ */
+case 158:
+/* rule 158 can match eol */
+YY_RULE_SETUP
+#line 663 "stage1scan.l"
+{
+ char *nmdefptr;
+ int end_is_ws, end_ch;
+
+ end_ch = yytext[yyleng-1];
+ end_is_ws = end_ch != '}' ? 1 : 0;
+
+ if(yyleng-1 < MAXLINE)
+ {
+ strcpy( nmstr, yytext + 1 );
+ }
+ else
+ {
+ synerr( _("Input line too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
+
+ if ( (nmdefptr = ndlookup( nmstr )) == 0 )
+ format_synerr(
+ _( "undefined definition {%s}" ),
+ nmstr );
+
+ else
+ { /* push back name surrounded by ()'s */
+ int len = strlen( nmdefptr );
+ if (end_is_ws)
+ unput(end_ch);
+
+ if ( lex_compat || nmdefptr[0] == '^' ||
+ (len > 0 && nmdefptr[len - 1] == '$')
+ || (end_is_ws && trlcontxt && !sf_skip_ws()))
+ { /* don't use ()'s after all */
+ PUT_BACK_STRING(nmdefptr, 0);
+
+ if ( nmdefptr[0] == '^' )
+ BEGIN(CARETISBOL);
+ }
+
+ else
+ {
+ unput(')');
+ PUT_BACK_STRING(nmdefptr, 0);
+ unput('(');
+ }
+ }
+ }
+ YY_BREAK
+case 159:
+YY_RULE_SETUP
+#line 711 "stage1scan.l"
+{
+ if (sf_skip_ws())
+ yy_push_state(COMMENT_DISCARD);
+ else{
+ /* Push back the "*" and return "/" as usual. */
+ yyless(1);
+ return '/';
+ }
+ }
+ YY_BREAK
+case 160:
+YY_RULE_SETUP
+#line 721 "stage1scan.l"
+{
+ if (lex_compat || posix_compat){
+ /* Push back the "?#" and treat it like a normal parens. */
+ yyless(1);
+ sf_push();
+ return '(';
+ }
+ else
+ yy_push_state(EXTENDED_COMMENT);
+ }
+ YY_BREAK
+case 161:
+YY_RULE_SETUP
+#line 731 "stage1scan.l"
+{
+ sf_push();
+ if (lex_compat || posix_compat)
+ /* Push back the "?" and treat it like a normal parens. */
+ yyless(1);
+ else
+ BEGIN(GROUP_WITH_PARAMS);
+ return '(';
+ }
+ YY_BREAK
+case 162:
+YY_RULE_SETUP
+#line 740 "stage1scan.l"
+sf_push(); return '(';
+ YY_BREAK
+case 163:
+YY_RULE_SETUP
+#line 741 "stage1scan.l"
+{
+ if (_sf_top_ix > 0) {
+ sf_pop();
+ return ')';
+ } else
+ synerr(_("unbalanced parenthesis"));
+ }
+ YY_BREAK
+case 164:
+YY_RULE_SETUP
+#line 749 "stage1scan.l"
+return (unsigned char) yytext[0];
+ YY_BREAK
+case 165:
+YY_RULE_SETUP
+#line 750 "stage1scan.l"
+RETURNCHAR;
+ YY_BREAK
+
+
+case 166:
+/* rule 166 can match eol */
+YY_RULE_SETUP
+#line 755 "stage1scan.l"
+++linenum; /* Allow blank lines & continuations */
+ YY_BREAK
+case 167:
+YY_RULE_SETUP
+#line 756 "stage1scan.l"
+return (unsigned char) yytext[0];
+ YY_BREAK
+case 168:
+YY_RULE_SETUP
+#line 757 "stage1scan.l"
+BEGIN(SECT2); return '>';
+ YY_BREAK
+case 169:
+*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 758 "stage1scan.l"
+BEGIN(CARETISBOL); return '>';
+ YY_BREAK
+case 170:
+YY_RULE_SETUP
+#line 759 "stage1scan.l"
+RETURNNAME;
+ YY_BREAK
+case 171:
+YY_RULE_SETUP
+#line 760 "stage1scan.l"
+{
+ format_synerr( _( "bad <start condition>: %s" ),
+ yytext );
+ }
+ YY_BREAK
+
+case 172:
+YY_RULE_SETUP
+#line 766 "stage1scan.l"
+BEGIN(SECT2); return '^';
+ YY_BREAK
+
+case 173:
+YY_RULE_SETUP
+#line 770 "stage1scan.l"
+RETURNCHAR;
+ YY_BREAK
+case 174:
+YY_RULE_SETUP
+#line 771 "stage1scan.l"
+BEGIN(SECT2); return '"';
+ YY_BREAK
+case 175:
+/* rule 175 can match eol */
+YY_RULE_SETUP
+#line 773 "stage1scan.l"
+{
+ synerr( _( "missing quote" ) );
+ BEGIN(SECT2);
+ ++linenum;
+ return '"';
+ }
+ YY_BREAK
+
+
+case 176:
+YY_RULE_SETUP
+#line 782 "stage1scan.l"
+BEGIN(SECT2);
+ YY_BREAK
+case 177:
+YY_RULE_SETUP
+#line 783 "stage1scan.l"
+BEGIN(GROUP_MINUS_PARAMS);
+ YY_BREAK
+case 178:
+YY_RULE_SETUP
+#line 784 "stage1scan.l"
+sf_set_case_ins(1);
+ YY_BREAK
+case 179:
+YY_RULE_SETUP
+#line 785 "stage1scan.l"
+sf_set_dot_all(1);
+ YY_BREAK
+case 180:
+YY_RULE_SETUP
+#line 786 "stage1scan.l"
+sf_set_skip_ws(1);
+ YY_BREAK
+
+
+case 181:
+YY_RULE_SETUP
+#line 789 "stage1scan.l"
+BEGIN(SECT2);
+ YY_BREAK
+case 182:
+YY_RULE_SETUP
+#line 790 "stage1scan.l"
+sf_set_case_ins(0);
+ YY_BREAK
+case 183:
+YY_RULE_SETUP
+#line 791 "stage1scan.l"
+sf_set_dot_all(0);
+ YY_BREAK
+case 184:
+YY_RULE_SETUP
+#line 792 "stage1scan.l"
+sf_set_skip_ws(0);
+ YY_BREAK
+
+
+case 185:
+*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 796 "stage1scan.l"
+BEGIN(CCL); return '^';
+ YY_BREAK
+case 186:
+*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 797 "stage1scan.l"
+return '^';
+ YY_BREAK
+case 187:
+YY_RULE_SETUP
+#line 798 "stage1scan.l"
+BEGIN(CCL); RETURNCHAR;
+ YY_BREAK
+
+
+case 188:
+*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
+(yy_c_buf_p) = yy_cp = yy_bp + 1;
+YY_DO_BEFORE_ACTION; /* set up yytext again */
+YY_RULE_SETUP
+#line 802 "stage1scan.l"
+return '-';
+ YY_BREAK
+case 189:
+YY_RULE_SETUP
+#line 803 "stage1scan.l"
+RETURNCHAR;
+ YY_BREAK
+case 190:
+YY_RULE_SETUP
+#line 804 "stage1scan.l"
+BEGIN(SECT2); return ']';
+ YY_BREAK
+case 191:
+/* rule 191 can match eol */
+YY_RULE_SETUP
+#line 805 "stage1scan.l"
+{
+ synerr( _( "bad character class" ) );
+ BEGIN(SECT2);
+ return ']';
+ }
+ YY_BREAK
+
+
+case 192:
+YY_RULE_SETUP
+#line 813 "stage1scan.l"
+BEGIN(CCL); return CCE_ALNUM;
+ YY_BREAK
+case 193:
+YY_RULE_SETUP
+#line 814 "stage1scan.l"
+BEGIN(CCL); return CCE_ALPHA;
+ YY_BREAK
+case 194:
+YY_RULE_SETUP
+#line 815 "stage1scan.l"
+BEGIN(CCL); return CCE_BLANK;
+ YY_BREAK
+case 195:
+YY_RULE_SETUP
+#line 816 "stage1scan.l"
+BEGIN(CCL); return CCE_CNTRL;
+ YY_BREAK
+case 196:
+YY_RULE_SETUP
+#line 817 "stage1scan.l"
+BEGIN(CCL); return CCE_DIGIT;
+ YY_BREAK
+case 197:
+YY_RULE_SETUP
+#line 818 "stage1scan.l"
+BEGIN(CCL); return CCE_GRAPH;
+ YY_BREAK
+case 198:
+YY_RULE_SETUP
+#line 819 "stage1scan.l"
+BEGIN(CCL); return CCE_LOWER;
+ YY_BREAK
+case 199:
+YY_RULE_SETUP
+#line 820 "stage1scan.l"
+BEGIN(CCL); return CCE_PRINT;
+ YY_BREAK
+case 200:
+YY_RULE_SETUP
+#line 821 "stage1scan.l"
+BEGIN(CCL); return CCE_PUNCT;
+ YY_BREAK
+case 201:
+YY_RULE_SETUP
+#line 822 "stage1scan.l"
+BEGIN(CCL); return CCE_SPACE;
+ YY_BREAK
+case 202:
+YY_RULE_SETUP
+#line 823 "stage1scan.l"
+BEGIN(CCL); return CCE_UPPER;
+ YY_BREAK
+case 203:
+YY_RULE_SETUP
+#line 824 "stage1scan.l"
+BEGIN(CCL); return CCE_XDIGIT;
+ YY_BREAK
+case 204:
+YY_RULE_SETUP
+#line 826 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_ALNUM;
+ YY_BREAK
+case 205:
+YY_RULE_SETUP
+#line 827 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_ALPHA;
+ YY_BREAK
+case 206:
+YY_RULE_SETUP
+#line 828 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_BLANK;
+ YY_BREAK
+case 207:
+YY_RULE_SETUP
+#line 829 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_CNTRL;
+ YY_BREAK
+case 208:
+YY_RULE_SETUP
+#line 830 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_DIGIT;
+ YY_BREAK
+case 209:
+YY_RULE_SETUP
+#line 831 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_GRAPH;
+ YY_BREAK
+case 210:
+YY_RULE_SETUP
+#line 832 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_LOWER;
+ YY_BREAK
+case 211:
+YY_RULE_SETUP
+#line 833 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_PRINT;
+ YY_BREAK
+case 212:
+YY_RULE_SETUP
+#line 834 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_PUNCT;
+ YY_BREAK
+case 213:
+YY_RULE_SETUP
+#line 835 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_SPACE;
+ YY_BREAK
+case 214:
+YY_RULE_SETUP
+#line 836 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_UPPER;
+ YY_BREAK
+case 215:
+YY_RULE_SETUP
+#line 837 "stage1scan.l"
+BEGIN(CCL); return CCE_NEG_XDIGIT;
+ YY_BREAK
+case 216:
+YY_RULE_SETUP
+#line 838 "stage1scan.l"
+{
+ format_synerr(
+ _( "bad character class expression: %s" ),
+ yytext );
+ BEGIN(CCL); return CCE_ALNUM;
+ }
+ YY_BREAK
+
+
+case 217:
+YY_RULE_SETUP
+#line 847 "stage1scan.l"
+{
+ yylval = myctoi( yytext );
+ return NUMBER;
+ }
+ YY_BREAK
+case 218:
+YY_RULE_SETUP
+#line 852 "stage1scan.l"
+return ',';
+ YY_BREAK
+case 219:
+YY_RULE_SETUP
+#line 853 "stage1scan.l"
+{
+ BEGIN(SECT2);
+ if ( lex_compat || posix_compat )
+ return END_REPEAT_POSIX;
+ else
+ return END_REPEAT_FLEX;
+ }
+ YY_BREAK
+case 220:
+YY_RULE_SETUP
+#line 861 "stage1scan.l"
+{
+ synerr( _( "bad character inside {}'s" ) );
+ BEGIN(SECT2);
+ return '}';
+ }
+ YY_BREAK
+case 221:
+/* rule 221 can match eol */
+YY_RULE_SETUP
+#line 867 "stage1scan.l"
+{
+ synerr( _( "missing }" ) );
+ BEGIN(SECT2);
+ ++linenum;
+ return '}';
+ }
+ YY_BREAK
+
+
+case 222:
+YY_RULE_SETUP
+#line 877 "stage1scan.l"
+bracelevel = 0;
+ YY_BREAK
+case 223:
+YY_RULE_SETUP
+#line 879 "stage1scan.l"
+ACTION_ECHO; yy_push_state( COMMENT );
+ YY_BREAK
+
+case 224:
+YY_RULE_SETUP
+#line 882 "stage1scan.l"
+{
+ ACTION_ECHO;
+ CHECK_REJECT(yytext);
+ }
+ YY_BREAK
+case 225:
+YY_RULE_SETUP
+#line 886 "stage1scan.l"
+{
+ ACTION_ECHO;
+ CHECK_YYMORE(yytext);
+ }
+ YY_BREAK
+
+case 226:
+YY_RULE_SETUP
+#line 892 "stage1scan.l"
+ACTION_ECHO_QSTART;
+ YY_BREAK
+case 227:
+YY_RULE_SETUP
+#line 893 "stage1scan.l"
+ACTION_ECHO_QEND;
+ YY_BREAK
+case 228:
+YY_RULE_SETUP
+#line 894 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 229:
+/* rule 229 can match eol */
+YY_RULE_SETUP
+#line 895 "stage1scan.l"
+{
+ ++linenum;
+ ACTION_ECHO;
+ if ( bracelevel == 0 ||
+ (doing_codeblock && indented_code) )
+ {
+ if ( doing_rule_action )
+ add_action( "\tYY_BREAK\n" );
+
+ doing_rule_action = doing_codeblock = false;
+ BEGIN(SECT2);
+ }
+ }
+ YY_BREAK
+
+/* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
+
+case 230:
+YY_RULE_SETUP
+#line 913 "stage1scan.l"
+ACTION_ECHO; ++bracelevel;
+ YY_BREAK
+case 231:
+YY_RULE_SETUP
+#line 914 "stage1scan.l"
+ACTION_ECHO; --bracelevel;
+ YY_BREAK
+case 232:
+YY_RULE_SETUP
+#line 915 "stage1scan.l"
+ACTION_ECHO_QSTART;
+ YY_BREAK
+case 233:
+YY_RULE_SETUP
+#line 916 "stage1scan.l"
+ACTION_ECHO_QEND;
+ YY_BREAK
+case 234:
+YY_RULE_SETUP
+#line 917 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 235:
+YY_RULE_SETUP
+#line 918 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 236:
+YY_RULE_SETUP
+#line 919 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 237:
+YY_RULE_SETUP
+#line 920 "stage1scan.l"
+ACTION_ECHO; /* character constant */
+ YY_BREAK
+case 238:
+YY_RULE_SETUP
+#line 921 "stage1scan.l"
+ACTION_ECHO; BEGIN(ACTION_STRING);
+ YY_BREAK
+case 239:
+/* rule 239 can match eol */
+YY_RULE_SETUP
+#line 922 "stage1scan.l"
+{
+ ++linenum;
+ ACTION_ECHO;
+ if ( bracelevel == 0 )
+ {
+ if ( doing_rule_action )
+ add_action( "\tYY_BREAK\n" );
+
+ doing_rule_action = false;
+ BEGIN(SECT2);
+ }
+ }
+ YY_BREAK
+case 240:
+YY_RULE_SETUP
+#line 934 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+
+
+case 241:
+YY_RULE_SETUP
+#line 938 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 242:
+YY_RULE_SETUP
+#line 939 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+case 243:
+/* rule 243 can match eol */
+YY_RULE_SETUP
+#line 940 "stage1scan.l"
+++linenum; ACTION_ECHO; BEGIN(ACTION);
+ YY_BREAK
+case 244:
+YY_RULE_SETUP
+#line 941 "stage1scan.l"
+ACTION_ECHO; BEGIN(ACTION);
+ YY_BREAK
+case 245:
+YY_RULE_SETUP
+#line 942 "stage1scan.l"
+ACTION_ECHO;
+ YY_BREAK
+
+case YY_STATE_EOF(COMMENT):
+case YY_STATE_EOF(COMMENT_DISCARD):
+case YY_STATE_EOF(ACTION):
+case YY_STATE_EOF(ACTION_STRING):
+#line 945 "stage1scan.l"
+{
+ synerr( _( "EOF encountered inside an action" ) );
+ yyterminate();
+ }
+ YY_BREAK
+case YY_STATE_EOF(EXTENDED_COMMENT):
+case YY_STATE_EOF(GROUP_WITH_PARAMS):
+case YY_STATE_EOF(GROUP_MINUS_PARAMS):
+#line 950 "stage1scan.l"
+{
+ synerr( _( "EOF encountered inside pattern" ) );
+ yyterminate();
+ }
+ YY_BREAK
+case 246:
+YY_RULE_SETUP
+#line 955 "stage1scan.l"
+{
+ yylval = myesc( (unsigned char *) yytext );
+
+ if ( YY_START == FIRSTCCL )
+ BEGIN(CCL);
+
+ return CHAR;
+ }
+ YY_BREAK
+
+case 247:
+YY_RULE_SETUP
+#line 966 "stage1scan.l"
+fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout);
+ YY_BREAK
+case 248:
+YY_RULE_SETUP
+#line 967 "stage1scan.l"
+fwrite (escaped_qend, 1, strlen(escaped_qend), yyout);
+ YY_BREAK
+case 249:
+/* rule 249 can match eol */
+YY_RULE_SETUP
+#line 968 "stage1scan.l"
+ECHO;
+ YY_BREAK
+case 250:
+/* rule 250 can match eol */
+YY_RULE_SETUP
+#line 969 "stage1scan.l"
+ECHO;
+ YY_BREAK
+case YY_STATE_EOF(SECT3):
+#line 970 "stage1scan.l"
+sectnum = 0; yyterminate();
+ YY_BREAK
+
+case 251:
+/* rule 251 can match eol */
+YY_RULE_SETUP
+#line 973 "stage1scan.l"
+format_synerr( _( "bad character: %s" ), yytext );
+ YY_BREAK
+case 252:
+YY_RULE_SETUP
+#line 975 "stage1scan.l"
+YY_FATAL_ERROR( "flex scanner jammed" );
+ YY_BREAK
+#line 3983 "stage1scan.c"
+case YY_STATE_EOF(INITIAL):
+case YY_STATE_EOF(SECT2):
+case YY_STATE_EOF(CODEBLOCK):
+case YY_STATE_EOF(PICKUPDEF):
+case YY_STATE_EOF(SC):
+case YY_STATE_EOF(CARETISBOL):
+case YY_STATE_EOF(NUM):
+case YY_STATE_EOF(QUOTE):
+case YY_STATE_EOF(FIRSTCCL):
+case YY_STATE_EOF(CCL):
+case YY_STATE_EOF(RECOVER):
+case YY_STATE_EOF(PERCENT_BRACE_ACTION):
+case YY_STATE_EOF(OPTION):
+case YY_STATE_EOF(LINEDIR):
+ yyterminate();
+
+ case YY_END_OF_BUFFER:
+ {
+ /* Amount of text matched not including the EOB char. */
+ int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+ /* Undo the effects of YY_DO_BEFORE_ACTION. */
+ *yy_cp = (yy_hold_char);
+ YY_RESTORE_YY_MORE_OFFSET
+
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+ {
+ /* We're scanning a new file or input source. It's
+ * possible that this happened because the user
+ * just pointed yyin at a new source and called
+ * yylex(). If so, then we have to assure
+ * consistency between YY_CURRENT_BUFFER and our
+ * globals. Here is the right place to do so, because
+ * this is the first action (other than possibly a
+ * back-up) that will match for the new input source.
+ */
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+ YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+ }
+
+ /* Note that here we test for yy_c_buf_p "<=" to the position
+ * of the first EOB in the buffer, since yy_c_buf_p will
+ * already have been incremented past the NUL character
+ * (since all states make transitions on EOB to the
+ * end-of-buffer state). Contrast this with the test
+ * in input().
+ */
+ if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+ { /* This was really a NUL. */
+ yy_state_type yy_next_state;
+
+ (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state( );
+
+ /* Okay, we're now positioned to make the NUL
+ * transition. We couldn't have
+ * yy_get_previous_state() go ahead and do it
+ * for us because it doesn't know how to deal
+ * with the possibility of jamming (and we don't
+ * want to build jamming into it because then it
+ * will run more slowly).
+ */
+
+ yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+ if ( yy_next_state )
+ {
+ /* Consume the NUL. */
+ yy_cp = ++(yy_c_buf_p);
+ yy_current_state = yy_next_state;
+ goto yy_match;
+ }
+
+ else
+ {
+ yy_cp = (yy_c_buf_p);
+ goto yy_find_action;
+ }
+ }
+
+ else switch ( yy_get_next_buffer( ) )
+ {
+ case EOB_ACT_END_OF_FILE:
+ {
+ (yy_did_buffer_switch_on_eof) = 0;
+
+ if ( yywrap( ) )
+ {
+ /* Note: because we've taken care in
+ * yy_get_next_buffer() to have set up
+ * yytext, we can now set up
+ * yy_c_buf_p so that if some total
+ * hoser (like flex itself) wants to
+ * call the scanner after we return the
+ * YY_NULL, it'll still work - another
+ * YY_NULL will get returned.
+ */
+ (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+ yy_act = YY_STATE_EOF(YY_START);
+ goto do_action;
+ }
+
+ else
+ {
+ if ( ! (yy_did_buffer_switch_on_eof) )
+ YY_NEW_FILE;
+ }
+ break;
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ (yy_c_buf_p) =
+ (yytext_ptr) + yy_amount_of_matched_text;
+
+ yy_current_state = yy_get_previous_state( );
+
+ yy_cp = (yy_c_buf_p);
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+ goto yy_match;
+
+ case EOB_ACT_LAST_MATCH:
+ (yy_c_buf_p) =
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+ yy_current_state = yy_get_previous_state( );
+
+ yy_cp = (yy_c_buf_p);
+ yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+ goto yy_find_action;
+ }
+ break;
+ }
+
+ default:
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--no action found" );
+ } /* end of action switch */
+ } /* end of scanning one token */
+ } /* end of user's declarations */
+} /* end of yylex */
+
+/* yy_get_next_buffer - try to read in a new buffer
+ *
+ * Returns a code representing an action:
+ * EOB_ACT_LAST_MATCH -
+ * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ * EOB_ACT_END_OF_FILE - end of file
+ */
+static int yy_get_next_buffer (void)
+{
+ char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+ char *source = (yytext_ptr);
+ yy_size_t number_to_move, i;
+ int ret_val;
+
+ if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+ YY_FATAL_ERROR(
+ "fatal flex scanner internal error--end of buffer missed" );
+
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+ { /* Don't try to fill the buffer, so this is an EOF. */
+ if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+ {
+ /* We matched a single character, the EOB, so
+ * treat this as a final EOF.
+ */
+ return EOB_ACT_END_OF_FILE;
+ }
+
+ else
+ {
+ /* We matched some text prior to the EOB, first
+ * process it.
+ */
+ return EOB_ACT_LAST_MATCH;
+ }
+ }
+
+ /* Try to read more data. */
+
+ /* First move last chars to start of buffer. */
+ number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+ for ( i = 0; i < number_to_move; ++i )
+ *(dest++) = *(source++);
+
+ if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+ /* don't do the read, it's not guaranteed to return an EOF,
+ * just force an EOF
+ */
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+ else
+ {
+ int num_to_read =
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+ while ( num_to_read <= 0 )
+ { /* Not enough room in the buffer - grow it. */
+
+ /* just a shorter name for the current buffer */
+ YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
+
+ int yy_c_buf_p_offset =
+ (int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+ if ( b->yy_is_our_buffer )
+ {
+ int new_size = b->yy_buf_size * 2;
+
+ if ( new_size <= 0 )
+ b->yy_buf_size += b->yy_buf_size / 8;
+ else
+ b->yy_buf_size *= 2;
+
+ b->yy_ch_buf = (char *)
+ /* Include room in for 2 EOB chars. */
+ yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
+ }
+ else
+ /* Can't grow it, we don't own it. */
+ b->yy_ch_buf = NULL;
+
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR(
+ "fatal error - scanner input buffer overflow" );
+
+ (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+ num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+ number_to_move - 1;
+
+ }
+
+ if ( num_to_read > YY_READ_BUF_SIZE )
+ num_to_read = YY_READ_BUF_SIZE;
+
+ /* Read in more data. */
+ YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+ (yy_n_chars), num_to_read );
+
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+ }
+
+ if ( (yy_n_chars) == 0 )
+ {
+ if ( number_to_move == YY_MORE_ADJ )
+ {
+ ret_val = EOB_ACT_END_OF_FILE;
+ yyrestart(yyin );
+ }
+
+ else
+ {
+ ret_val = EOB_ACT_LAST_MATCH;
+ YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+ YY_BUFFER_EOF_PENDING;
+ }
+ }
+
+ else
+ ret_val = EOB_ACT_CONTINUE_SCAN;
+
+ if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+ /* Extend the array by 50%, plus the number we really need. */
+ int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
+ if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+ }
+
+ (yy_n_chars) += number_to_move;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+ YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+ (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+
+ return ret_val;
+}
+
+/* yy_get_previous_state - get the state just before the EOB char was reached */
+
+ static yy_state_type yy_get_previous_state (void)
+{
+ yy_state_type yy_current_state;
+ char *yy_cp;
+
+ yy_current_state = (yy_start);
+ yy_current_state += YY_AT_BOL();
+
+ for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+ {
+ YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 1110 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ }
+
+ return yy_current_state;
+}
+
+/* yy_try_NUL_trans - try to make a transition on the NUL character
+ *
+ * synopsis
+ * next_state = yy_try_NUL_trans( current_state );
+ */
+ static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
+{
+ int yy_is_jam;
+ char *yy_cp = (yy_c_buf_p);
+
+ YY_CHAR yy_c = 1;
+ if ( yy_accept[yy_current_state] )
+ {
+ (yy_last_accepting_state) = yy_current_state;
+ (yy_last_accepting_cpos) = yy_cp;
+ }
+ while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+ {
+ yy_current_state = (int) yy_def[yy_current_state];
+ if ( yy_current_state >= 1110 )
+ yy_c = yy_meta[(unsigned int) yy_c];
+ }
+ yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
+ yy_is_jam = (yy_current_state == 1109);
+
+ return yy_is_jam ? 0 : yy_current_state;
+}
+
+#ifndef YY_NO_UNPUT
+
+ static void yyunput (int c, char * yy_bp )
+{
+ char *yy_cp;
+
+ yy_cp = (yy_c_buf_p);
+
+ /* undo effects of setting up yytext */
+ *yy_cp = (yy_hold_char);
+
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ { /* need to shift things up to make room */
+ /* +2 for EOB chars. */
+ int number_to_move = (yy_n_chars) + 2;
+ char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+ char *source =
+ &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+
+ while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+ *--dest = *--source;
+
+ yy_cp += (int) (dest - source);
+ yy_bp += (int) (dest - source);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+ (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+
+ if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+ YY_FATAL_ERROR( "flex scanner push-back overflow" );
+ }
+
+ *--yy_cp = (char) c;
+
+ (yytext_ptr) = yy_bp;
+ (yy_hold_char) = *yy_cp;
+ (yy_c_buf_p) = yy_cp;
+}
+
+#endif
+
+#ifndef YY_NO_INPUT
+#ifdef __cplusplus
+ static int yyinput (void)
+#else
+ static int input (void)
+#endif
+
+{
+ int c;
+
+ *(yy_c_buf_p) = (yy_hold_char);
+
+ if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+ {
+ /* yy_c_buf_p now points to the character we want to return.
+ * If this occurs *before* the EOB characters, then it's a
+ * valid NUL; if not, then we've hit the end of the buffer.
+ */
+ if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+ /* This was really a NUL. */
+ *(yy_c_buf_p) = '\0';
+
+ else
+ { /* need more input */
+ int offset = (yy_c_buf_p) - (yytext_ptr);
+ ++(yy_c_buf_p);
+
+ switch ( yy_get_next_buffer( ) )
+ {
+ case EOB_ACT_LAST_MATCH:
+ /* This happens because yy_g_n_b()
+ * sees that we've accumulated a
+ * token and flags that we need to
+ * try matching the token before
+ * proceeding. But for input(),
+ * there's no matching to consider.
+ * So convert the EOB_ACT_LAST_MATCH
+ * to EOB_ACT_END_OF_FILE.
+ */
+
+ /* Reset buffer status. */
+ yyrestart(yyin );
+
+ /*FALLTHROUGH*/
+
+ case EOB_ACT_END_OF_FILE:
+ {
+ if ( yywrap( ) )
+ return 0;
+
+ if ( ! (yy_did_buffer_switch_on_eof) )
+ YY_NEW_FILE;
+#ifdef __cplusplus
+ return yyinput();
+#else
+ return input();
+#endif
+ }
+
+ case EOB_ACT_CONTINUE_SCAN:
+ (yy_c_buf_p) = (yytext_ptr) + offset;
+ break;
+ }
+ }
+ }
+
+ c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
+ *(yy_c_buf_p) = '\0'; /* preserve yytext */
+ (yy_hold_char) = *++(yy_c_buf_p);
+
+ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
+
+ return c;
+}
+#endif /* ifndef YY_NO_INPUT */
+
+/** Immediately switch to a different input stream.
+ * @param input_file A readable stream.
+ *
+ * @note This function does not reset the start condition to @c INITIAL .
+ */
+ void yyrestart (FILE * input_file )
+{
+
+ if ( ! YY_CURRENT_BUFFER ){
+ yyensure_buffer_stack ();
+ YY_CURRENT_BUFFER_LVALUE =
+ yy_create_buffer(yyin,YY_BUF_SIZE );
+ }
+
+ yy_init_buffer(YY_CURRENT_BUFFER,input_file );
+ yy_load_buffer_state( );
+}
+
+/** Switch to a different input buffer.
+ * @param new_buffer The new input buffer.
+ *
+ */
+ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
+{
+
+ /* TODO. We should be able to replace this entire function body
+ * with
+ * yypop_buffer_state();
+ * yypush_buffer_state(new_buffer);
+ */
+ yyensure_buffer_stack ();
+ if ( YY_CURRENT_BUFFER == new_buffer )
+ return;
+
+ if ( YY_CURRENT_BUFFER )
+ {
+ /* Flush out information for old buffer. */
+ *(yy_c_buf_p) = (yy_hold_char);
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+ }
+
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+ yy_load_buffer_state( );
+
+ /* We don't actually know whether we did this switch during
+ * EOF (yywrap()) processing, but the only time this flag
+ * is looked at is after yywrap() is called, so it's safe
+ * to go ahead and always set it.
+ */
+ (yy_did_buffer_switch_on_eof) = 1;
+}
+
+static void yy_load_buffer_state (void)
+{
+ (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+ (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+ yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+ (yy_hold_char) = *(yy_c_buf_p);
+}
+
+/** Allocate and initialize an input buffer state.
+ * @param file A readable stream.
+ * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
+ *
+ * @return the allocated buffer state.
+ */
+ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
+{
+ YY_BUFFER_STATE b;
+
+ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_buf_size = (yy_size_t)size;
+
+ /* yy_ch_buf has to be 2 characters longer than the size given because
+ * we need to put in 2 end-of-buffer characters.
+ */
+ b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
+ if ( ! b->yy_ch_buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+
+ b->yy_is_our_buffer = 1;
+
+ yy_init_buffer(b,file );
+
+ return b;
+}
+
+/** Destroy the buffer.
+ * @param b a buffer created with yy_create_buffer()
+ *
+ */
+ void yy_delete_buffer (YY_BUFFER_STATE b )
+{
+
+ if ( ! b )
+ return;
+
+ if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+ YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+
+ if ( b->yy_is_our_buffer )
+ yyfree((void *) b->yy_ch_buf );
+
+ yyfree((void *) b );
+}
+
+/* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+ * such as during a yyrestart() or at EOF.
+ */
+ static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
+
+{
+ int oerrno = errno;
+
+ yy_flush_buffer(b );
+
+ b->yy_input_file = file;
+ b->yy_fill_buffer = 1;
+
+ /* If b is the current buffer, then yy_init_buffer was _probably_
+ * called from yyrestart() or through yy_get_next_buffer.
+ * In that case, we don't want to reset the lineno or column.
+ */
+ if (b != YY_CURRENT_BUFFER){
+ b->yy_bs_lineno = 1;
+ b->yy_bs_column = 0;
+ }
+
+ b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
+
+ errno = oerrno;
+}
+
+/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
+ * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
+ *
+ */
+ void yy_flush_buffer (YY_BUFFER_STATE b )
+{
+ if ( ! b )
+ return;
+
+ b->yy_n_chars = 0;
+
+ /* We always need two end-of-buffer characters. The first causes
+ * a transition to the end-of-buffer state. The second causes
+ * a jam in that state.
+ */
+ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+ b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+
+ b->yy_buf_pos = &b->yy_ch_buf[0];
+
+ b->yy_at_bol = 1;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ if ( b == YY_CURRENT_BUFFER )
+ yy_load_buffer_state( );
+}
+
+/** Pushes the new state onto the stack. The new state becomes
+ * the current state. This function will allocate the stack
+ * if necessary.
+ * @param new_buffer The new state.
+ *
+ */
+void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
+{
+ if (new_buffer == NULL)
+ return;
+
+ yyensure_buffer_stack();
+
+ /* This block is copied from yy_switch_to_buffer. */
+ if ( YY_CURRENT_BUFFER )
+ {
+ /* Flush out information for old buffer. */
+ *(yy_c_buf_p) = (yy_hold_char);
+ YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+ }
+
+ /* Only push if top exists. Otherwise, replace top. */
+ if (YY_CURRENT_BUFFER)
+ (yy_buffer_stack_top)++;
+ YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+ /* copied from yy_switch_to_buffer. */
+ yy_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
+}
+
+/** Removes and deletes the top of the stack, if present.
+ * The next element becomes the new top.
+ *
+ */
+void yypop_buffer_state (void)
+{
+ if (!YY_CURRENT_BUFFER)
+ return;
+
+ yy_delete_buffer(YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ if ((yy_buffer_stack_top) > 0)
+ --(yy_buffer_stack_top);
+
+ if (YY_CURRENT_BUFFER) {
+ yy_load_buffer_state( );
+ (yy_did_buffer_switch_on_eof) = 1;
+ }
+}
+
+/* Allocates the stack if it does not exist.
+ * Guarantees space for at least one push.
+ */
+static void yyensure_buffer_stack (void)
+{
+ int num_to_alloc;
+
+ if (!(yy_buffer_stack)) {
+
+ /* First allocation is just for 2 elements, since we don't know if this
+ * scanner will even need a stack. We use 2 instead of 1 to avoid an
+ * immediate realloc on the next call.
+ */
+ num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+ (num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+ memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+
+ (yy_buffer_stack_max) = num_to_alloc;
+ (yy_buffer_stack_top) = 0;
+ return;
+ }
+
+ if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+ /* Increase the buffer to prepare for a possible push. */
+ yy_size_t grow_size = 8 /* arbitrary grow size */;
+
+ num_to_alloc = (yy_buffer_stack_max) + grow_size;
+ (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+ ((yy_buffer_stack),
+ num_to_alloc * sizeof(struct yy_buffer_state*)
+ );
+ if ( ! (yy_buffer_stack) )
+ YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+ /* zero only the new slots.*/
+ memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+ (yy_buffer_stack_max) = num_to_alloc;
+ }
+}
+
+/** Setup the input buffer state to scan directly from a user-specified character buffer.
+ * @param base the character buffer
+ * @param size the size in bytes of the character buffer
+ *
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
+{
+ YY_BUFFER_STATE b;
+
+ if ( size < 2 ||
+ base[size-2] != YY_END_OF_BUFFER_CHAR ||
+ base[size-1] != YY_END_OF_BUFFER_CHAR )
+ /* They forgot to leave room for the EOB's. */
+ return NULL;
+
+ b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
+ if ( ! b )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
+
+ b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
+ b->yy_buf_pos = b->yy_ch_buf = base;
+ b->yy_is_our_buffer = 0;
+ b->yy_input_file = NULL;
+ b->yy_n_chars = b->yy_buf_size;
+ b->yy_is_interactive = 0;
+ b->yy_at_bol = 1;
+ b->yy_fill_buffer = 0;
+ b->yy_buffer_status = YY_BUFFER_NEW;
+
+ yy_switch_to_buffer(b );
+
+ return b;
+}
+
+/** Setup the input buffer state to scan a string. The next call to yylex() will
+ * scan from a @e copy of @a str.
+ * @param yystr a NUL-terminated string to scan
+ *
+ * @return the newly allocated buffer state object.
+ * @note If you want to scan bytes that may contain NUL values, then use
+ * yy_scan_bytes() instead.
+ */
+YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
+{
+
+ return yy_scan_bytes(yystr,(int) strlen(yystr) );
+}
+
+/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
+ * scan from a @e copy of @a bytes.
+ * @param yybytes the byte buffer to scan
+ * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
+ *
+ * @return the newly allocated buffer state object.
+ */
+YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
+{
+ YY_BUFFER_STATE b;
+ char *buf;
+ yy_size_t n;
+ yy_size_t i;
+
+ /* Get memory for full buffer, including space for trailing EOB's. */
+ n = (yy_size_t) _yybytes_len + 2;
+ buf = (char *) yyalloc(n );
+ if ( ! buf )
+ YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
+
+ for ( i = 0; i < _yybytes_len; ++i )
+ buf[i] = yybytes[i];
+
+ buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
+
+ b = yy_scan_buffer(buf,n );
+ if ( ! b )
+ YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
+
+ /* It's okay to grow etc. this buffer, and we should throw it
+ * away when we're done.
+ */
+ b->yy_is_our_buffer = 1;
+
+ return b;
+}
+
+ static void yy_push_state (int _new_state )
+{
+ if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
+ {
+ yy_size_t new_size;
+
+ (yy_start_stack_depth) += YY_START_STACK_INCR;
+ new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
+
+ if ( ! (yy_start_stack) )
+ (yy_start_stack) = (int *) yyalloc(new_size );
+
+ else
+ (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size );
+
+ if ( ! (yy_start_stack) )
+ YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
+ }
+
+ (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
+
+ BEGIN(_new_state);
+}
+
+ static void yy_pop_state (void)
+{
+ if ( --(yy_start_stack_ptr) < 0 )
+ YY_FATAL_ERROR( "start-condition stack underflow" );
+
+ BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
+}
+
+#ifndef YY_EXIT_FAILURE
+#define YY_EXIT_FAILURE 2
+#endif
+
+static void yynoreturn yy_fatal_error (yyconst char* msg )
+{
+ (void) fprintf( stderr, "%s\n", msg );
+ exit( YY_EXIT_FAILURE );
+}
+
+/* Redefine yyless() so it works in section 3 code. */
+
+#undef yyless
+#define yyless(n) \
+ do \
+ { \
+ /* Undo effects of setting up yytext. */ \
+ int yyless_macro_arg = (n); \
+ YY_LESS_LINENO(yyless_macro_arg);\
+ yytext[yyleng] = (yy_hold_char); \
+ (yy_c_buf_p) = yytext + yyless_macro_arg; \
+ (yy_hold_char) = *(yy_c_buf_p); \
+ *(yy_c_buf_p) = '\0'; \
+ yyleng = yyless_macro_arg; \
+ } \
+ while ( 0 )
+
+/* Accessor methods (get/set functions) to struct members. */
+
+/** Get the current line number.
+ *
+ */
+int yyget_lineno (void)
+{
+
+ return yylineno;
+}
+
+/** Get the input stream.
+ *
+ */
+FILE *yyget_in (void)
+{
+ return yyin;
+}
+
+/** Get the output stream.
+ *
+ */
+FILE *yyget_out (void)
+{
+ return yyout;
+}
+
+/** Get the length of the current token.
+ *
+ */
+int yyget_leng (void)
+{
+ return yyleng;
+}
+
+/** Get the current token.
+ *
+ */
+
+char *yyget_text (void)
+{
+ return yytext;
+}
+
+/** Set the current line number.
+ * @param _line_number line number
+ *
+ */
+void yyset_lineno (int _line_number )
+{
+
+ yylineno = _line_number;
+}
+
+/** Set the input stream. This does not discard the current
+ * input buffer.
+ * @param _in_str A readable stream.
+ *
+ * @see yy_switch_to_buffer
+ */
+void yyset_in (FILE * _in_str )
+{
+ yyin = _in_str ;
+}
+
+void yyset_out (FILE * _out_str )
+{
+ yyout = _out_str ;
+}
+
+int yyget_debug (void)
+{
+ return yy_flex_debug;
+}
+
+void yyset_debug (int _bdebug )
+{
+ yy_flex_debug = _bdebug ;
+}
+
+static int yy_init_globals (void)
+{
+ /* Initialization is the same as for the non-reentrant scanner.
+ * This function is called from yylex_destroy(), so don't allocate here.
+ */
+
+ (yy_buffer_stack) = NULL;
+ (yy_buffer_stack_top) = 0;
+ (yy_buffer_stack_max) = 0;
+ (yy_c_buf_p) = NULL;
+ (yy_init) = 0;
+ (yy_start) = 0;
+
+ (yy_start_stack_ptr) = 0;
+ (yy_start_stack_depth) = 0;
+ (yy_start_stack) = NULL;
+
+/* Defined in main.c */
+#ifdef YY_STDINIT
+ yyin = stdin;
+ yyout = stdout;
+#else
+ yyin = NULL;
+ yyout = NULL;
+#endif
+
+ /* For future reference: Set errno on error, since we are called by
+ * yylex_init()
+ */
+ return 0;
+}
+
+/* yylex_destroy is for both reentrant and non-reentrant scanners. */
+int yylex_destroy (void)
+{
+
+ /* Pop the buffer stack, destroying each element. */
+ while(YY_CURRENT_BUFFER){
+ yy_delete_buffer(YY_CURRENT_BUFFER );
+ YY_CURRENT_BUFFER_LVALUE = NULL;
+ yypop_buffer_state();
+ }
+
+ /* Destroy the stack itself. */
+ yyfree((yy_buffer_stack) );
+ (yy_buffer_stack) = NULL;
+
+ /* Destroy the start condition stack. */
+ yyfree((yy_start_stack) );
+ (yy_start_stack) = NULL;
+
+ /* Reset the globals. This is important in a non-reentrant scanner so the next time
+ * yylex() is called, initialization will occur. */
+ yy_init_globals( );
+
+ return 0;
+}
+
+/*
+ * Internal utility routines.
+ */
+
+#ifndef yytext_ptr
+static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
+{
+
+ int i;
+ for ( i = 0; i < n; ++i )
+ s1[i] = s2[i];
+}
+#endif
+
+#ifdef YY_NEED_STRLEN
+static int yy_flex_strlen (yyconst char * s )
+{
+ int n;
+ for ( n = 0; s[n]; ++n )
+ ;
+
+ return n;
+}
+#endif
+
+void *yyalloc (yy_size_t size )
+{
+ return malloc(size);
+}
+
+void *yyrealloc (void * ptr, yy_size_t size )
+{
+
+ /* The cast to (char *) in the following accommodates both
+ * implementations that use char* generic pointers, and those
+ * that use void* generic pointers. It works with the latter
+ * because both ANSI C and C++ allow castless assignment from
+ * any pointer type to void*, and deal with argument conversions
+ * as though doing an assignment.
+ */
+ return realloc(ptr, size);
+}
+
+void yyfree (void * ptr )
+{
+ free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
+}
+
+#define YYTABLES_NAME "yytables"
+
+#line 975 "stage1scan.l"
+
+
+
+
+int yywrap(void)
+ {
+ if ( --num_input_files > 0 )
+ {
+ set_input_file( *++input_files );
+ return 0;
+ }
+
+ else
+ return 1;
+ }
+
+
+/* set_input_file - open the given file (if NULL, stdin) for scanning */
+
+void set_input_file( char *file )
+ {
+ if ( file && strcmp( file, "-" ) )
+ {
+ infilename = xstrdup(file);
+ yyin = fopen( infilename, "r" );
+
+ if ( yyin == NULL )
+ lerr( _( "can't open %s" ), file );
+ }
+
+ else
+ {
+ yyin = stdin;
+ infilename = xstrdup("<stdin>");
+ }
+
+ linenum = 1;
+ }
+
diff --git a/src/stage1scan.l b/src/stage1scan.l
new file mode 100644
index 0000000..cfc832d
--- /dev/null
+++ b/src/stage1scan.l
@@ -0,0 +1,1011 @@
+/* scan.l - scanner for flex input -*-C-*- */
+
+%{
+/* Copyright (c) 1990 The Regents of the University of California. */
+/* All rights reserved. */
+
+/* This code is derived from software contributed to Berkeley by */
+/* Vern Paxson. */
+
+/* The United States Government has rights in this work pursuant */
+/* to contract no. DE-AC03-76SF00098 between the United States */
+/* Department of Energy and the University of California. */
+
+/* This file is part of flex. */
+
+/* Redistribution and use in source and binary forms, with or without */
+/* modification, are permitted provided that the following conditions */
+/* are met: */
+
+/* 1. Redistributions of source code must retain the above copyright */
+/* notice, this list of conditions and the following disclaimer. */
+/* 2. Redistributions in binary form must reproduce the above copyright */
+/* notice, this list of conditions and the following disclaimer in the */
+/* documentation and/or other materials provided with the distribution. */
+
+/* Neither the name of the University nor the names of its contributors */
+/* may be used to endorse or promote products derived from this software */
+/* without specific prior written permission. */
+
+/* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */
+/* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */
+/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */
+/* PURPOSE. */
+
+#include "flexdef.h"
+#include "parse.h"
+extern bool tablesverify, tablesext;
+extern int trlcontxt; /* Set in parse.y for each rule. */
+extern const char *escaped_qstart, *escaped_qend;
+
+#define ACTION_ECHO add_action( yytext )
+#define ACTION_IFDEF(def, should_define) \
+ { \
+ if ( should_define ) \
+ action_define( def, 1 ); \
+ }
+
+#define ACTION_ECHO_QSTART add_action (escaped_qstart)
+#define ACTION_ECHO_QEND add_action (escaped_qend)
+
+#define ACTION_M4_IFDEF(def, should_define) \
+ do{ \
+ if ( should_define ) \
+ buf_m4_define( &m4defs_buf, def, NULL);\
+ else \
+ buf_m4_undefine( &m4defs_buf, def);\
+ } while(0)
+
+#define MARK_END_OF_PROLOG mark_prolog();
+
+#define YY_DECL \
+ int flexscan(void)
+
+#define RETURNCHAR \
+ yylval = (unsigned char) yytext[0]; \
+ return CHAR;
+
+#define RETURNNAME \
+ if(yyleng < MAXLINE) \
+ { \
+ strcpy( nmstr, yytext ); \
+ } \
+ else \
+ { \
+ synerr(_("Input line too long\n")); \
+ FLEX_EXIT(EXIT_FAILURE); \
+ } \
+ return NAME;
+
+#define PUT_BACK_STRING(str, start) \
+ for ( i = strlen( str ) - 1; i >= start; --i ) \
+ unput((str)[i])
+
+#define CHECK_REJECT(str) \
+ if ( all_upper( str ) ) \
+ reject = true;
+
+#define CHECK_YYMORE(str) \
+ if ( all_lower( str ) ) \
+ yymore_used = true;
+
+#define YY_USER_INIT \
+ if ( getenv("POSIXLY_CORRECT") ) \
+ posix_compat = true;
+
+%}
+
+%option caseless nodefault noreject stack noyy_top_state
+%option nostdinit
+
+%x SECT2 SECT2PROLOG SECT3 CODEBLOCK PICKUPDEF SC CARETISBOL NUM QUOTE
+%x FIRSTCCL CCL ACTION RECOVER COMMENT ACTION_STRING PERCENT_BRACE_ACTION
+%x OPTION LINEDIR CODEBLOCK_MATCH_BRACE
+%x GROUP_WITH_PARAMS
+%x GROUP_MINUS_PARAMS
+%x EXTENDED_COMMENT
+%x COMMENT_DISCARD
+
+WS [[:blank:]]+
+OPTWS [[:blank:]]*
+NOT_WS [^[:blank:]\r\n]
+
+NL \r?\n
+
+NAME ([[:alpha:]_][[:alnum:]_-]*)
+NOT_NAME [^[:alpha:]_*\n]+
+
+SCNAME {NAME}
+
+ESCSEQ (\\([^\n]|[0-7]{1,3}|x[[:xdigit:]]{1,2}))
+
+FIRST_CCL_CHAR ([^\\\n]|{ESCSEQ})
+CCL_CHAR ([^\\\n\]]|{ESCSEQ})
+CCL_EXPR ("[:"^?[[:alpha:]]+":]")
+
+LEXOPT [aceknopr]
+
+M4QSTART "[["
+M4QEND "]]"
+
+%%
+ static int bracelevel, didadef, indented_code;
+ static int doing_rule_action = false;
+ static int option_sense;
+
+ int doing_codeblock = false;
+ int i, brace_depth=0, brace_start_line=0;
+ char nmdef[MAXLINE];
+
+
+<INITIAL>{
+ ^{WS} indented_code = true; BEGIN(CODEBLOCK);
+ ^"/*" ACTION_ECHO; yy_push_state( COMMENT );
+ ^#{OPTWS}line{WS} yy_push_state( LINEDIR );
+ ^"%s"{NAME}? return SCDECL;
+ ^"%x"{NAME}? return XSCDECL;
+ ^"%{".*{NL} {
+ ++linenum;
+ line_directive_out(NULL, 1);
+ indented_code = false;
+ BEGIN(CODEBLOCK);
+ }
+ ^"%top"[[:blank:]]*"{"[[:blank:]]*{NL} {
+ brace_start_line = linenum;
+ ++linenum;
+ buf_linedir( &top_buf, infilename?infilename:"<stdin>", linenum);
+ brace_depth = 1;
+ yy_push_state(CODEBLOCK_MATCH_BRACE);
+ }
+
+ ^"%top".* synerr( _("malformed '%top' directive") );
+
+ {WS} /* discard */
+
+ ^"%%".* {
+ sectnum = 2;
+ bracelevel = 0;
+ mark_defs1();
+ line_directive_out(NULL, 1);
+ BEGIN(SECT2PROLOG);
+ return SECTEND;
+ }
+
+ ^"%pointer".*{NL} yytext_is_array = false; ++linenum;
+ ^"%array".*{NL} yytext_is_array = true; ++linenum;
+
+ ^"%option" BEGIN(OPTION); return TOK_OPTION;
+
+ ^"%"{LEXOPT}{OPTWS}[[:digit:]]*{OPTWS}{NL} ++linenum; /* ignore */
+ ^"%"{LEXOPT}{WS}.*{NL} ++linenum; /* ignore */
+
+ /* xgettext: no-c-format */
+ ^"%"[^sxaceknopr{}].* synerr( _( "unrecognized '%' directive" ) );
+
+ ^{NAME} {
+ if(yyleng < MAXLINE)
+ {
+ strcpy( nmstr, yytext );
+ }
+ else
+ {
+ synerr( _("Definition name too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+
+ didadef = false;
+ BEGIN(PICKUPDEF);
+ }
+
+ {SCNAME} RETURNNAME;
+ ^{OPTWS}{NL} ++linenum; /* allows blank lines in section 1 */
+ {OPTWS}{NL} ACTION_ECHO; ++linenum; /* maybe end of comment line */
+}
+
+
+<COMMENT>{
+ "*/" ACTION_ECHO; yy_pop_state();
+ "*" ACTION_ECHO;
+ {M4QSTART} ACTION_ECHO_QSTART;
+ {M4QEND} ACTION_ECHO_QEND;
+ [^*\n] ACTION_ECHO;
+ {NL} ++linenum; ACTION_ECHO;
+}
+
+<COMMENT_DISCARD>{
+ /* This is the same as COMMENT, but is discarded rather than output. */
+ "*/" yy_pop_state();
+ "*" ;
+ [^*\n] ;
+ {NL} ++linenum;
+}
+
+<EXTENDED_COMMENT>{
+ ")" yy_pop_state();
+ [^\n\)]+ ;
+ {NL} ++linenum;
+}
+
+<LINEDIR>{
+ \n yy_pop_state();
+ [[:digit:]]+ linenum = myctoi( yytext );
+
+ \"[^"\n]*\" {
+ free(infilename);
+ infilename = xstrdup(yytext + 1);
+ infilename[strlen( infilename ) - 1] = '\0';
+ }
+ . /* ignore spurious characters */
+}
+
+<CODEBLOCK>{
+ ^"%}".*{NL} ++linenum; BEGIN(INITIAL);
+
+ {M4QSTART} ACTION_ECHO_QSTART;
+ {M4QEND} ACTION_ECHO_QEND;
+ . ACTION_ECHO;
+
+ {NL} {
+ ++linenum;
+ ACTION_ECHO;
+ if ( indented_code )
+ BEGIN(INITIAL);
+ }
+}
+
+<CODEBLOCK_MATCH_BRACE>{
+ "}" {
+ if( --brace_depth == 0){
+ /* TODO: Matched. */
+ yy_pop_state();
+ }else
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+
+ "{" {
+ brace_depth++;
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+
+ {NL} {
+ ++linenum;
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+
+ {M4QSTART} buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart));
+ {M4QEND} buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend));
+
+ [^{}\r\n] {
+ buf_strnappend(&top_buf, yytext, yyleng);
+ }
+
+ <<EOF>> {
+ linenum = brace_start_line;
+ synerr(_("Unmatched '{'"));
+ yyterminate();
+ }
+}
+
+
+<PICKUPDEF>{
+ {WS} /* separates name and definition */
+
+ {NOT_WS}[^\r\n]* {
+ if(yyleng < MAXLINE)
+ {
+ strcpy( nmdef, yytext );
+ }
+ else
+ {
+ format_synerr( _("Definition value for {%s} too long\n"), nmstr);
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+ /* Skip trailing whitespace. */
+ for ( i = strlen( nmdef ) - 1;
+ i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t');
+ --i )
+ ;
+
+ nmdef[i + 1] = '\0';
+
+ ndinstal( nmstr, nmdef );
+ didadef = true;
+ }
+
+ {NL} {
+ if ( ! didadef )
+ synerr( _( "incomplete name definition" ) );
+ BEGIN(INITIAL);
+ ++linenum;
+ }
+}
+
+
+<OPTION>{
+ {NL} ++linenum; BEGIN(INITIAL);
+ {WS} option_sense = true;
+
+ "=" return '=';
+
+ no option_sense = ! option_sense;
+
+ 7bit csize = option_sense ? 128 : 256;
+ 8bit csize = option_sense ? 256 : 128;
+
+ align long_align = option_sense;
+ always-interactive {
+ ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense );
+ interactive = option_sense;
+ }
+ array yytext_is_array = option_sense;
+ ansi-definitions ansi_func_defs = option_sense;
+ ansi-prototypes ansi_func_protos = option_sense;
+ backup backing_up_report = option_sense;
+ batch interactive = ! option_sense;
+ bison-bridge bison_bridge_lval = option_sense;
+ bison-locations { if((bison_bridge_lloc = option_sense))
+ bison_bridge_lval = true;
+ }
+ "c++" C_plus_plus = option_sense;
+ caseful|case-sensitive sf_set_case_ins(!option_sense);
+ caseless|case-insensitive sf_set_case_ins(option_sense);
+ debug ddebug = option_sense;
+ default spprdflt = ! option_sense;
+ ecs useecs = option_sense;
+ fast {
+ useecs = usemecs = false;
+ use_read = fullspd = true;
+ }
+ full {
+ useecs = usemecs = false;
+ use_read = fulltbl = true;
+ }
+ input ACTION_IFDEF("YY_NO_INPUT", ! option_sense);
+ interactive interactive = option_sense;
+ lex-compat lex_compat = option_sense;
+ posix-compat posix_compat = option_sense;
+ line gen_line_dirs = option_sense;
+ main {
+ ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense);
+ /* Override yywrap */
+ if( option_sense == true )
+ do_yywrap = false;
+ }
+ meta-ecs usemecs = option_sense;
+ never-interactive {
+ ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense );
+ interactive = !option_sense;
+ }
+ perf-report performance_report += option_sense ? 1 : -1;
+ pointer yytext_is_array = ! option_sense;
+ read use_read = option_sense;
+ reentrant reentrant = option_sense;
+ reject reject_really_used = option_sense;
+ stack ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
+ stdinit do_stdinit = option_sense;
+ stdout use_stdout = option_sense;
+ unistd ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
+ unput ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
+ verbose printstats = option_sense;
+ warn nowarn = ! option_sense;
+ yylineno do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense);
+ yymore yymore_really_used = option_sense;
+ yywrap do_yywrap = option_sense;
+
+ yy_push_state ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense);
+ yy_pop_state ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense);
+ yy_top_state ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense);
+
+ yy_scan_buffer ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense);
+ yy_scan_bytes ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense);
+ yy_scan_string ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense);
+
+ yyalloc ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense);
+ yyrealloc ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense);
+ yyfree ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense);
+
+ yyget_debug ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense);
+ yyset_debug ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense);
+ yyget_extra ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense);
+ yyset_extra ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense);
+ yyget_leng ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense);
+ yyget_text ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense);
+ yyget_lineno ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense);
+ yyset_lineno ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense);
+ yyget_in ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense);
+ yyset_in ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense);
+ yyget_out ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense);
+ yyset_out ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense);
+ yyget_lval ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense);
+ yyset_lval ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense);
+ yyget_lloc ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense);
+ yyset_lloc ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense);
+
+ extra-type return TOK_EXTRA_TYPE;
+ outfile return TOK_OUTFILE;
+ prefix return TOK_PREFIX;
+ yyclass return TOK_YYCLASS;
+ header(-file)? return TOK_HEADER_FILE;
+ tables-file return TOK_TABLES_FILE;
+ tables-verify {
+ tablesverify = option_sense;
+ if(!tablesext && option_sense)
+ tablesext = true;
+ }
+
+
+ \"[^"\n]*\" {
+ if(yyleng-1 < MAXLINE)
+ {
+ strcpy( nmstr, yytext + 1 );
+ }
+ else
+ {
+ synerr( _("Option line too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+ nmstr[strlen( nmstr ) - 1] = '\0';
+ return NAME;
+ }
+
+ (([a-mo-z]|n[a-np-z])[[:alpha:]\-+]*)|. {
+ format_synerr( _( "unrecognized %%option: %s" ),
+ yytext );
+ BEGIN(RECOVER);
+ }
+}
+
+<RECOVER>.*{NL} ++linenum; BEGIN(INITIAL);
+
+
+<SECT2PROLOG>{
+ ^"%{".* ++bracelevel; yyless( 2 ); /* eat only %{ */
+ ^"%}".* --bracelevel; yyless( 2 ); /* eat only %} */
+
+ ^{WS}.* ACTION_ECHO; /* indented code in prolog */
+
+ ^{NOT_WS}.* { /* non-indented code */
+ if ( bracelevel <= 0 )
+ { /* not in %{ ... %} */
+ yyless( 0 ); /* put it all back */
+ yy_set_bol( 1 );
+ mark_prolog();
+ BEGIN(SECT2);
+ }
+ else
+ ACTION_ECHO;
+ }
+
+ . ACTION_ECHO;
+ {NL} ++linenum; ACTION_ECHO;
+
+ <<EOF>> {
+ mark_prolog();
+ sectnum = 0;
+ yyterminate(); /* to stop the parser */
+ }
+}
+
+<SECT2>{
+ ^{OPTWS}{NL} ++linenum; /* allow blank lines in section 2 */
+
+ ^{OPTWS}"%{" {
+ indented_code = false;
+ doing_codeblock = true;
+ bracelevel = 1;
+ BEGIN(PERCENT_BRACE_ACTION);
+ }
+
+ ^{OPTWS}"<" {
+ /* Allow "<" to appear in (?x) patterns. */
+ if (!sf_skip_ws())
+ BEGIN(SC);
+ return '<';
+ }
+ ^{OPTWS}"^" return '^';
+ \" BEGIN(QUOTE); return '"';
+ "{"/[[:digit:]] {
+ BEGIN(NUM);
+ if ( lex_compat || posix_compat )
+ return BEGIN_REPEAT_POSIX;
+ else
+ return BEGIN_REPEAT_FLEX;
+ }
+ "$"/([[:blank:]]|{NL}) return '$';
+
+ {WS}"%{" {
+ bracelevel = 1;
+ BEGIN(PERCENT_BRACE_ACTION);
+
+ if ( in_rule )
+ {
+ doing_rule_action = true;
+ in_rule = false;
+ return '\n';
+ }
+ }
+ {WS}"|".*{NL} {
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ /* Push back everything starting at the "|" */
+ int amt = (int) (strchr (yytext, '|') - yytext);
+ yyless(amt);
+ }
+ else {
+ continued_action = true;
+ ++linenum;
+ return '\n';
+ }
+ }
+
+ ^{WS}"/*" {
+
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ yy_push_state(COMMENT_DISCARD);
+ }
+ else{
+ yyless( yyleng - 2 ); /* put back '/', '*' */
+ bracelevel = 0;
+ continued_action = false;
+ BEGIN(ACTION);
+ }
+ }
+
+ ^{WS} /* allow indented rules */ ;
+
+ {WS} {
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ }
+ else{
+ /* This rule is separate from the one below because
+ * otherwise we get variable trailing context, so
+ * we can't build the scanner using -{f,F}.
+ */
+ bracelevel = 0;
+ continued_action = false;
+ BEGIN(ACTION);
+
+ if ( in_rule )
+ {
+ doing_rule_action = true;
+ in_rule = false;
+ return '\n';
+ }
+ }
+ }
+
+ {OPTWS}{NL} {
+ if (sf_skip_ws()){
+ /* We're in the middle of a (?x: ) pattern. */
+ ++linenum;
+ }
+ else{
+ bracelevel = 0;
+ continued_action = false;
+ BEGIN(ACTION);
+ unput( '\n' ); /* so <ACTION> sees it */
+
+ if ( in_rule )
+ {
+ doing_rule_action = true;
+ in_rule = false;
+ return '\n';
+ }
+ }
+ }
+
+ ^{OPTWS}"<<EOF>>" |
+ "<<EOF>>" return EOF_OP;
+
+ ^"%%".* {
+ sectnum = 3;
+ BEGIN(SECT3);
+ outn("/* Begin user sect3 */");
+ yyterminate(); /* to stop the parser */
+ }
+
+ "["({FIRST_CCL_CHAR}|{CCL_EXPR})({CCL_CHAR}|{CCL_EXPR})* {
+ int cclval;
+
+ if(yyleng < MAXLINE)
+ {
+ strcpy( nmstr, yytext );
+ }
+ else
+ {
+ synerr( _("Input line too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+
+ /* Check to see if we've already encountered this
+ * ccl.
+ */
+ if (0 /* <--- This "0" effectively disables the reuse of a
+ * character class (purely based on its source text).
+ * The reason it was disabled is so yacc/bison can parse
+ * ccl operations, such as ccl difference and union.
+ */
+ && (cclval = ccllookup( nmstr )) != 0 )
+ {
+ if ( input() != ']' )
+ synerr( _( "bad character class" ) );
+
+ yylval = cclval;
+ ++cclreuse;
+ return PREVCCL;
+ }
+ else
+ {
+ /* We fudge a bit. We know that this ccl will
+ * soon be numbered as lastccl + 1 by cclinit.
+ */
+ cclinstal( nmstr, lastccl + 1 );
+
+ /* Push back everything but the leading bracket
+ * so the ccl can be rescanned.
+ */
+ yyless( 1 );
+
+ BEGIN(FIRSTCCL);
+ return '[';
+ }
+ }
+ "{-}" return CCL_OP_DIFF;
+ "{+}" return CCL_OP_UNION;
+
+
+ /* Check for :space: at the end of the rule so we don't
+ * wrap the expanded regex in '(' ')' -- breaking trailing
+ * context.
+ */
+ "{"{NAME}"}"[[:space:]]? {
+ char *nmdefptr;
+ int end_is_ws, end_ch;
+
+ end_ch = yytext[yyleng-1];
+ end_is_ws = end_ch != '}' ? 1 : 0;
+
+ if(yyleng-1 < MAXLINE)
+ {
+ strcpy( nmstr, yytext + 1 );
+ }
+ else
+ {
+ synerr( _("Input line too long\n"));
+ FLEX_EXIT(EXIT_FAILURE);
+ }
+nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */
+
+ if ( (nmdefptr = ndlookup( nmstr )) == 0 )
+ format_synerr(
+ _( "undefined definition {%s}" ),
+ nmstr );
+
+ else
+ { /* push back name surrounded by ()'s */
+ int len = strlen( nmdefptr );
+ if (end_is_ws)
+ unput(end_ch);
+
+ if ( lex_compat || nmdefptr[0] == '^' ||
+ (len > 0 && nmdefptr[len - 1] == '$')
+ || (end_is_ws && trlcontxt && !sf_skip_ws()))
+ { /* don't use ()'s after all */
+ PUT_BACK_STRING(nmdefptr, 0);
+
+ if ( nmdefptr[0] == '^' )
+ BEGIN(CARETISBOL);
+ }
+
+ else
+ {
+ unput(')');
+ PUT_BACK_STRING(nmdefptr, 0);
+ unput('(');
+ }
+ }
+ }
+
+ "/*" {
+ if (sf_skip_ws())
+ yy_push_state(COMMENT_DISCARD);
+ else{
+ /* Push back the "*" and return "/" as usual. */
+ yyless(1);
+ return '/';
+ }
+ }
+
+ "(?#" {
+ if (lex_compat || posix_compat){
+ /* Push back the "?#" and treat it like a normal parens. */
+ yyless(1);
+ sf_push();
+ return '(';
+ }
+ else
+ yy_push_state(EXTENDED_COMMENT);
+ }
+ "(?" {
+ sf_push();
+ if (lex_compat || posix_compat)
+ /* Push back the "?" and treat it like a normal parens. */
+ yyless(1);
+ else
+ BEGIN(GROUP_WITH_PARAMS);
+ return '(';
+ }
+ "(" sf_push(); return '(';
+ ")" {
+ if (_sf_top_ix > 0) {
+ sf_pop();
+ return ')';
+ } else
+ synerr(_("unbalanced parenthesis"));
+ }
+
+ [/|*+?.(){}] return (unsigned char) yytext[0];
+ . RETURNCHAR;
+}
+
+
+<SC>{
+ {OPTWS}{NL}{OPTWS} ++linenum; /* Allow blank lines & continuations */
+ [,*] return (unsigned char) yytext[0];
+ ">" BEGIN(SECT2); return '>';
+ ">"/^ BEGIN(CARETISBOL); return '>';
+ {SCNAME} RETURNNAME;
+ . {
+ format_synerr( _( "bad <start condition>: %s" ),
+ yytext );
+ }
+}
+
+<CARETISBOL>"^" BEGIN(SECT2); return '^';
+
+
+<QUOTE>{
+ [^"\n] RETURNCHAR;
+ \" BEGIN(SECT2); return '"';
+
+ {NL} {
+ synerr( _( "missing quote" ) );
+ BEGIN(SECT2);
+ ++linenum;
+ return '"';
+ }
+}
+
+<GROUP_WITH_PARAMS>{
+ ":" BEGIN(SECT2);
+ "-" BEGIN(GROUP_MINUS_PARAMS);
+ i sf_set_case_ins(1);
+ s sf_set_dot_all(1);
+ x sf_set_skip_ws(1);
+}
+<GROUP_MINUS_PARAMS>{
+ ":" BEGIN(SECT2);
+ i sf_set_case_ins(0);
+ s sf_set_dot_all(0);
+ x sf_set_skip_ws(0);
+}
+
+<FIRSTCCL>{
+ "^"/[^-\]\n] BEGIN(CCL); return '^';
+ "^"/("-"|"]") return '^';
+ . BEGIN(CCL); RETURNCHAR;
+}
+
+<CCL>{
+ -/[^\]\n] return '-';
+ [^\]\n] RETURNCHAR;
+ "]" BEGIN(SECT2); return ']';
+ .|{NL} {
+ synerr( _( "bad character class" ) );
+ BEGIN(SECT2);
+ return ']';
+ }
+}
+
+<FIRSTCCL,CCL>{
+ "[:alnum:]" BEGIN(CCL); return CCE_ALNUM;
+ "[:alpha:]" BEGIN(CCL); return CCE_ALPHA;
+ "[:blank:]" BEGIN(CCL); return CCE_BLANK;
+ "[:cntrl:]" BEGIN(CCL); return CCE_CNTRL;
+ "[:digit:]" BEGIN(CCL); return CCE_DIGIT;
+ "[:graph:]" BEGIN(CCL); return CCE_GRAPH;
+ "[:lower:]" BEGIN(CCL); return CCE_LOWER;
+ "[:print:]" BEGIN(CCL); return CCE_PRINT;
+ "[:punct:]" BEGIN(CCL); return CCE_PUNCT;
+ "[:space:]" BEGIN(CCL); return CCE_SPACE;
+ "[:upper:]" BEGIN(CCL); return CCE_UPPER;
+ "[:xdigit:]" BEGIN(CCL); return CCE_XDIGIT;
+
+ "[:^alnum:]" BEGIN(CCL); return CCE_NEG_ALNUM;
+ "[:^alpha:]" BEGIN(CCL); return CCE_NEG_ALPHA;
+ "[:^blank:]" BEGIN(CCL); return CCE_NEG_BLANK;
+ "[:^cntrl:]" BEGIN(CCL); return CCE_NEG_CNTRL;
+ "[:^digit:]" BEGIN(CCL); return CCE_NEG_DIGIT;
+ "[:^graph:]" BEGIN(CCL); return CCE_NEG_GRAPH;
+ "[:^lower:]" BEGIN(CCL); return CCE_NEG_LOWER;
+ "[:^print:]" BEGIN(CCL); return CCE_NEG_PRINT;
+ "[:^punct:]" BEGIN(CCL); return CCE_NEG_PUNCT;
+ "[:^space:]" BEGIN(CCL); return CCE_NEG_SPACE;
+ "[:^upper:]" BEGIN(CCL); return CCE_NEG_UPPER;
+ "[:^xdigit:]" BEGIN(CCL); return CCE_NEG_XDIGIT;
+ {CCL_EXPR} {
+ format_synerr(
+ _( "bad character class expression: %s" ),
+ yytext );
+ BEGIN(CCL); return CCE_ALNUM;
+ }
+}
+
+<NUM>{
+ [[:digit:]]+ {
+ yylval = myctoi( yytext );
+ return NUMBER;
+ }
+
+ "," return ',';
+ "}" {
+ BEGIN(SECT2);
+ if ( lex_compat || posix_compat )
+ return END_REPEAT_POSIX;
+ else
+ return END_REPEAT_FLEX;
+ }
+
+ . {
+ synerr( _( "bad character inside {}'s" ) );
+ BEGIN(SECT2);
+ return '}';
+ }
+
+ {NL} {
+ synerr( _( "missing }" ) );
+ BEGIN(SECT2);
+ ++linenum;
+ return '}';
+ }
+}
+
+
+<PERCENT_BRACE_ACTION>{
+ {OPTWS}"%}".* bracelevel = 0;
+
+ <ACTION>"/*" ACTION_ECHO; yy_push_state( COMMENT );
+
+ <CODEBLOCK,ACTION>{
+ "reject" {
+ ACTION_ECHO;
+ CHECK_REJECT(yytext);
+ }
+ "yymore" {
+ ACTION_ECHO;
+ CHECK_YYMORE(yytext);
+ }
+ }
+
+ {M4QSTART} ACTION_ECHO_QSTART;
+ {M4QEND} ACTION_ECHO_QEND;
+ . ACTION_ECHO;
+ {NL} {
+ ++linenum;
+ ACTION_ECHO;
+ if ( bracelevel == 0 ||
+ (doing_codeblock && indented_code) )
+ {
+ if ( doing_rule_action )
+ add_action( "\tYY_BREAK\n" );
+
+ doing_rule_action = doing_codeblock = false;
+ BEGIN(SECT2);
+ }
+ }
+}
+
+
+ /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
+<ACTION>{
+ "{" ACTION_ECHO; ++bracelevel;
+ "}" ACTION_ECHO; --bracelevel;
+ {M4QSTART} ACTION_ECHO_QSTART;
+ {M4QEND} ACTION_ECHO_QEND;
+ [^[:alpha:]_{}"'/\n\[\]]+ ACTION_ECHO;
+ [\[\]] ACTION_ECHO;
+ {NAME} ACTION_ECHO;
+ "'"([^'\\\n]|\\.)*"'" ACTION_ECHO; /* character constant */
+ \" ACTION_ECHO; BEGIN(ACTION_STRING);
+ {NL} {
+ ++linenum;
+ ACTION_ECHO;
+ if ( bracelevel == 0 )
+ {
+ if ( doing_rule_action )
+ add_action( "\tYY_BREAK\n" );
+
+ doing_rule_action = false;
+ BEGIN(SECT2);
+ }
+ }
+ . ACTION_ECHO;
+}
+
+<ACTION_STRING>{
+ [^"\\\n]+ ACTION_ECHO;
+ \\. ACTION_ECHO;
+ {NL} ++linenum; ACTION_ECHO; BEGIN(ACTION);
+ \" ACTION_ECHO; BEGIN(ACTION);
+ . ACTION_ECHO;
+}
+
+<COMMENT,COMMENT_DISCARD,ACTION,ACTION_STRING><<EOF>> {
+ synerr( _( "EOF encountered inside an action" ) );
+ yyterminate();
+ }
+
+<EXTENDED_COMMENT,GROUP_WITH_PARAMS,GROUP_MINUS_PARAMS><<EOF>> {
+ synerr( _( "EOF encountered inside pattern" ) );
+ yyterminate();
+ }
+
+<SECT2,QUOTE,FIRSTCCL,CCL>{ESCSEQ} {
+ yylval = myesc( (unsigned char *) yytext );
+
+ if ( YY_START == FIRSTCCL )
+ BEGIN(CCL);
+
+ return CHAR;
+ }
+
+
+<SECT3>{
+ {M4QSTART} fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout);
+ {M4QEND} fwrite (escaped_qend, 1, strlen(escaped_qend), yyout);
+ [^\[\]\n]*(\n?) ECHO;
+ (.|\n) ECHO;
+ <<EOF>> sectnum = 0; yyterminate();
+}
+
+<*>.|\n format_synerr( _( "bad character: %s" ), yytext );
+
+%%
+
+
+int yywrap(void)
+ {
+ if ( --num_input_files > 0 )
+ {
+ set_input_file( *++input_files );
+ return 0;
+ }
+
+ else
+ return 1;
+ }
+
+
+/* set_input_file - open the given file (if NULL, stdin) for scanning */
+
+void set_input_file( char *file )
+ {
+ if ( file && strcmp( file, "-" ) )
+ {
+ infilename = xstrdup(file);
+ yyin = fopen( infilename, "r" );
+
+ if ( yyin == NULL )
+ lerr( _( "can't open %s" ), file );
+ }
+
+ else
+ {
+ yyin = stdin;
+ infilename = xstrdup("<stdin>");
+ }
+
+ linenum = 1;
+ }
diff --git a/src/sym.c b/src/sym.c
index 232cd0a..14fb161 100644
--- a/src/sym.c
+++ b/src/sym.c
@@ -59,12 +59,10 @@ static struct hash_entry *ccltab[CCL_HASH_SIZE];
/* declare functions that have forward references */
-static int addsym PROTO ((char[], char *, int, hash_table, int));
-static struct hash_entry *findsym PROTO ((const char *sym,
- hash_table table,
-
- int table_size));
-static int hashfunct PROTO ((const char *, int));
+static int addsym(char[], char *, int, hash_table, int);
+static struct hash_entry *findsym (const char *sym, hash_table table,
+ int table_size);
+static int hashfunct(const char *, int);
/* addsym - add symbol and definitions to symbol table
@@ -72,12 +70,7 @@ static int hashfunct PROTO ((const char *, int));
* -1 is returned if the symbol already exists, and the change not made.
*/
-static int addsym (sym, str_def, int_def, table, table_size)
- char sym[];
- char *str_def;
- int int_def;
- hash_table table;
- int table_size;
+static int addsym (char sym[], char *str_def, int int_def, hash_table table, int table_size)
{
int hash_val = hashfunct (sym, table_size);
struct hash_entry *sym_entry = table[hash_val];
@@ -93,8 +86,7 @@ static int addsym (sym, str_def, int_def, table, table_size)
}
/* create new entry */
- new_entry = (struct hash_entry *)
- flex_alloc (sizeof (struct hash_entry));
+ new_entry = malloc(sizeof(struct hash_entry));
if (new_entry == NULL)
flexfatal (_("symbol table memory allocation failed"));
@@ -119,15 +111,13 @@ static int addsym (sym, str_def, int_def, table, table_size)
/* cclinstal - save the text of a character class */
-void cclinstal (ccltxt, cclnum)
- Char ccltxt[];
- int cclnum;
+void cclinstal (char ccltxt[], int cclnum)
{
/* We don't bother checking the return status because we are not
* called unless the symbol is new.
*/
- (void) addsym ((char *) copy_unsigned_string (ccltxt),
+ (void) addsym (xstrdup(ccltxt),
(char *) 0, cclnum, ccltab, CCL_HASH_SIZE);
}
@@ -137,23 +127,18 @@ void cclinstal (ccltxt, cclnum)
* Returns 0 if there's no CCL associated with the text.
*/
-int ccllookup (ccltxt)
- Char ccltxt[];
+int ccllookup (char ccltxt[])
{
- return findsym ((char *) ccltxt, ccltab, CCL_HASH_SIZE)->int_val;
+ return findsym (ccltxt, ccltab, CCL_HASH_SIZE)->int_val;
}
/* findsym - find symbol in symbol table */
-static struct hash_entry *findsym (sym, table, table_size)
- const char *sym;
- hash_table table;
- int table_size;
+static struct hash_entry *findsym (const char *sym, hash_table table, int table_size)
{
static struct hash_entry empty_entry = {
- (struct hash_entry *) 0, (struct hash_entry *) 0,
- (char *) 0, (char *) 0, 0,
+ NULL, NULL, NULL, NULL, 0,
};
struct hash_entry *sym_entry =
@@ -170,9 +155,7 @@ static struct hash_entry *findsym (sym, table, table_size)
/* hashfunct - compute the hash value for "str" and hash size "hash_size" */
-static int hashfunct (str, hash_size)
- const char *str;
- int hash_size;
+static int hashfunct (const char *str, int hash_size)
{
int hashval;
int locstr;
@@ -191,13 +174,11 @@ static int hashfunct (str, hash_size)
/* ndinstal - install a name definition */
-void ndinstal (name, definition)
- const char *name;
- Char definition[];
+void ndinstal (const char *name, char definition[])
{
- if (addsym (copy_string (name),
- (char *) copy_unsigned_string (definition), 0,
+ if (addsym (xstrdup(name),
+ xstrdup(definition), 0,
ndtbl, NAME_TABLE_HASH_SIZE))
synerr (_("name defined twice"));
}
@@ -208,16 +189,15 @@ void ndinstal (name, definition)
* Returns a nil pointer if the name definition does not exist.
*/
-Char *ndlookup (nd)
- const char *nd;
+char *ndlookup (const char *nd)
{
- return (Char *) findsym (nd, ndtbl, NAME_TABLE_HASH_SIZE)->str_val;
+ return findsym (nd, ndtbl, NAME_TABLE_HASH_SIZE)->str_val;
}
/* scextend - increase the maximum number of start conditions */
-void scextend ()
+void scextend (void)
{
current_max_scs += MAX_SCS_INCREMENT;
@@ -237,17 +217,15 @@ void scextend ()
* The start condition is "exclusive" if xcluflg is true.
*/
-void scinstal (str, xcluflg)
- const char *str;
- int xcluflg;
+void scinstal (const char *str, int xcluflg)
{
if (++lastsc >= current_max_scs)
scextend ();
- scname[lastsc] = copy_string (str);
+ scname[lastsc] = xstrdup(str);
- if (addsym (scname[lastsc], (char *) 0, lastsc,
+ if (addsym(scname[lastsc], NULL, lastsc,
sctbl, START_COND_HASH_SIZE))
format_pinpoint_message (_
("start condition %s declared twice"),
@@ -265,8 +243,7 @@ str);
* Returns 0 if no such start condition.
*/
-int sclookup (str)
- const char *str;
+int sclookup (const char *str)
{
return findsym (str, sctbl, START_COND_HASH_SIZE)->int_val;
}
diff --git a/src/tables.c b/src/tables.c
index ef49ad0..3d043c6 100644
--- a/src/tables.c
+++ b/src/tables.c
@@ -90,8 +90,8 @@ int yytbl_hdr_init (struct yytbl_hdr *th, const char *version_str,
th->th_hsize += yypad64 (th->th_hsize);
th->th_ssize = 0; // Not known at this point.
th->th_flags = 0;
- th->th_version = copy_string (version_str);
- th->th_name = copy_string (name);
+ th->th_version = xstrdup(version_str);
+ th->th_name = xstrdup(name);
return 0;
}
@@ -115,8 +115,7 @@ int yytbl_data_init (struct yytbl_data *td, enum yytbl_id id)
*/
int yytbl_data_destroy (struct yytbl_data *td)
{
- if (td->td_data)
- free (td->td_data);
+ free(td->td_data);
td->td_data = 0;
free (td);
return 0;
@@ -159,12 +158,12 @@ int yytbl_hdr_fwrite (struct yytbl_writer *wr, const struct yytbl_hdr *th)
flex_die (_("th_ssize|th_flags write failed"));
bwritten += 6;
- sz = strlen (th->th_version) + 1;
+ sz = (int) strlen (th->th_version) + 1;
if ((rv = yytbl_writen (wr, th->th_version, sz)) != sz)
flex_die (_("th_version writen failed"));
bwritten += rv;
- sz = strlen (th->th_name) + 1;
+ sz = (int) strlen (th->th_name) + 1;
if ((rv = yytbl_writen (wr, th->th_name, sz)) != sz)
flex_die (_("th_name writen failed"));
bwritten += rv;
@@ -482,7 +481,7 @@ void yytbl_data_compress (struct yytbl_data *tbl)
}
total_len = yytbl_calc_total_len (tbl);
- newtbl.td_data = calloc (total_len, newsz);
+ newtbl.td_data = calloc ((size_t) total_len, newsz);
newtbl.td_flags =
TFLAGS_CLRDATA (newtbl.td_flags) | BYTES2TFLAG (newsz);
diff --git a/src/tblcmp.c b/src/tblcmp.c
index 0c058e6..b0dc8b3 100644
--- a/src/tblcmp.c
+++ b/src/tblcmp.c
@@ -36,11 +36,11 @@
/* declarations for functions that have forward references */
-void mkentry PROTO ((int *, int, int, int, int));
-void mkprot PROTO ((int[], int, int));
-void mktemplate PROTO ((int[], int, int));
-void mv2front PROTO ((int));
-int tbldiff PROTO ((int[], int, int[]));
+void mkentry(int *, int, int, int, int);
+void mkprot(int[], int, int);
+void mktemplate(int[], int, int);
+void mv2front(int);
+int tbldiff(int[], int, int[]);
/* bldtbl - build table entries for dfa state
@@ -78,8 +78,7 @@ int tbldiff PROTO ((int[], int, int[]));
* cost only one difference.
*/
-void bldtbl (state, statenum, totaltrans, comstate, comfreq)
- int state[], statenum, totaltrans, comstate, comfreq;
+void bldtbl (int state[], int statenum, int totaltrans, int comstate, int comfreq)
{
int extptr, extrct[2][CSIZE + 1];
int mindiff, minprot, i, d;
@@ -221,7 +220,7 @@ void bldtbl (state, statenum, totaltrans, comstate, comfreq)
* classes.
*/
-void cmptmps ()
+void cmptmps (void)
{
int tmpstorage[CSIZE + 1];
int *tmp = tmpstorage, i, j;
@@ -289,7 +288,7 @@ void cmptmps ()
/* expand_nxt_chk - expand the next check arrays */
-void expand_nxt_chk ()
+void expand_nxt_chk (void)
{
int old_max = current_max_xpairs;
@@ -300,8 +299,7 @@ void expand_nxt_chk ()
nxt = reallocate_integer_array (nxt, current_max_xpairs);
chk = reallocate_integer_array (chk, current_max_xpairs);
- zero_out ((char *) (chk + old_max),
- (size_t) (MAX_XPAIRS_INCREMENT * sizeof (int)));
+ memset(chk + old_max, 0, MAX_XPAIRS_INCREMENT * sizeof(int));
}
@@ -324,8 +322,7 @@ void expand_nxt_chk ()
* and an action number will be added in [-1].
*/
-int find_table_space (state, numtrans)
- int *state, numtrans;
+int find_table_space (int *state, int numtrans)
{
/* Firstfree is the position of the first possible occurrence of two
* consecutive unused records in the chk and nxt arrays.
@@ -419,13 +416,11 @@ int find_table_space (state, numtrans)
* Initializes "firstfree" to be one beyond the end of the table. Initializes
* all "chk" entries to be zero.
*/
-void inittbl ()
+void inittbl (void)
{
int i;
- zero_out ((char *) chk,
-
- (size_t) (current_max_xpairs * sizeof (int)));
+ memset(chk, 0, current_max_xpairs * sizeof(int));
tblend = 0;
firstfree = tblend + 1;
@@ -451,7 +446,7 @@ void inittbl ()
/* mkdeftbl - make the default, "jam" table entries */
-void mkdeftbl ()
+void mkdeftbl (void)
{
int i;
@@ -500,9 +495,8 @@ void mkdeftbl ()
* state array.
*/
-void mkentry (state, numchars, statenum, deflink, totaltrans)
- int *state;
- int numchars, statenum, deflink, totaltrans;
+void mkentry (int *state, int numchars, int statenum, int deflink,
+ int totaltrans)
{
int minec, maxec, i, baseaddr;
int tblbase, tbllast;
@@ -616,8 +610,7 @@ void mkentry (state, numchars, statenum, deflink, totaltrans)
* has only one out-transition
*/
-void mk1tbl (state, sym, onenxt, onedef)
- int state, sym, onenxt, onedef;
+void mk1tbl (int state, int sym, int onenxt, int onedef)
{
if (firstfree < sym)
firstfree = sym;
@@ -642,8 +635,7 @@ void mk1tbl (state, sym, onenxt, onedef)
/* mkprot - create new proto entry */
-void mkprot (state, statenum, comstate)
- int state[], statenum, comstate;
+void mkprot (int state[], int statenum, int comstate)
{
int i, slot, tblbase;
@@ -680,11 +672,10 @@ void mkprot (state, statenum, comstate)
* to it
*/
-void mktemplate (state, statenum, comstate)
- int state[], statenum, comstate;
+void mktemplate (int state[], int statenum, int comstate)
{
int i, numdiff, tmpbase, tmp[CSIZE + 1];
- Char transset[CSIZE + 1];
+ unsigned char transset[CSIZE + 1];
int tsptr;
++numtemps;
@@ -732,8 +723,7 @@ void mktemplate (state, statenum, comstate)
/* mv2front - move proto queue element to front of queue */
-void mv2front (qelm)
- int qelm;
+void mv2front (int qelm)
{
if (firstprot != qelm) {
if (qelm == lastprot)
@@ -759,8 +749,7 @@ void mv2front (qelm)
* Transnum is the number of out-transitions for the state.
*/
-void place_state (state, statenum, transnum)
- int *state, statenum, transnum;
+void place_state (int *state, int statenum, int transnum)
{
int i;
int *state_ptr;
@@ -802,8 +791,7 @@ void place_state (state, statenum, transnum)
* no room, we process the sucker right now.
*/
-void stack1 (statenum, sym, nextstate, deflink)
- int statenum, sym, nextstate, deflink;
+void stack1 (int statenum, int sym, int nextstate, int deflink)
{
if (onesp >= ONE_STACK_SIZE - 1)
mk1tbl (statenum, sym, nextstate, deflink);
@@ -832,8 +820,7 @@ void stack1 (statenum, sym, nextstate, deflink)
* number is "numecs" minus the number of "SAME_TRANS" entries in "ext".
*/
-int tbldiff (state, pr, ext)
- int state[], pr, ext[];
+int tbldiff (int state[], int pr, int ext[])
{
int i, *sp = state, *ep = ext, *protp;
int numdiff = 0;
diff --git a/src/yylex.c b/src/yylex.c
index 17b3e61..c3de1d5 100644
--- a/src/yylex.c
+++ b/src/yylex.c
@@ -174,12 +174,12 @@ int yylex (void)
fprintf (stderr, "<<EOF>>");
break;
- case OPTION_OP:
+ case TOK_OPTION:
fprintf (stderr, "%s ", yytext);
break;
- case OPT_OUTFILE:
- case OPT_PREFIX:
+ case TOK_OUTFILE:
+ case TOK_PREFIX:
case CCE_ALNUM:
case CCE_ALPHA:
case CCE_BLANK:
diff --git a/tests/Makefile.am b/tests/Makefile.am
index bdcec1d..de7249b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -37,7 +37,7 @@ LOG_COMPILER = $(srcdir)/testwrapper.sh
AM_LOG_FLAGS = -d $(srcdir) -r
REJECT_LOG_COMPILER = $(srcdir)/testwrapper.sh
-AM_REJECT_LOG_FLAGS = -d $(srcdir) -i reject.txt -r
+AM_REJECT_LOG_FLAGS = -d $(srcdir) -i $(srcdir)/reject.txt -r
TABLE_LOG_COMPILER = $(srcdir)/testwrapper.sh
AM_TABLE_LOG_FLAGS = -d $(builddir) -i $(srcdir)/reject.txt -t
@@ -58,6 +58,7 @@ ONE_LOG_COMPILER = $(srcdir)/testwrapper.sh
AM_ONE_LOG_FLAGS = -1 -d $(srcdir)
AM_YFLAGS = -d -p test
+AM_CPPFLAGS = -I$(top_builddir)/src -I$(top_srcdir)/src
check_PROGRAMS = $(simple_tests) $(reject_tests) $(TABLE_TESTS) $(DIRECT_TESTS) $(I3_TESTS) $(PTHREAD_TESTS) $(ONE_TESTS) $(TABLEOPTS_TESTS)
@@ -438,7 +439,7 @@ tableopts_tests := $(tableopts_opttests) $(tableopts_vertests) $(tableopts_sert
tableopts_c := $(addsuffix .c,$(tableopts_tests))
OPT_LOG_COMPILER = $(srcdir)/testwrapper.sh
-AM_OPT_LOG_FLAGS = -d $(srcdir) -i tableopts.txt -r
+AM_OPT_LOG_FLAGS = -d $(srcdir) -i $(srcdir)/tableopts.txt -r
tableopts_opt_nr%.c: tableopts.l4 $(FLEX)
$(FLEX) -P $(subst -,_,$(basename $(*F))) $* -o $@ $<
diff --git a/tests/bison_nr_parser.y b/tests/bison_nr_parser.y
index 3021048..cbb4f2c 100644
--- a/tests/bison_nr_parser.y
+++ b/tests/bison_nr_parser.y
@@ -54,7 +54,7 @@ int process_text(char* s) {
%}
-%pure_parser
+%pure-parser
%union {
int lineno;
diff --git a/tests/bison_nr_scanner.l b/tests/bison_nr_scanner.l
index 4378e5a..0bd871c 100644
--- a/tests/bison_nr_scanner.l
+++ b/tests/bison_nr_scanner.l
@@ -56,7 +56,7 @@ static char* STRDUP(char* s1);
static char* STRDUP(char* s1)
{
- char* s2 = (char*)malloc(strlen(s1)+1);
+ char* s2 = malloc(strlen(s1)+1);
sprintf(s2,"%s",s1);
return s2;
}
diff --git a/tests/bison_yylloc_scanner.l b/tests/bison_yylloc_scanner.l
index 3708237..eab898c 100644
--- a/tests/bison_yylloc_scanner.l
+++ b/tests/bison_yylloc_scanner.l
@@ -59,7 +59,7 @@ static char* STRDUP(char* s1);
static char* STRDUP(char* s1)
{
- char* s2 = (char*)malloc(strlen(s1)+1);
+ char* s2 = malloc(strlen(s1)+1);
sprintf(s2,"%s",s1);
return s2;
}
diff --git a/tests/bison_yylval_scanner.l b/tests/bison_yylval_scanner.l
index db99fa0..1e93fc1 100644
--- a/tests/bison_yylval_scanner.l
+++ b/tests/bison_yylval_scanner.l
@@ -75,7 +75,7 @@ enum yesno_t { no=0, yes=1 };
static char* STRDUP(char* s1)
{
- char* s2 = (char*)malloc(strlen(s1)+1);
+ char* s2 = malloc(strlen(s1)+1);
sprintf(s2,"%s",s1);
return s2;
}
diff --git a/tests/mem_nr.l b/tests/mem_nr.l
index c7a6ce0..f25848f 100644
--- a/tests/mem_nr.l
+++ b/tests/mem_nr.l
@@ -91,12 +91,12 @@ void * yyalloc(yy_size_t n)
int i;
total_mem += n;
- p = (void*)malloc(n);
+ p = malloc(n);
if( nptrs >= arrsz){
/* increase array size by 1 */
arrsz++;
- ptrs = (struct memsz*)realloc( ptrs, arrsz * sizeof(struct memsz));
+ ptrs = realloc(ptrs, arrsz * sizeof(struct memsz));
ptrs[nptrs].p = 0;
ptrs[nptrs].sz = 0;
}
@@ -121,7 +121,7 @@ void * yyrealloc(void* p, yy_size_t n)
if ( ptrs[i].p == p){
total_mem -= ptrs[i].sz;
total_mem += n;
- ptrs[i].p = (void*)realloc(p,n);
+ ptrs[i].p = realloc(p,n);
ptrs[i].sz = n;
printf("yyflex_realloc(%#10lx,%8ld) total=%8ld return=%8lx\n",
@@ -161,7 +161,7 @@ int
main ()
{
arrsz = 1;
- ptrs = (struct memsz*)calloc(1,sizeof(struct memsz));
+ ptrs = calloc(1, sizeof(struct memsz));
nptrs = 0;
yyin = stdin;
diff --git a/tests/mem_r.l b/tests/mem_r.l
index cbfe08c..33b9888 100644
--- a/tests/mem_r.l
+++ b/tests/mem_r.l
@@ -93,12 +93,12 @@ void * yyalloc(yy_size_t n , void* yyscanner)
int i;
total_mem += n;
- p = (void*)malloc(n);
+ p = malloc(n);
if( nptrs >= arrsz){
/* increase array size by 1 */
arrsz++;
- ptrs = (struct memsz*)realloc( ptrs, arrsz * sizeof(struct memsz));
+ ptrs = realloc(ptrs, arrsz * sizeof(struct memsz));
ptrs[nptrs].p = 0;
ptrs[nptrs].sz = 0;
}
@@ -125,7 +125,7 @@ void * yyrealloc(void* p, yy_size_t n , void* yyscanner)
if ( ptrs[i].p == p){
total_mem -= ptrs[i].sz;
total_mem += n;
- ptrs[i].p = (void*)realloc(p,n);
+ ptrs[i].p = realloc(p, n);
ptrs[i].sz = n;
printf("yyflex_realloc(%#10lx,%8ld) total=%8ld return=%8lx\n",
@@ -168,7 +168,7 @@ main ()
{
yyscan_t scanner;
arrsz = 1;
- ptrs = (struct memsz*)calloc(1,sizeof(struct memsz));
+ ptrs = calloc(1, sizeof(struct memsz));
nptrs = 0;
yylex_init(&scanner);
diff --git a/tests/pthread.l b/tests/pthread.l
index 38080c1..c40c024 100644
--- a/tests/pthread.l
+++ b/tests/pthread.l
@@ -167,7 +167,7 @@ int main (int ARGC, char *ARGV[])
}
/* Allocate and initialize the locks. One for each filename in ARGV. */
- file_locks = (pthread_mutex_t*)malloc( (ARGC-1) * sizeof(pthread_mutex_t));
+ file_locks = malloc((ARGC-1) * sizeof(pthread_mutex_t));
for( i = 0; i < ARGC-1; i++)
pthread_mutex_init( &file_locks[i], NULL );
diff --git a/tests/reject.l4 b/tests/reject.l4
index 27982b1..7eda4a5 100644
--- a/tests/reject.l4
+++ b/tests/reject.l4
@@ -53,7 +53,7 @@ int main ( int argc, char** argv )
#endif
#ifdef TEST_HAS_TABLES_EXTERNAL
- if((fp = fopen(argv[1],"r"))== NULL)
+ if((fp = fopen(argv[1],"rb"))== NULL)
YY_FATAL_ERROR("could not open tables file for reading");
if(yytables_fload(fp M4_YY_CALL_LAST_ARG) < 0)
diff --git a/tests/string_nr.l b/tests/string_nr.l
index 3dd752a..e909b2d 100644
--- a/tests/string_nr.l
+++ b/tests/string_nr.l
@@ -82,7 +82,7 @@ main ()
We make a copy, since the buffer will be modified by flex.*/
printf("Testing: yy_scan_buffer(%s): ",INPUT_STRING_1); fflush(stdout);
len = strlen(INPUT_STRING_1) + 2;
- buf = (char*)malloc( len );
+ buf = malloc(len);
strcpy( buf, INPUT_STRING_1);
buf[ len -2 ] = 0; /* Flex requires two NUL bytes at end of buffer. */
buf[ len -1 ] =0;
diff --git a/tests/string_r.l b/tests/string_r.l
index d98c98a..633004a 100644
--- a/tests/string_r.l
+++ b/tests/string_r.l
@@ -87,7 +87,7 @@ main ()
We make a copy, since the buffer will be modified by flex.*/
printf("Testing: yy_scan_buffer(%s): ",INPUT_STRING_1); fflush(stdout);
len = strlen(INPUT_STRING_1) + 2;
- buf = (char*)malloc( len );
+ buf = malloc(len);
strcpy( buf, INPUT_STRING_1);
buf[ len -2 ] = 0; /* Flex requires two NUL bytes at end of buffer. */
buf[ len -1 ] =0;
diff --git a/tests/tableopts.l4 b/tests/tableopts.l4
index bb79407..ac85c29 100644
--- a/tests/tableopts.l4
+++ b/tests/tableopts.l4
@@ -55,7 +55,7 @@ int main ( int argc, char** argv )
#endif
#ifdef TEST_HAS_TABLES_EXTERNAL
- if((fp = fopen(argv[1],"r"))== NULL)
+ if((fp = fopen(argv[1],"rb"))== NULL)
YY_FATAL_ERROR("could not open tables file for reading");
if(yytables_fload(fp M4_YY_CALL_LAST_ARG) < 0)
diff --git a/tests/testwrapper.sh b/tests/testwrapper.sh
index 30127b5..051e20b 100755
--- a/tests/testwrapper.sh
+++ b/tests/testwrapper.sh
@@ -30,10 +30,10 @@ while getopts :d:i:rt1 OPTION ; do
TESTNAME="${!OPTIND}"
-INPUT_NAME=${INPUT_NAME:-`basename $TESTNAME`.txt}
+INPUT_NAME=${INPUT_NAME:-$INPUT_DIRECTORY/`basename $TESTNAME`.txt}
if [ "$DO_COMPARISON" -eq "1" ] ; then
- test `$TESTNAME 1 < $INPUT_DIRECTORY/$INPUT_NAME` -eq `$TESTNAME < $INPUT_DIRECTORY/$INPUT_NAME`
+ test `$TESTNAME 1 < $INPUT_NAME` -eq `$TESTNAME < $INPUT_NAME`
exit $?
fi
@@ -42,11 +42,11 @@ if [ $INPUT_COUNT -gt 1 ] ; then
exit $?
fi
-if [ -f ${INPUT_DIRECTORY}/${INPUT_NAME} ] ; then
+if [ -f ${INPUT_NAME} ] ; then
if [ $USE_REDIRECT == 1 ] ; then
- $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} < $INPUT_DIRECTORY/$INPUT_NAME
+ $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} < $INPUT_NAME
else
- $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} $INPUT_DIRECTORY/$INPUT_NAME
+ $TESTNAME ${USE_TABLES:+${INPUT_DIRECTORY}/${TESTNAME}.tables} $INPUT_NAME
fi
else
$TESTNAME
diff --git a/tests/yyextra.l b/tests/yyextra.l
index 37e8821..8957cbb 100644
--- a/tests/yyextra.l
+++ b/tests/yyextra.l
@@ -68,11 +68,11 @@ main ()
struct Buffer * buf;
int i;
- buf = (struct Buffer*) malloc(sizeof(struct Buffer));
+ buf = malloc(sizeof(struct Buffer));
buf->curr_len =0;
buf->max_len = 4;
buf->grow_len = 100;
- buf->data = (char*)malloc(buf->max_len);
+ buf->data = malloc(buf->max_len);
testlex_init(&scanner);
testset_in( stdin, scanner);
@@ -100,10 +100,10 @@ static void append_char (char c, yyscan_t scanner )
if( buf->curr_len >= buf->max_len )
{
- new_buf = (struct Buffer*) malloc(sizeof(struct Buffer));
+ new_buf = malloc(sizeof(struct Buffer));
new_buf->max_len = buf->max_len + buf->grow_len;
new_buf->grow_len = buf->grow_len;
- new_buf->data = (char*)malloc(new_buf->max_len);
+ new_buf->data = malloc(new_buf->max_len);
for( new_buf->curr_len = 0;
new_buf->curr_len < buf->curr_len;
new_buf->curr_len++ )