diff options
author | Manoj Srivastava <srivasta@debian.org> | 2016-07-29 17:19:37 -0700 |
---|---|---|
committer | Manoj Srivastava <srivasta@debian.org> | 2016-07-31 14:58:23 -0700 |
commit | 487177cbb85bc4e88e468c71b27569054b8df090 (patch) | |
tree | 439628ed03b3b68404b7198883f993d1ef2b6753 /src | |
parent | 6228bc837a1bfd806c6b6f92fea9f6a42f099e7e (diff) |
Imported Upstream version 2.6.1
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.in | 136 | ||||
-rw-r--r-- | src/config.h.in | 217 | ||||
-rw-r--r-- | src/parse.c | 81 | ||||
-rw-r--r-- | src/parse.h | 28 | ||||
-rw-r--r-- | src/scan.c | 2914 | ||||
-rw-r--r-- | src/skel.c | 109 | ||||
-rw-r--r-- | src/stage1scan.c | 5078 | ||||
-rw-r--r-- | src/stage1scan.l | 1011 |
8 files changed, 7723 insertions, 1851 deletions
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/config.h.in b/src/config.h.in deleted file mode 100644 index a008fe2..0000000 --- a/src/config.h.in +++ /dev/null @@ -1,217 +0,0 @@ -/* src/config.h.in. Generated from configure.ac by autoheader. */ - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -#undef CRAY_STACKSEG_END - -/* Define to 1 if using `alloca.c'. */ -#undef C_ALLOCA - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#undef ENABLE_NLS - -/* Define to 1 if you have `alloca', as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix). - */ -#undef HAVE_ALLOCA_H - -/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -#undef HAVE_CFLOCALECOPYCURRENT - -/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -#undef HAVE_CFPREFERENCESCOPYAPPVALUE - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the <dlfcn.h> header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if you have the `dup2' function. */ -#undef HAVE_DUP2 - -/* Define to 1 if you have the `fork' function. */ -#undef HAVE_FORK - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT - -/* Define if you have the iconv() function and it works. */ -#undef HAVE_ICONV - -/* Define to 1 if you have the <inttypes.h> header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the `isascii' function. */ -#undef HAVE_ISASCII - -/* Define to 1 if you have the <libintl.h> header file. */ -#undef HAVE_LIBINTL_H - -/* Define to 1 if you have the `m' library (-lm). */ -#undef HAVE_LIBM - -/* pthread library */ -#undef HAVE_LIBPTHREAD - -/* Define to 1 if you have the <limits.h> header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if you have the <locale.h> header file. */ -#undef HAVE_LOCALE_H - -/* Define to 1 if your system has a GNU libc compatible `malloc' function, and - to 0 otherwise. */ -#undef HAVE_MALLOC - -/* Define to 1 if you have the <malloc.h> header file. */ -#undef HAVE_MALLOC_H - -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 if you have the `memset' function. */ -#undef HAVE_MEMSET - -/* Define to 1 if you have the <netinet/in.h> header file. */ -#undef HAVE_NETINET_IN_H - -/* Define to 1 if you have the `pow' function. */ -#undef HAVE_POW - -/* Define to 1 if you have the <pthread.h> header file. */ -#undef HAVE_PTHREAD_H - -/* Define to 1 if your system has a GNU libc compatible `realloc' function, - and to 0 otherwise. */ -#undef HAVE_REALLOC - -/* Define to 1 if you have the `regcomp' function. */ -#undef HAVE_REGCOMP - -/* Define to 1 if you have the <regex.h> header file. */ -#undef HAVE_REGEX_H - -/* Define to 1 if you have the `setlocale' function. */ -#undef HAVE_SETLOCALE - -/* Define to 1 if stdbool.h conforms to C99. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the <stddef.h> header file. */ -#undef HAVE_STDDEF_H - -/* Define to 1 if you have the <stdint.h> header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the <stdlib.h> header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the `strchr' function. */ -#undef HAVE_STRCHR - -/* Define to 1 if you have the <strings.h> header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the <string.h> header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if you have the `strtol' function. */ -#undef HAVE_STRTOL - -/* Define to 1 if you have the <sys/stat.h> header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the <sys/types.h> header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */ -#undef HAVE_SYS_WAIT_H - -/* Define to 1 if you have the <unistd.h> header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `vfork' function. */ -#undef HAVE_VFORK - -/* Define to 1 if you have the <vfork.h> header file. */ -#undef HAVE_VFORK_H - -/* Define to 1 if `fork' works. */ -#undef HAVE_WORKING_FORK - -/* Define to 1 if `vfork' works. */ -#undef HAVE_WORKING_VFORK - -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#undef LT_OBJDIR - -/* Define to the m4 executable name. */ -#undef M4 - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -#undef STACK_DIRECTION - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Version number of package */ -#undef VERSION - -/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a - `char[]'. */ -#undef YYTEXT_POINTER - -/* Define to empty if `const' does not conform to ANSI C. */ -#undef const - -/* Define to rpl_malloc if the replacement function should be used. */ -#undef malloc - -/* Define to `int' if <sys/types.h> does not define. */ -#undef pid_t - -/* Define to rpl_realloc if the replacement function should be used. */ -#undef realloc - -/* Define to `unsigned int' if <sys/types.h> does not define. */ -#undef size_t - -/* Define as `fork' if `vfork' does not work. */ -#undef vfork 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 @@ -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 ); - } - @@ -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,12 +621,12 @@ 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.", " */", - " yy_size_t yy_n_chars;", + " 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", @@ -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", @@ -727,11 +715,11 @@ const char *skel[] = { "%not-for-header", "/* yy_hold_char holds the character lost when yytext is formed. */", "static char yy_hold_char;", - "static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */", - "yy_size_t yyleng;", + "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 = (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", @@ -898,8 +883,8 @@ const char *skel[] = { " size_t yy_buffer_stack_max; /**< capacity of stack. */", " YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */", " char yy_hold_char;", - " yy_size_t yy_n_chars;", - " yy_size_t yyleng_r;", + " int yy_n_chars;", + " 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(", @@ -2004,9 +1989,9 @@ const char *skel[] = { " else", " ret_val = EOB_ACT_CONTINUE_SCAN;", "", - " if ((yy_size_t) (YY_G(yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {", + " if ((int) (YY_G(yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {", " /* Extend the array by 50%, plus the number we really need. */", - " yy_size_t new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1);", + " int new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1);", " YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(", " (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size M4_YY_CALL_LAST_ARG );", " if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )", @@ -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; + } |