re2c-0.16/0000755000175000017500000000000012650133526007277 500000000000000re2c-0.16/aclocal.m40000644000175000017500000012424412650133375011070 00000000000000# generated automatically by aclocal 1.15 -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.15' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.15], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.15])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` ]) # AM_COND_IF -*- Autoconf -*- # Copyright (C) 2008-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_COND_IF # _AM_COND_ELSE # _AM_COND_ENDIF # -------------- # These macros are only used for tracing. m4_define([_AM_COND_IF]) m4_define([_AM_COND_ELSE]) m4_define([_AM_COND_ENDIF]) # AM_COND_IF(COND, [IF-TRUE], [IF-FALSE]) # --------------------------------------- # If the shell condition COND is true, execute IF-TRUE, otherwise execute # IF-FALSE. Allow automake to learn about conditional instantiating macros # (the AC_CONFIG_FOOS). AC_DEFUN([AM_COND_IF], [m4_ifndef([_AM_COND_VALUE_$1], [m4_fatal([$0: no such condition "$1"])])dnl _AM_COND_IF([$1])dnl if test -z "$$1_TRUE"; then : m4_n([$2])[]dnl m4_ifval([$3], [_AM_COND_ELSE([$1])dnl else $3 ])dnl _AM_COND_ENDIF([$1])dnl fi[]dnl ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC]) [_AM_PROG_CC_C_O ]) # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi dnl The trailing newline in this macro's definition is deliberate, for dnl backward compatibility and to allow trailing 'dnl'-style comments dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 1999-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_CC_C_O # --------------- # Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC # to automatically call this. AC_DEFUN([_AM_PROG_CC_C_O], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl AC_LANG_PUSH([C])dnl AC_CACHE_CHECK( [whether $CC understands -c and -o together], [am_cv_prog_cc_c_o], [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i]) if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR re2c-0.16/examples/0000755000175000017500000000000012624147602011116 500000000000000re2c-0.16/examples/push_model/0000755000175000017500000000000012624147602013255 500000000000000re2c-0.16/examples/push_model/push.re0000644000175000017500000002247712624147602014520 00000000000000/* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize #include #include char * tokendup(const char *t, const char *l) { size_t n = l -t + 1; char *r = (char*)malloc(n); memmove(r, t, n-1); r[n] = '\0'; return r; } int scan(char *s, int l) { char *p = s; char *q = 0; char *t; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+2) #define YYMARKER q #define YYFILL(n) { printf("OOD\n"); return 2; } for(;;) { t = p; /*!re2c re2c:indent:top = 2; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; OCT { t = tokendup(t, p); printf("Oct: %s\n", t); free(t); continue; } INT { t = tokendup(t, p); printf("Num: %s\n", t); free(t); continue; } "+" { printf("+\n"); continue; } "-" { printf("+\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } return 0; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/001_upn_calculator/calc_008.b.re0000644000175000017500000000710712624147602016477 00000000000000/* re2c lesson 001_upn_calculator, calc_008, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - using -b with signed character input . Since the code is being generated with -b switch re2c requires the internal character variable yych to use an unsigned character type. For that reason the previous lessons had a conversion at the beginning of their scan() function. Other re2c generated code often have the scanners work completely on unsigned input. Thus requesting a conversion. To avoid the conversion on input, re2c allows to do the conversion when reading the internal yych variable. To enable that conversion you need to use the implace configuration 're2c:yych:conversion' and set it to 1. This will change the generated code to insert conversions to YYCTYPE whenever yych is being read. - More inplace configurations for better/nicer code . re2c allows to overwrite the generation of any define, label or variable used in the generated code. For example we overwrite the 'yych' variable name to 'curr' using inplace configuration 're2c:variable:yych = curr;'. . We further more use inplace configurations instead of defines. This allows to use correct conversions to 'unsigned char' instead of having to convert to 'YYCTYPE' when placing 're2c:define:YYCTYPE = "unsigned char";' infront of 're2c:yych:conversion'. Note that we have to use apostrophies for the first setting as it contains a space. . Last but not least we use 're2c:labelprefix = scan' to change the prefix of generated labels. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const char *t, const char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - '0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("+\n")); return 0; } int scan(char *p) { char *t; int res = 0; while(!res) { t = p; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = p; re2c:variable:yych = curr; re2c:indent:top = 2; re2c:yyfill:enable = 0; re2c:yych:conversion = 1; re2c:labelprefix = scan; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } "\000" { res = depth == 1 ? 0 : 2; break; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/001_upn_calculator/calc_001.re0000644000175000017500000000624612624147602016253 00000000000000/* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - basic interface for string reading . We define the macros YYCTYPE, YYCURSOR, YYLIMIT, YYMARKER, YYFILL . YYCTYPE is the type re2c operates on or in other words the type that it generates code for. While it is not a big difference when we were using 'unsigned char' here we would need to run re2c with option -w to fully support types with sieof() > 1. . YYCURSOR is used internally and holds the current scanner position. In expression handlers, the code blocks after re2c expressions, this can be used to identify the end of the token. . YYMARKER is not always being used so we set an initial value to avoid a compiler warning. Here we could also omit it compleley. . YYLIMIT stores the end of the input. Unfortunatley we have to use strlen() in this lesson. In the next example we see one way to get rid of it. . We use a 'for(;;)'-loop around the scanner block. We could have used a 'while(1)'-loop instead but some compilers generate a warning for it. . To make the output more readable we use 're2c:indent:top' scanner configuration that configures re2c to prepend a single tab (the default) to the beginning of each output line. . The following lines are expressions and for each expression we output the token name and continue the scanner loop. . The second last token detects the end of our input, the terminating zero in our input string. In other scanners detecting the end of input may vary. For example binary code may contain \0 as valid input. . The last expression accepts any input character. It tells re2c to accept the opposit of the empty range. This includes numbers and our tokens but as re2c goes from top to botton when evaluating the expressions this is no problem. . The first three rules show that re2c actually prioritizes the expressions from top to bottom. Octal number require a starting "0" and the actual number. Normal numbers start with a digit greater 0. And zero is finally a special case. A single "0" is detected by the last rule of this set. And valid ocal number is already being detected by the first rule. This even includes multi "0" sequences that in octal notation also means zero. Another way would be to only use two rules: "0" [0-9]+ "0" | ( [1-9] [0-9]* ) A full description of re2c rule syntax can be found in the manual. */ #include #include #include int scan(char *s, int l) { char *p = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) for(;;) { /*!re2c re2c:indent:top = 2; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("-\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.16/examples/001_upn_calculator/calc_007.b.re0000644000175000017500000000453312624147602016476 00000000000000/* re2c lesson 001_upn_calculator, calc_007, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - optimizing the generated code by using -b command line switch of re2c . This tells re2c to generate code that uses a decision table. The -b switch also contains the -s behavior. And -b also requires the input to be unsigned chars. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const unsigned char *t, const unsigned char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - (unsigned char)'0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("+\n")); return 0; } int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; /*!re2c re2c:indent:top = 2; re2c:yyfill:enable = 0; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } "\000" { res = depth == 1 ? 0 : 2; break; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/001_upn_calculator/calc_002.re0000644000175000017500000000326712624147602016254 00000000000000/* re2c lesson 001_upn_calculator, calc_002, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - making use of YYFILL . Here we modified the scanner to not require strlen() on the call. Instead we compute limit on the fly. That is whenever more input is needed we search for the terminating \0 in the next n chars the scanner needs. . If there is not enough input we quit the scanner. . Note that in lesson_001 YYLIMIT was a character pointer computed only once. Here is of course also of type YYCTYPE but a variable that gets reevaluated by YYFILL(). . To make the code smaller we take advantage of the fact that our loop has no break so far. This allows us to use break here and have the code that is used for YYFILL() not contain the printf in every occurence. That way the generated code gets smaller. */ #include #include #include int fill(char *p, int n, char **l) { while (*++p && n--) ; * l = p; return n <= 0; } int scan(char *s) { char *p = s; char *l = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT l #define YYMARKER q #define YYFILL(n) { if (!fill(p, n, &l)) break; } for(;;) { /*!re2c re2c:indent:top = 2; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("+\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } printf("OOD\n"); return 2; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1]); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/001_upn_calculator/README0000644000175000017500000000701212624147602015311 00000000000000re2c lesson 001_upn_calculator, (c) M. Boerger 2006 This lesson gets you started with re2c. In the end you will have an easy RPN (reverse polish notation) calculator for use at command line. You will learn about the basic interface of re2c when scanning input strings. How to detect the end of the input and use that to stop scanning in order to avoid problems. Once you have successfully installed re2c you can use it to generate *.c files from the *.re files presented in this lesson. Actually the expected *.c files are already present. So you should name them *.cc or something alike or just give them a different name like test.c. To do so you simply change into the directory and execute the following command: re2c calc_001.re > test.c Then use your compiler to compile that code and run it. If you are using gcc you simply do the following: gcc -o test.o test.c ./test.o If you are using windows you might want to read till the end of this lesson. When you want to debug the code it helps to make re2c generate working #line information. To do so you simply specify the output file using the -o switch followed by the output filename: re2c -o test.c calc_001.re The input files *.re each contain basic step by comments that explain what is going on and what you can see in the examples. In order to optimize the generated code we will use the -s command line switch of re2c. This tells re2c to generate code that uses if statements rather then endless switch/case expressions where appropriate. Note that the file name extension is actually '.s.re' to tell the test system to use the -s switch. To invoke re2 you do the following: re2c -s -o test.c calc_006.s.re Finally we use the -b switch to have the code use a decision table. The -b switch also contains the -s behavior. re2c -b -o test.c calc_007.b.re ------------------------------------------------------------------------------- For windows users Lynn Allan provided some additional stuff to get you started in the Microsoft world. This addon resides in the windows subdirectory and gives you something to expereiment with. The code in that directory is based on the first step and has the following changes: * vc6 .dsp/.dsw and vc7/vc8 .sln/.vcproj project files that have "Custom Build Steps" that can tell when main.re changes, and know how to generate main.c from main.re. They assume that you unpacked the zip package and have re2c itself build or installed in Release and Release-2005 directory respectively. If re2c cannot be found you need to modify the custom build step and correct the path to re2c. * BuildAndRun.bat to do command line rec2 and then cl and then run the executable (discontinues with message if errors). * built-in cppunit-like test to confirm it worked as expected. * array of test strings "fed" to scan rather than file contents to facilitate testing and also reduce the newbie learning curve. * HiResTimer output for 10,000 loops and 100,000 loops. While this might be excessive for this lesson, it illustrates how to do it for subsequent lessons and your own stuff using windows. Also it shows that Release build is as fast as strncmp for this test and can probably be made significantly faster. * If you want to build the other steps of this lesson using windows tools simply copy the *.re files into the windows directory as main.re and rebuild. ------------------------------------------------------------------------------- Sidenote: UPN is the german translation of RPN, somehow hardcoded into the authors brain :-) re2c-0.16/examples/001_upn_calculator/calc_006.s.re0000644000175000017500000000761312624147602016520 00000000000000/* re2c lesson 001_upn_calculator, calc_006, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - avoiding YYFILL() . We use the inplace configuration re2c:yyfill to suppress generation of YYFILL() blocks. This of course means we no longer have to provide the macro. . We also drop the YYMARKER stuff since we know that re2c does not generate it for this example. . Since re2c does no longer check for out of data situations we must do this. For that reason we first reintroduce our zero rule and second we need to ensure that the scanner does not take more than one bytes in one go. In the example suppose "0" is passed. The scanner reads the first "0" and then is in an undecided state. The scanner can earliest decide on the next char what the token is. In case of a zero the input ends and it was a number, 0 to be precise. In case of a digit it is an octal number and the next character needs to be read. In case of any other character the scanner will detect an error with the any rule [^]. Now the above shows that the scanner may read two characters directly. But only if the first is a "0". So we could easily check that if the first char is "0" and the next char is a digit then yet another charcter is present. But we require our inut to be zero terminated. And that means we do not have to check anything for this scanner. However with other rule sets re2c might read more then one character in a row. In those cases it is normally hard to impossible to avoid YYFILL. - optimizing the generated code by using -s command line switch of re2c . This tells re2c to generate code that uses if statements rather then endless switch/case expressions where appropriate. Note that the generated code now requires the input to be unsigned char rather than char due to the way comparisons are generated. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const unsigned char *t, const unsigned char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - (unsigned char)'0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("-\n")); return 0; } int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; /*!re2c re2c:indent:top = 2; re2c:yyfill:enable = 0; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } "\000" { res = depth == 1 ? 0 : 2; break; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/001_upn_calculator/windows/0000755000175000017500000000000012624147602016203 500000000000000re2c-0.16/examples/001_upn_calculator/windows/main.b.re0000644000175000017500000002245212624147602017624 00000000000000/* re2c lesson 001_upn_calculator, main.b.re, (c) M. Boerger, L. Allan 2006 */ /*!ignore:re2c - basic interface for string reading . We define the macros YYCTYPE, YYCURSOR, YYLIMIT, YYMARKER, YYFILL . YYCTYPE is the type re2c operates on or in other words the type that it generates code for. While it is not a big difference when we were using 'unsigned char' here we would need to run re2c with option -w to fully support types with sieof() > 1. . YYCURSOR is used internally and holds the current scanner position. In expression handlers, the code blocks after re2c expressions, this can be used to identify the end of the token. . YYMARKER is not always being used so we set an initial value to avoid a compiler warning. . YYLIMIT stores the end of the input. Unfortunatley we have to use strlen() in this lesson. In the next example we see one way to get rid of it. . We use a 'for(;;)'-loop around the scanner block. We could have used a 'while(1)'-loop instead but some compilers generate a warning for it. . To make the output more readable we use 're2c:indent:top' scanner configuration that configures re2c to prepend a single tab (the default) to the beginning of each output line. . The following lines are expressions and for each expression we output the token name and continue the scanner loop. . The second last token detects the end of our input, the terminating zero in our input string. In other scanners detecting the end of input may vary. For example binary code may contain \0 as valid input. . The last expression accepts any input character. It tells re2c to accept the opposit of the empty range. This includes numbers and our tokens but as re2c goes from top to botton when evaluating the expressions this is no problem. . The first three rules show that re2c actually prioritizes the expressions from top to bottom. Octal number require a starting "0" and the actual number. Normal numbers start with a digit greater 0. And zero is finally a special case. A single "0" is detected by the last rule of this set. And valid ocal number is already being detected by the first rule. This even includes multi "0" sequences that in octal notation also means zero. Another way would be to only use two rules: "0" [0-9]+ "0" | ( [1-9] [0-9]* ) A full description of re2c rule syntax can be found in the manual. */ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #if _MSC_VER > 1200 #define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later. #endif // Prevents warning from vc7.1 complaining about redefinition #include #include #include #include #include #include "HiResTimer.h" static char gTestBuf[1000] = ""; /** * @brief Setup HiResolution timer and confirm it is working ok */ void InitHiResTimerAndVerifyWorking(void) { double elapsed; HrtInit(); HrtSetPriority(ABOVE_NORMAL_PRIORITY_CLASS); HrtStart(); Sleep(100); elapsed = HrtElapsedMillis(); if ((elapsed < 90) || (elapsed > 110)) { printf("HiResTimer misbehaving: %f\n", elapsed); exit(2); } } /** * @brief Scan for numbers in different formats */ int ScanFullSpeed(char *pzStrToScan, size_t lenStrToScan) { unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan; unsigned char *pzBacktrackInfo = 0; #define YYCTYPE unsigned char #define YYCURSOR pzCurScanPos #define YYLIMIT (pzStrToScan+lenStrToScan) #define YYMARKER pzBacktrackInfo #define YYFILL(n) for(;;) { /*!re2c re2c:indent:top = 2; [1-9][0-9]* { continue; } [0][0-9]+ { continue; } "+" { continue; } "-" { continue; } "\000" { return 0; } [^] { return 1; } */ } } /** * @brief Scan for numbers in different formats */ int scan(char *pzStrToScan, size_t lenStrToScan) { unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan; unsigned char *pzBacktrackInfo = 0; #define YYCTYPE unsigned char #define YYCURSOR pzCurScanPos #define YYLIMIT (pzStrToScan+lenStrToScan) #define YYMARKER pzBacktrackInfo #define YYFILL(n) for(;;) { /*!re2c re2c:indent:top = 2; [1-9][0-9]* { printf("Num\n"); strcat(gTestBuf, "Num "); continue; } [0][0-9]+ { printf("Oct\n"); strcat(gTestBuf, "Oct "); continue; } "+" { printf("+\n"); strcat(gTestBuf, "+ "); continue; } "-" { printf("-\n"); strcat(gTestBuf, "- "); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); strcat(gTestBuf, "ERR "); return 1; } */ } } /** * @brief Show high resolution elapsed time for 10,000 and 100,000 loops */ void DoTimingsOfStrnCmp(void) { char testStr[] = "Hello, world"; int totLoops = 10000; int totFoundCount = 0; int foundCount = 0; int loop; int rc; const int progressAnd = 0xFFFFF000; double elapsed; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; rc = strncmp(testStr, "Hello", 5); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } elapsed = HrtElapsedMillis(); printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); totLoops = 100000; HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; rc = strncmp(testStr, "Hello", 5); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } elapsed = HrtElapsedMillis(); printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); } /** * @brief Show high resolution elapsed time for 10,000 and 100,000 loops */ void DoTimingsOfRe2c(void) { char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" }; const int testCount = sizeof(testStrings) / sizeof(testStrings[0]); int i; int totLoops = 10000 / testCount; // Doing more than one per loop int totFoundCount = 0; int foundCount = 0; int loop; int rc; const int progressAnd = 0xFFFFF000; double elapsed; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string? rc = ScanFullSpeed(pzCurStr, len); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } } elapsed = HrtElapsedMillis(); printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); totLoops = 100000 / testCount; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string? rc = ScanFullSpeed(pzCurStr, len); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } } elapsed = HrtElapsedMillis(); printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); } /** * @brief Entry point for console app */ int main(int argc, char **argv) { char testStr_A[] = "123"; char* testStr_B = "456"; char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" }; const int testCount = sizeof(testStrings) / sizeof(testStrings[0]); int i; int rc = scan(testStr_A, 3); printf("rc: %d\n", rc); rc = scan(testStr_B, 3); printf("rc: %d\n", rc); rc = scan("789", 3); printf("rc: %d\n", rc); strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); scan(pzCurStr, len); } printf("%s\n", gTestBuf); rc = strcmp(gTestBuf, "Num Num + Num Oct - Oct ERR Num ERR "); if (rc == 0) { printf("Success\n"); } else { printf("Failure\n"); } assert(0 == rc); // Doesn't work with Release build InitHiResTimerAndVerifyWorking(); DoTimingsOfStrnCmp(); DoTimingsOfRe2c(); return 0; } re2c-0.16/examples/001_upn_calculator/windows/HiResTimer.h0000644000175000017500000000211412624147602020305 00000000000000/** * @file HiResTimer.h * @brief * @note */ #ifndef _HI_RES_TIMER_H_ #define _HI_RES_TIMER_H_ #ifdef WIN32 #include // probably already done in stdafx.h static LARGE_INTEGER start; static LARGE_INTEGER stop; static LARGE_INTEGER freq; static _int64 elapsedCounts; static double elapsedMillis; static double elapsedMicros; static HANDLE processHandle; static DWORD prevPriorityClass; void HrtInit() { processHandle = GetCurrentProcess(); prevPriorityClass = GetPriorityClass(processHandle); QueryPerformanceFrequency(&freq); } void HrtStart() { QueryPerformanceCounter(&start); } void HrtSetPriority(DWORD priority) { int flag; prevPriorityClass = GetPriorityClass(processHandle); flag = SetPriorityClass(processHandle, priority); } void HrtResetPriority(void) { int flag = SetPriorityClass(processHandle, prevPriorityClass); } double HrtElapsedMillis() { QueryPerformanceCounter(&stop); elapsedCounts = (stop.QuadPart - start.QuadPart); elapsedMillis = ((elapsedCounts * 1000.0) / freq.QuadPart); return elapsedMillis; } #endif #endifre2c-0.16/examples/001_upn_calculator/calc_005.re0000644000175000017500000000563412624147602016257 00000000000000/* re2c lesson 001_upn_calculator, calc_005, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - turning this lesson into an easy calculator . We are going to write an UPN calculator so we need an additional rule to ignore white space. . Then we need to store the scanned input somewhere and do our math on it. . Also we need to scan all arguments since the main c code gets the input split up into chunks. . In contrast to what we did before we now add a variable res that holds the scanner state. We initialize that variable to 0 and quit the loop when it is non zero. This will also be our return value so that we can use it in function main to generate error information. . To support operating systems where ' and " get passed in program arguments we check for them being first and last input character. If so we correct input pointer and input length. Since now our scanner might not see a terminating zero we change YYLIMIT again and drop the special zero rule. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const char *t, const char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - '0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; return 0; } int scan(char *s, int l) { char *p = s; char *q = 0; char *t; int res = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+1) #define YYMARKER q #define YYFILL(n) { return depth == 1 ? 0 : 2; } while(!res) { t = p; /*!re2c re2c:indent:top = 2; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = argv[argp]; len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { ++inp; len -=2; } res = scan(inp, len); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/001_upn_calculator/calc_003.re0000644000175000017500000000320612624147602016246 00000000000000/* re2c lesson 001_upn_calculator, calc_003, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - making use of YYFILL . Again provide the length of the input to generate the limit only once. Now we can use YYFILL() to detect the end and simply return since YYFILL() is only being used if the next scanner run might use more chars then YYLIMIT allows. . Note that we now use (s+l+2) instead of (s+l) as we did in lesson_001. In the first lesson we did not quit from YYFILL() and used a special rule to detect the end of input. Here we use the fact that we know the exact end of input and that this length does not include the terminating zero. Since YYLIMIT points to the first character behind the used buffer we use "+ 2". If we would use "+1" we could drop the "\000" rule but could no longer distinguish between end of input and out of data. */ #include #include #include int scan(char *s, int l) { char *p = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+2) #define YYMARKER q #define YYFILL(n) { printf("OOD\n"); return 2; } for(;;) { /*!re2c re2c:indent:top = 2; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("+\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } return 0; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.16/examples/input_custom/0000755000175000017500000000000012617126113013643 500000000000000re2c-0.16/examples/input_custom/simple/0000755000175000017500000000000012617126113015134 500000000000000re2c-0.16/examples/input_custom/simple/fgetc.re0000644000175000017500000000174612617126113016504 00000000000000#include char peek (FILE * f) { char c = fgetc (f); ungetc (c, f); return c; } bool lex (FILE * f, const long limit) { long marker; long ctxmarker; # define YYCTYPE char # define YYPEEK() peek (f) # define YYSKIP() fgetc (f) # define YYBACKUP() marker = ftell (f) # define YYBACKUPCTX() ctxmarker = ftell (f) # define YYRESTORE() fseek (f, marker, SEEK_SET) # define YYRESTORECTX() fseek (f, ctxmarker, SEEK_SET) # define YYLESSTHAN(n) limit - ftell (f) < n # define YYFILL(n) {} /*!re2c "int buffer " / "[" [0-9]+ "]" { return true; } * { return false; } */ } int main () { const char buffer [] = "int buffer [1024]"; const char fn [] = "input.txt"; FILE * f = fopen (fn, "w"); fwrite (buffer, 1, sizeof (buffer), f); fclose (f); f = fopen (fn, "rb"); int result = !lex (f, sizeof (buffer)); fclose (f); return result; } re2c-0.16/examples/input_custom/simple/istringstream.re0000644000175000017500000000142612617126113020302 00000000000000#include bool lex (std::istringstream & is, const std::streampos limit) { std::streampos marker; std::streampos ctxmarker; # define YYCTYPE char # define YYPEEK() is.peek () # define YYSKIP() is.ignore () # define YYBACKUP() marker = is.tellg () # define YYBACKUPCTX() ctxmarker = is.tellg () # define YYRESTORE() is.seekg (marker) # define YYRESTORECTX() is.seekg (ctxmarker) # define YYLESSTHAN(n) limit - is.tellg () < n # define YYFILL(n) {} /*!re2c "int buffer " / "[" [0-9]+ "]" { return true; } * { return false; } */ } int main () { const char buffer [] = "int buffer [1024]"; std::istringstream is (buffer); return !lex (is, sizeof (buffer)); } re2c-0.16/examples/input_custom/simple/README0000644000175000017500000000113312617126113015732 00000000000000Build with "--input custom" re2c switch. These are three examples of "--input custom" usage: - input_custom_default.re: implements default re2c input model (pointers to plain buffer) - input_custom_fgetc: implements C-style file input (using ) - input_custom_fgetc: implements std::istringstream input Note that these examples are very simple and don't need to implement YYFILL; the only reason they don't use "re2c:yyfill:enable = 0;" is to keep YYLESSTHAN and YYLIMIT (for the sake of example). In real-life programs one will need to care for correct end-of-input handling. re2c-0.16/examples/input_custom/simple/default.re0000644000175000017500000000130112617126113017023 00000000000000bool lex (const char * cursor, const char * const limit) { const char * marker; const char * ctxmarker; # define YYCTYPE char # define YYPEEK() *cursor # define YYSKIP() ++cursor # define YYBACKUP() marker = cursor # define YYBACKUPCTX() ctxmarker = cursor # define YYRESTORE() cursor = marker # define YYRESTORECTX() cursor = ctxmarker # define YYLESSTHAN(n) limit - cursor < n # define YYFILL(n) {} /*!re2c "int buffer " / "[" [0-9]+ "]" { return true; } * { return false; } */ } int main () { char buffer [] = "int buffer [1024]"; return !lex (buffer, buffer + sizeof (buffer)); } re2c-0.16/examples/input_custom/fixed.re0000644000175000017500000000222312617126113015211 00000000000000// Build with "--input custom" re2c switch. // // This is an example of handling fixed-length buffer with "--input custom": // on each YYPEEK we check for the end of input, thus YYFILL generation // can be safely suppressed. // // Note that YYLIMIT points not to terminating NULL, but to the previous // character: we emulate the case when input has no terminating NULL. // // For a real-life example see https://github.com/sopyer/mjson // or mjson.re from re2c test collection. bool lex (const char * cursor, const char * const limit) { const char * marker; const char * ctxmarker; # define YYCTYPE char # define YYPEEK() (cursor >= limit ? 0 : *cursor) # define YYSKIP() ++cursor # define YYBACKUP() marker = cursor # define YYBACKUPCTX() ctxmarker = cursor # define YYRESTORE() cursor = marker # define YYRESTORECTX() cursor = ctxmarker /*!re2c re2c:yyfill:enable = 0; "int buffer " / "[" [0-9]+ "]" { return true; } * { return false; } */ } int main () { char buffer [] = "int buffer [1024]"; return !lex (buffer, buffer + sizeof (buffer) - 1); } re2c-0.16/examples/002_strip_comments/0000755000175000017500000000000012624147602014545 500000000000000re2c-0.16/examples/002_strip_comments/strip_003.b.re0000644000175000017500000001020012624147602016751 00000000000000/* re2c lesson 002_strip_comments, strip_003.b, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - more complexity . Right now we strip out trailing white space and new lines after a comment block. This can be a problem when the comment block was not preceeded by a new line. . The solution is to use trailing contexts. - trailing contexts . Re2c allows to check for a portion of input and only recognize it when it is followed by another portion. This is called a trailing context. . The trailing context is not part of the identified input. That means that it follows exactly at the cursor. A consequence is that the scanner has already read more input and on the next run you need to restore begining of input, in our case s.tok, from the cursor, here s.cur, rather then restoring to the beginning of the buffer. This way the scanner can reuse the portion it has already read. . The position of the trailing context is stored in YYCTXMARKER for which a pointer variable needs to be provided. . As with YYMARKER the corrsponding variable needs to be corrected if we shift in some buffer. . Still this is not all we need to solve the problem. What is left is that the information whether we detected a trailing context was detected has to be stored somewhere. This is done by the new variable nlcomment. - formatting . Until now we only used single line expression code and we always had the opening { on the same line as the rule itself. If we have multiline rule code and care for formatting we can no longer rely on re2c. Now we have to indent the rule code ourself. Also we need to take care of the opening {. If we keep it on the same line as the rule then re2c will indent it correctly and the emitted #line informations will be correct. If we place it on the next line then the #line directive will also point to that line and not to the rule. */ #include #include #include /*!max:re2c */ #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.mrk #define YYCTXMARKER s.ctx #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof, *ctx, *mrk; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->mrk = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; s->mrk -= cnt; s->ctx -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void echo(Scanner *s) { fwrite(s->tok, 1, s->cur - s->tok, stdout); } int scan(FILE *fp) { int res = 0; int nlcomment = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; /*!re2c re2c:indent:top = 2; NL = "\r"? "\n" ; WS = [\r\n\t ] ; ANY = [^] ; "/" "/" { goto cppcomment; } NL / "/""*" { echo(&s); nlcomment = 1; continue; } "/" "*" { goto comment; } ANY { fputc(*s.tok, stdout); continue; } */ comment: s.tok = s.cur; /*!re2c "*" "/" { goto commentws; } ANY { goto comment; } */ commentws: s.tok = s.cur; /*!re2c NL? "/" "*" { goto comment; } NL { if (!nlcomment) { echo(&s); } nlcomment = 0; continue; } WS { goto commentws; } ANY { echo(&s); nlcomment = 0; continue; } */ cppcomment: s.tok = s.cur; /*!re2c NL { echo(&s); continue; } ANY { goto cppcomment; } */ } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.16/examples/002_strip_comments/strip_002.s.re0000644000175000017500000000707112624147602017005 00000000000000/* re2c lesson 002_strip_comments, strip_002.s, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - complexity . When a comment is preceeded by a new line and followed by whitespace and a new line then we can drop the trailing whitespace and new line. . Additional to what we strip out already what about two consequtive comment blocks? When two comments are only separated by whitespace we want to drop both. In other words when detecting the end of a comment block we need to check whether it is followed by only whitespace and the a new comment in which case we continure ignoring the input. If it is followed only by white space and a new line we strip out the new white space and new line. In any other case we start outputting all that follows. But we cannot simply use the following two rules: "*" "/" WS* "/" "*" { continue; } "*" "/" WS* NL { continue; } The main problem is that WS* can get bigger then our buffer, so we need a new scanner. . Meanwhile our scanner gets a bit more complex and we have to add two more things. First the scanner code now uses a YYMARKER to store backtracking information. - backtracking information . When the scanner has two rules that can have the same beginning but a different ending then it needs to store the position that identifies the common part. This is called backtracking. As mentioned above re2c expects you to provide compiler define YYMARKER and a pointer variable. . When shifting buffer contents as done in our fill function the marker needs to be corrected, too. */ #include #include #include /*!max:re2c */ #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.mrk #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof, *mrk; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->mrk = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; s->mrk -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void echo(Scanner *s) { fwrite(s->tok, 1, s->cur - s->tok, stdout); } int scan(FILE *fp) { int res = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; /*!re2c re2c:indent:top = 2; NL = "\r"? "\n" ; WS = [\r\n\t ] ; ANY = [^] ; "/" "/" { goto cppcomment; } "/" "*" { goto comment; } ANY { fputc(*s.tok, stdout); continue; } */ comment: s.tok = s.cur; /*!re2c "*" "/" { goto commentws; } ANY { goto comment; } */ commentws: s.tok = s.cur; /*!re2c NL { echo(&s); continue; } WS { goto commentws; } ANY { echo(&s); continue; } */ cppcomment: s.tok = s.cur; /*!re2c NL { echo(&s); continue; } ANY { goto cppcomment; } */ } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.16/examples/002_strip_comments/strip_001.s.re0000644000175000017500000000701412624147602017001 00000000000000/* re2c lesson 002_strip_comments, strip_001.s, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - basic interface for file reading . This scanner will read chunks of input from a file. The easiest way would be to read the whole file into a memory buffer and use that a zero terminated string. . Instead we want to read input chunks of a reasonable size as they are neede by the scanner. Thus we basically need YYFILL(n) to call fread(n). . Before we provide a buffer that we constantly reallocate we instead use one buffer that we get from the stack or global memory just once. When we reach the end of the buffer we simply move the beginning of our input that is somewhere in our buffer to the beginning of our buffer and then append the next chunk of input to the correct end inside our buffer. . As re2c scanners might read more than one character we need to ensure our buffer is long enough. We can use re2c to inform about the maximum size by placing a "!max:re2c" comment somewhere. This gets translated to a "#define YYMAXFILL " line where is the maximum length value. This define can be used as precompiler condition. - multiple scanner blocks . We use a main scanner block that outputs every input character unless the input is two /s or a / followed by a *. In the latter two cases we switch to a special c++ comment and a comment block respectively. . Both special blocks simply detect their end ignore any other character. . The c++ block is a bit special. Since the terminating new line needs to be output and that can either be a new line or a carridge return followed by a new line. . In order to ensure that we do not read behind our buffer we reset the token pointer to the cursor on every scanner run. */ #include #include #include /*!max:re2c */ #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } int scan(FILE *fp) { int res = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; /*!re2c re2c:indent:top = 2; NL = "\r"? "\n" ; ANY = [^] ; "/" "/" { goto cppcomment; } "/" "*" { goto comment; } ANY { fputc(*s.tok, stdout); continue; } */ comment: s.tok = s.cur; /*!re2c "*" "/" { continue; } ANY { goto comment; } */ cppcomment: s.tok = s.cur; /*!re2c NL { fwrite(s.tok, 1, s.cur - s.tok, stdout); continue; } ANY { goto cppcomment; } */ } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.16/examples/002_strip_comments/README0000644000175000017500000000126412624147602015350 00000000000000re2c lesson 002_strip_comments, (c) M. Boerger 2006 In this lesson you will learn how to use multiple scanner blocks and how to read the input from a file instead of a zero terminated string. In the end you will have a scanner that filters comments out of c source files but keeps re2c comments. The first scanner can be generated with: re2c -s -o t.c strip_001.s.re In the second step we will learn about YYMARKER that stores backtracking information. re2c -s -0 t.c strip_002.b.re The third step brings trailing contexts that are stored in YYCTXMARKER. We also change to use -b instead of -s option since the scanner gets more and more complex. re2c -b -0 t.c strip_002.b.re re2c-0.16/examples/langs/0000755000175000017500000000000012624147602012222 500000000000000re2c-0.16/examples/langs/c.re0000644000175000017500000001244312624147602012720 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof) { uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } "auto" { RET(AUTO); } "break" { RET(BREAK); } "case" { RET(CASE); } "char" { RET(CHAR); } "const" { RET(CONST); } "continue" { RET(CONTINUE); } "default" { RET(DEFAULT); } "do" { RET(DO); } "double" { RET(DOUBLE); } "else" { RET(ELSE); } "enum" { RET(ENUM); } "extern" { RET(EXTERN); } "float" { RET(FLOAT); } "for" { RET(FOR); } "goto" { RET(GOTO); } "if" { RET(IF); } "int" { RET(INT); } "long" { RET(LONG); } "register" { RET(REGISTER); } "return" { RET(RETURN); } "short" { RET(SHORT); } "signed" { RET(SIGNED); } "sizeof" { RET(SIZEOF); } "static" { RET(STATIC); } "struct" { RET(STRUCT); } "switch" { RET(SWITCH); } "typedef" { RET(TYPEDEF); } "union" { RET(UNION); } "unsigned" { RET(UNSIGNED); } "void" { RET(VOID); } "volatile" { RET(VOLATILE); } "while" { RET(WHILE); } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.16/examples/langs/rexx.re0000644000175000017500000001256312624147602013467 00000000000000#include "scanio.h" #include "scanner.h" #define CURSOR ch #define LOADCURSOR ch = *cursor; #define ADVANCE cursor++; #define BACK(n) cursor -= (n); #define CHECK(n) if((ScanCB.lim - cursor) < (n)){cursor = ScanFill(cursor);} #define MARK(n) ScanCB.ptr = cursor; sel = (n); #define REVERT cursor = ScanCB.ptr; #define MARKER sel #define RETURN(i) {ScanCB.cur = cursor; return i;} int ScanToken(){ uchar *cursor = ScanCB.cur; unsigned sel; uchar ch; ScanCB.tok = cursor; ScanCB.eot = NULL; /*!re2c all = [\000-\377]; eof = [\000]; any = all\eof; letter = [a-z]|[A-Z]; digit = [0-9]; symchr = letter|digit|[.!?_]; const = (digit|[.])symchr*([eE][+-]?digit+)?; simple = (symchr\(digit|[.]))(symchr\[.])*; stem = simple [.]; symbol = symchr*; sqstr = ['] ((any\['\n])|(['][']))* [']; dqstr = ["] ((any\["\n])|(["]["]))* ["]; str = sqstr|dqstr; ob = [ \t]*; not = [\\~]; A = [aA]; B = [bB]; C = [cC]; D = [dD]; E = [eE]; F = [fF]; G = [gG]; H = [hH]; I = [iI]; J = [jJ]; K = [kK]; L = [lL]; M = [mM]; N = [nN]; O = [oO]; P = [pP]; Q = [qQ]; R = [rR]; S = [sS]; T = [tT]; U = [uU]; V = [vV]; W = [wW]; X = [xX]; Y = [yY]; Z = [zZ]; */ scan: /*!re2c "\n" { ++(ScanCB.lineNum); ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk); RETURN(SU_EOL); } "|" ob "|" { RETURN(OP_CONCAT); } "+" { RETURN(OP_PLUS); } "-" { RETURN(OP_MINUS); } "*" { RETURN(OP_MULT); } "/" { RETURN(OP_DIV); } "%" { RETURN(OP_IDIV); } "/" ob "/" { RETURN(OP_REMAIN); } "*" ob "*" { RETURN(OP_POWER); } "=" { RETURN(OP_EQUAL); } not ob "=" | "<" ob ">" | ">" ob "<" { RETURN(OP_EQUAL_N); } ">" { RETURN(OP_GT); } "<" { RETURN(OP_LT); } ">" ob "=" | not ob "<" { RETURN(OP_GE); } "<" ob "=" | not ob ">" { RETURN(OP_LE); } "=" ob "=" { RETURN(OP_EQUAL_EQ); } not ob "=" ob "=" { RETURN(OP_EQUAL_EQ_N); } ">" ob ">" { RETURN(OP_GT_STRICT); } "<" ob "<" { RETURN(OP_LT_STRICT); } ">" ob ">" ob "=" | not ob "<" ob "<" { RETURN(OP_GE_STRICT); } "<" ob "<" ob "=" | not ob ">" ob ">" { RETURN(OP_LE_STRICT); } "&" { RETURN(OP_AND); } "|" { RETURN(OP_OR); } "&" ob "&" { RETURN(OP_XOR); } not { RETURN(OP_NOT); } ":" { RETURN(SU_COLON); } "," { RETURN(SU_COMMA); } "(" { RETURN(SU_POPEN); } ")" { RETURN(SU_PCLOSE); } ";" { RETURN(SU_EOC); } A D D R E S S { RETURN(RX_ADDRESS); } A R G { RETURN(RX_ARG); } C A L L { RETURN(RX_CALL); } D O { RETURN(RX_DO); } D R O P { RETURN(RX_DROP); } E L S E { RETURN(RX_ELSE); } E N D { RETURN(RX_END); } E X I T { RETURN(RX_EXIT); } I F { RETURN(RX_IF); } I N T E R P R E T { RETURN(RX_INTERPRET); } I T E R A T E { RETURN(RX_ITERATE); } L E A V E { RETURN(RX_LEAVE); } N O P { RETURN(RX_NOP); } N U M E R I C { RETURN(RX_NUMERIC); } O P T I O N S { RETURN(RX_OPTIONS); } O T H E R W I S E { RETURN(RX_OTHERWISE); } P A R S E { RETURN(RX_PARSE); } P R O C E D U R E { RETURN(RX_PROCEDURE); } P U L L { RETURN(RX_PULL); } P U S H { RETURN(RX_PUSH); } Q U E U E { RETURN(RX_QUEUE); } R E T U R N { RETURN(RX_RETURN); } S A Y { RETURN(RX_SAY); } S E L E C T { RETURN(RX_SELECT); } S I G N A L { RETURN(RX_SIGNAL); } T H E N { RETURN(RX_THEN); } T R A C E { RETURN(RX_TRACE); } W H E N { RETURN(RX_WHEN); } O F F { RETURN(RXS_OFF); } O N { RETURN(RXS_ON); } B Y { RETURN(RXS_BY); } D I G I T S { RETURN(RXS_DIGITS); } E N G I N E E R I N G { RETURN(RXS_ENGINEERING); } E R R O R { RETURN(RXS_ERROR); } E X P O S E { RETURN(RXS_EXPOSE); } F A I L U R E { RETURN(RXS_FAILURE); } F O R { RETURN(RXS_FOR); } F O R E V E R { RETURN(RXS_FOREVER); } F O R M { RETURN(RXS_FORM); } F U Z Z { RETURN(RXS_FUZZ); } H A L T { RETURN(RXS_HALT); } L I N E I N { RETURN(RXS_LINEIN); } N A M E { RETURN(RXS_NAME); } N O T R E A D Y { RETURN(RXS_NOTREADY); } N O V A L U E { RETURN(RXS_NOVALUE); } S C I E N T I F I C { RETURN(RXS_SCIENTIFIC); } S O U R C E { RETURN(RXS_SOURCE); } S Y N T A X { RETURN(RXS_SYNTAX); } T O { RETURN(RXS_TO); } U N T I L { RETURN(RXS_UNTIL); } U P P E R { RETURN(RXS_UPPER); } V A L U E { RETURN(RXS_VALUE); } V A R { RETURN(RXS_VAR); } V E R S I O N { RETURN(RXS_VERSION); } W H I L E { RETURN(RXS_WHILE); } W I T H { RETURN(RXS_WITH); } const { RETURN(SU_CONST); } simple { RETURN(SU_SYMBOL); } stem { RETURN(SU_SYMBOL_STEM); } symbol { RETURN(SU_SYMBOL_COMPOUND); } str { RETURN(SU_LITERAL); } str [bB] / (all\symchr) { RETURN(SU_LITERAL_BIN); } str [xX] / (all\symchr) { RETURN(SU_LITERAL_HEX); } eof { RETURN(SU_EOF); } any { RETURN(SU_ERROR); } */ } bool StripToken(){ uchar *cursor = ScanCB.cur; unsigned depth; uchar ch; bool blanks = FALSE; ScanCB.eot = cursor; strip: /*!re2c "/*" { depth = 1; goto comment; } "\r" { goto strip; } [ \t] { blanks = TRUE; goto strip; } [] / all { RETURN(blanks); } */ comment: /*!re2c "*/" { if(--depth == 0) goto strip; else goto comment; } "\n" { ++(ScanCB.lineNum); ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk); goto comment; } "/*" { ++depth; goto comment; } eof { RETURN(blanks); } any { goto comment; } */ } re2c-0.16/examples/langs/modula.re0000644000175000017500000001141112624147602013751 00000000000000#include #include #include typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYCTXMARKER s->ctx #define YYFILL {cursor = fill(s, cursor);} #define RETURN(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *ctx, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; uint depth; std: s->tok = cursor; /*!re2c any = [\000-\377]; digit = [0-9]; letter = [a-zA-Z]; */ /*!re2c "(*" { depth = 1; goto comment; } digit + {RETURN(1);} digit + / ".." {RETURN(1);} [0-7] + "B" {RETURN(2);} [0-7] + "C" {RETURN(3);} digit [0-9A-F] * "H" {RETURN(4);} digit + "." digit * ("E" ([+-]) ? digit +) ? {RETURN(5);} ['] (any\[\n']) * ['] | ["] (any\[\n"]) * ["] {RETURN(6);} "#" {RETURN(7);} "&" {RETURN(8);} "(" {RETURN(9);} ")" {RETURN(10);} "*" {RETURN(11);} "+" {RETURN(12);} "," {RETURN(13);} "-" {RETURN(14);} "." {RETURN(15);} ".." {RETURN(16);} "/" {RETURN(17);} ":" {RETURN(18);} ":=" {RETURN(19);} ";" {RETURN(20);} "<" {RETURN(21);} "<=" {RETURN(22);} "<>" {RETURN(23);} "=" {RETURN(24);} ">" {RETURN(25);} ">=" {RETURN(26);} "[" {RETURN(27);} "]" {RETURN(28);} "^" {RETURN(29);} "{" {RETURN(30);} "|" {RETURN(31);} "}" {RETURN(32);} "~" {RETURN(33);} "AND" {RETURN(34);} "ARRAY" {RETURN(35);} "BEGIN" {RETURN(36);} "BY" {RETURN(37);} "CASE" {RETURN(38);} "CONST" {RETURN(39);} "DEFINITION" {RETURN(40);} "DIV" {RETURN(41);} "DO" {RETURN(42);} "ELSE" {RETURN(43);} "ELSIF" {RETURN(44);} "END" {RETURN(45);} "EXIT" {RETURN(46);} "EXPORT" {RETURN(47);} "FOR" {RETURN(48);} "FROM" {RETURN(49);} "IF" {RETURN(50);} "IMPLEMENTATION" {RETURN(51);} "IMPORT" {RETURN(52);} "IN" {RETURN(53);} "LOOP" {RETURN(54);} "MOD" {RETURN(55);} "MODULE" {RETURN(56);} "NOT" {RETURN(57);} "OF" {RETURN(58);} "OR" {RETURN(59);} "POINTER" {RETURN(60);} "PROCEDURE" {RETURN(61);} "QUALIFIED" {RETURN(62);} "RECORD" {RETURN(63);} "REPEAT" {RETURN(64);} "RETURN" {RETURN(65);} "SET" {RETURN(66);} "THEN" {RETURN(67);} "TO" {RETURN(68);} "TYPE" {RETURN(69);} "UNTIL" {RETURN(70);} "VAR" {RETURN(71);} "WHILE" {RETURN(72);} "WITH" {RETURN(73);} letter (letter | digit) * {RETURN(74);} [ \t]+ { goto std; } "\n" { if(cursor == s->eof) RETURN(0); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*)" { if(--depth == 0) goto std; else goto comment; } "(*" { ++depth; goto comment; } "\n" { if(cursor == s->eof) RETURN(0); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } /* void putStr(FILE *o, char *s, uint l){ while(l-- > 0) putc(*s++, o); } */ main(){ Scanner in; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while(scan(&in)){ /* putc('<', stdout); putStr(stdout, (char*) in.tok, in.cur - in.tok); putc('>', stdout); putc('\n', stdout); */ } } re2c-0.16/NO_WARRANTY0000644000175000017500000000021612617126113011001 00000000000000re2c is distributed with no warranty whatever. The author and any other contributors take no responsibility for the consequences of its use. re2c-0.16/Makefile.am0000644000175000017500000001514012650133301011243 00000000000000# flags # do *not* add CXXFLAGS here, add them in configure.ac AM_CXXFLAGS = $(CXXFLAGSDEFAULT) RE2CFLAGS = -b # binary bin_PROGRAMS = re2c RE2C = re2c$(EXEEXT) # sources SRC_HDR = \ src/codegen/bitmap.h \ src/codegen/emit.h \ src/codegen/go.h \ src/codegen/indent.h \ src/codegen/input_api.h \ src/codegen/label.h \ src/codegen/output.h \ src/codegen/print.h \ src/conf/msg.h \ src/conf/opt.h \ src/conf/warn.h \ src/ir/adfa/action.h \ src/ir/adfa/adfa.h \ src/ir/dfa/dfa.h \ src/ir/nfa/nfa.h \ src/ir/regexp/encoding/case.h \ src/ir/regexp/encoding/enc.h \ src/ir/regexp/encoding/range_suffix.h \ src/ir/regexp/encoding/utf8/utf8.h \ src/ir/regexp/encoding/utf8/utf8_regexp.h \ src/ir/regexp/encoding/utf8/utf8_range.h \ src/ir/regexp/encoding/utf16/utf16_range.h \ src/ir/regexp/encoding/utf16/utf16_regexp.h \ src/ir/regexp/encoding/utf16/utf16.h \ src/ir/regexp/empty_class_policy.h \ src/ir/regexp/regexp_alt.h \ src/ir/regexp/regexp_match.h \ src/ir/regexp/regexp_rule.h \ src/ir/regexp/regexp_cat.h \ src/ir/regexp/regexp_null.h \ src/ir/regexp/regexp.h \ src/ir/regexp/regexp_close.h \ src/ir/compile.h \ src/ir/rule_rank.h \ src/ir/skeleton/path.h \ src/ir/skeleton/way.h \ src/ir/skeleton/skeleton.h \ src/globals.h \ src/parse/code.h \ src/parse/extop.h \ src/parse/input.h \ src/parse/loc.h \ src/parse/parser.h \ src/parse/rules.h \ src/parse/scanner.h \ src/parse/spec.h \ src/parse/unescape.h \ src/util/allocate.h \ src/util/attribute.h \ src/util/c99_stdint.h \ src/util/counter.h \ src/util/forbid_copy.h \ src/util/free_list.h \ src/util/local_increment.h \ src/util/ord_hash_set.h \ src/util/range.h \ src/util/s_to_n32_unsafe.h \ src/util/smart_ptr.h \ src/util/static_assert.h \ src/util/u32lim.h \ src/util/uniq_vector.h SRC = \ src/codegen/bitmap.cc \ src/codegen/emit_action.cc \ src/codegen/emit_dfa.cc \ src/codegen/label.cc \ src/codegen/go_construct.cc \ src/codegen/go_destruct.cc \ src/codegen/go_emit.cc \ src/codegen/go_used_labels.cc \ src/codegen/input_api.cc \ src/codegen/output.cc \ src/codegen/print.cc \ src/conf/msg.cc \ src/conf/opt.cc \ src/conf/warn.cc \ src/ir/nfa/calc_size.cc \ src/ir/nfa/nfa.cc \ src/ir/nfa/split.cc \ src/ir/adfa/adfa.cc \ src/ir/adfa/prepare.cc \ src/ir/dfa/determinization.cc \ src/ir/dfa/fillpoints.cc \ src/ir/dfa/minimization.cc \ src/ir/regexp/display.cc \ src/ir/regexp/encoding/enc.cc \ src/ir/regexp/encoding/range_suffix.cc \ src/ir/regexp/encoding/utf8/utf8_regexp.cc \ src/ir/regexp/encoding/utf8/utf8_range.cc \ src/ir/regexp/encoding/utf8/utf8.cc \ src/ir/regexp/encoding/utf16/utf16_regexp.cc \ src/ir/regexp/encoding/utf16/utf16.cc \ src/ir/regexp/encoding/utf16/utf16_range.cc \ src/ir/regexp/fixed_length.cc \ src/ir/regexp/regexp.cc \ src/ir/compile.cc \ src/ir/rule_rank.cc \ src/ir/skeleton/control_flow.cc \ src/ir/skeleton/generate_code.cc \ src/ir/skeleton/generate_data.cc \ src/ir/skeleton/match_empty.cc \ src/ir/skeleton/maxlen.cc \ src/ir/skeleton/skeleton.cc \ src/ir/skeleton/unreachable.cc \ src/ir/skeleton/way.cc \ src/main.cc \ src/parse/code.cc \ src/parse/input.cc \ src/parse/scanner.cc \ src/parse/unescape.cc \ src/util/s_to_n32_unsafe.cc \ src/util/range.cc re2c_SOURCES = \ $(SRC_HDR) \ $(SRC) # autogenerated sources AUTOGEN_LEX = src/parse/lex.cc AUTOGEN_LEX_CONF = src/parse/lex_conf.cc AUTOGEN_PARSEOPT = src/conf/parse_opts.cc AUTOGEN_PARSER = src/parse/parser.cc AUTOGEN_PARSER_HDR = src/parse/y.tab.h AUTOGEN = \ $(AUTOGEN_LEX) \ $(AUTOGEN_LEX_CONF) \ $(AUTOGEN_PARSER) \ $(AUTOGEN_PARSER_HDR) \ $(AUTOGEN_PARSEOPT) nodist_re2c_SOURCES = $(AUTOGEN) # bootstrap sources BOOTSTRAP_LEX = bootstrap/src/parse/lex.cc BOOTSTRAP_LEX_CONF = bootstrap/src/parse/lex_conf.cc BOOTSTRAP_PARSEOPT = bootstrap/src/conf/parse_opts.cc BOOTSTRAP_PARSER = bootstrap/src/parse/parser.cc BOOTSTRAP_PARSER_HDR = bootstrap/src/parse/y.tab.h BOOTSTRAP_DOC = bootstrap/doc/re2c.1 BOOTSTRAP = \ $(BOOTSTRAP_LEX) \ $(BOOTSTRAP_LEX_CONF) \ $(BOOTSTRAP_DOC) \ $(BOOTSTRAP_PARSER) \ $(BOOTSTRAP_PARSER_HDR) \ $(BOOTSTRAP_PARSEOPT) # custom sources CUSTOM_LEX = src/parse/lex.re CUSTOM_LEX_CONF = src/parse/lex_conf.re CUSTOM_PARSEOPT = src/conf/parse_opts.re CUSTOM_PARSER = src/parse/parser.ypp CUSTOM = \ $(CUSTOM_LEX) \ $(CUSTOM_LEX_CONF) \ $(CUSTOM_PARSER) \ $(CUSTOM_PARSEOPT) # docs SRC_DOC = doc/manpage.rst DOC = doc/re2c.1 man_MANS = $(DOC) EXTRA_DIST = \ $(BOOTSTRAP) \ $(CUSTOM) \ CHANGELOG \ NO_WARRANTY \ README \ autogen.sh \ doc/loplas.ps \ doc/sample.bib \ examples \ test CLEANFILES = \ $(AUTOGEN) \ $(DOC) $(AUTOGEN_PARSER): $(CUSTOM_PARSER) $(AM_V_GEN) if test $(BISON) = "no"; \ then \ cp $(top_srcdir)/$(BOOTSTRAP_PARSER) $@ && \ cp $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) $(AUTOGEN_PARSER_HDR); \ else \ $(BISON) \ --output=$@ \ --defines=$(AUTOGEN_PARSER_HDR) \ $(top_srcdir)/$(CUSTOM_PARSER); \ fi # lexer depends on bison-generated header # so bison rule must be triggered before lexer rule $(AUTOGEN_LEX): $(AUTOGEN_PARSER) $(BOOTSTRAP_PARSER): $(CUSTOM_PARSER) $(AM_V_GEN) test $(BISON) = "no" || \ $(BISON) \ --output=$(top_srcdir)/$@ \ --defines=$(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) \ --no-lines \ $(top_srcdir)/$(CUSTOM_PARSER); .re.cc: $(AM_V_GEN) if test -x $(RE2C); \ then \ $(top_builddir)/$(RE2C) $(RE2CFLAGS) -o $@ $< && \ cp $@ $(top_srcdir)/bootstrap/$@; \ else \ cp $(top_srcdir)/bootstrap/$@ $@; \ fi # rebuild all re2c sources using newly built re2c .PHONY: bootstrap bootstrap: all rm $(top_builddir)/$(AUTOGEN_LEX) rm $(top_builddir)/$(AUTOGEN_LEX_CONF) rm $(top_builddir)/$(AUTOGEN_PARSEOPT) $(MAKE) all .PHONY: docs if REBUILD_DOCS docs: $(DOC) $(DOC): $(SRC_DOC) rst2man.py $(top_builddir)/$(SRC_DOC) > $@ cp $@ $(top_srcdir)/$(BOOTSTRAP_DOC) else docs: $(DOC) @echo "Reconfigure to rebuild docs: ./configure --enable-docs" $(DOC): $(BOOTSTRAP_DOC) cp $(top_srcdir)/$(BOOTSTRAP_DOC) $@ endif all-local: docs $(BOOTSTRAP_PARSER) # tests TST_SUITE = run_tests.sh .PHONY: tests tests: all $(TST_SUITE) $(top_builddir)/$(TST_SUITE) .PHONY: vtests vtests: all $(TST_SUITE) $(top_builddir)/$(TST_SUITE) --valgrind .PHONY: wtests wtests: all $(TST_SUITE) $(top_builddir)/$(TST_SUITE) --wine -j1 TST_RANGE = testrange testrange_SOURCES = \ src/test/range/test-impl.h \ src/test/range/test.cc \ src/test/range/test.h \ src/util/range.cc\ src/util/range.h \ src/util/static_assert.h TST_S_TO_N32_UNSAFE = testston32unsafe testston32unsafe_SOURCES = \ src/test/s_to_n32_unsafe/test.cc \ src/util/s_to_n32_unsafe.cc check_PROGRAMS = \ $(TST_RANGE) \ $(TST_S_TO_N32_UNSAFE) TESTS = $(TST_SUITE) $(check_PROGRAMS) re2c-0.16/depcomp0000755000175000017500000005601612650133376010607 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: re2c-0.16/bootstrap/0000755000175000017500000000000012650133525011313 500000000000000re2c-0.16/bootstrap/doc/0000755000175000017500000000000012650133526012061 500000000000000re2c-0.16/bootstrap/doc/re2c.10000644000175000017500000012240512650133517012722 00000000000000.\" Man page generated from reStructuredText. . .TH RE2C 1 "" "" "" .SH NAME re2c \- convert regular expressions to C/C++ code . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SH SYNOPSIS .sp \fBre2c [OPTIONS] FILE\fP .SH DESCRIPTION .sp \fBre2c\fP is a lexer generator for C/C++. It finds regular expression specifications inside of C/C++ comments and replaces them with a hard\-coded DFA. The user must supply some interface code in order to control and customize the generated DFA. .SH OPTIONS .INDENT 0.0 .TP .B \fB\-? \-h \-\-help\fP Invoke a short help. .TP .B \fB\-b \-\-bit\-vectors\fP Implies \fB\-s\fP\&. Use bit vectors as well in the attempt to coax better code out of the compiler. Most useful for specifications with more than a few keywords (e.g. for most programming languages). .TP .B \fB\-c \-\-conditions\fP Used to support (f)lex\-like condition support. .TP .B \fB\-d \-\-debug\-output\fP Creates a parser that dumps information about the current position and in which state the parser is while parsing the input. This is useful to debug parser issues and states. If you use this switch you need to define a macro \fBYYDEBUG\fP that is called like a function with two parameters: \fBvoid YYDEBUG (int state, char current)\fP\&. The first parameter receives the state or \fB\-1\fP and the second parameter receives the input at the current cursor. .TP .B \fB\-D \-\-emit\-dot\fP Emit Graphviz dot data. It can then be processed with e.g. \fBdot \-Tpng input.dot > output.png\fP\&. Please note that scanners with many states may crash dot. .TP .B \fB\-e \-\-ecb\fP Generate a parser that supports EBCDIC. The generated code can deal with any character up to 0xFF. In this mode \fBre2c\fP assumes that input character size is 1 byte. This switch is incompatible with \fB\-w\fP, \fB\-x\fP, \fB\-u\fP and \fB\-8\fP\&. .TP .B \fB\-f \-\-storable\-state\fP Generate a scanner with support for storable state. .TP .B \fB\-F \-\-flex\-syntax\fP Partial support for flex syntax. When this flag is active then named definitions must be surrounded by curly braces and can be defined without an equal sign and the terminating semi colon. Instead names are treated as direct double quoted strings. .TP .B \fB\-g \-\-computed\-gotos\fP Generate a scanner that utilizes GCC\(aqs computed goto feature. That is \fBre2c\fP generates jump tables whenever a decision is of a certain complexity (e.g. a lot of if conditions are otherwise necessary). This is only useable with GCC and produces output that cannot be compiled with any other compiler. Note that this implies \fB\-b\fP and that the complexity threshold can be configured using the inplace configuration \fBcgoto:threshold\fP\&. .TP .B \fB\-i \-\-no\-debug\-info\fP Do not output \fB#line\fP information. This is useful when you want use a CMS tool with the \fBre2c\fP output which you might want if you do not require your users to have \fBre2c\fP themselves when building from your source. .TP .B \fB\-o OUTPUT \-\-output=OUTPUT\fP Specify the \fBOUTPUT\fP file. .TP .B \fB\-r \-\-reusable\fP Allows reuse of scanner definitions with \fB/*!use:re2c */\fP after \fB/*!rules:re2c */\fP\&. In this mode no \fB/*!re2c */\fP block and exactly one \fB/*!rules:re2c */\fP must be present. The rules are being saved and used by every \fB/*!use:re2c */\fP block that follows. These blocks can contain inplace configurations, especially \fBre2c:flags:e\fP, \fBre2c:flags:w\fP, \fBre2c:flags:x\fP, \fBre2c:flags:u\fP and \fBre2c:flags:8\fP\&. That way it is possible to create the same scanner multiple times for different character types, different input mechanisms or different output mechanisms. The \fB/*!use:re2c */\fP blocks can also contain additional rules that will be appended to the set of rules in \fB/*!rules:re2c */\fP\&. .TP .B \fB\-s \-\-nested\-ifs\fP Generate nested ifs for some switches. Many compilers need this assist to generate better code. .TP .B \fB\-t HEADER \-\-type\-header=HEADER\fP Create a \fBHEADER\fP file that contains types for the (f)lex\-like condition support. This can only be activated when \fB\-c\fP is in use. .TP .B \fB\-u \-\-unicode\fP Generate a parser that supports UTF\-32. The generated code can deal with any valid Unicode character up to 0x10FFFF. In this mode \fBre2c\fP assumes that input character size is 4 bytes. This switch is incompatible with \fB\-e\fP, \fB\-w\fP, \fB\-x\fP and \fB\-8\fP\&. This implies \fB\-s\fP\&. .TP .B \fB\-v \-\-version\fP Show version information. .TP .B \fB\-V \-\-vernum\fP Show the version as a number XXYYZZ. .TP .B \fB\-w \-\-wide\-chars\fP Generate a parser that supports UCS\-2. The generated code can deal with any valid Unicode character up to 0xFFFF. In this mode \fBre2c\fP assumes that input character size is 2 bytes. This switch is incompatible with \fB\-e\fP, \fB\-x\fP, \fB\-u\fP and \fB\-8\fP\&. This implies \fB\-s\fP\&. .TP .B \fB\-x \-\-utf\-16\fP Generate a parser that supports UTF\-16. The generated code can deal with any valid Unicode character up to 0x10FFFF. In this mode \fBre2c\fP assumes that input character size is 2 bytes. This switch is incompatible with \fB\-e\fP, \fB\-w\fP, \fB\-u\fP and \fB\-8\fP\&. This implies \fB\-s\fP\&. .TP .B \fB\-8 \-\-utf\-8\fP Generate a parser that supports UTF\-8. The generated code can deal with any valid Unicode character up to 0x10FFFF. In this mode \fBre2c\fP assumes that input character size is 1 byte. This switch is incompatible with \fB\-e\fP, \fB\-w\fP, \fB\-x\fP and \fB\-u\fP\&. .TP .B \fB\-\-case\-insensitive\fP All strings are case insensitive, so all "\-expressions are treated in the same way \(aq\-expressions are. .TP .B \fB\-\-case\-inverted\fP Invert the meaning of single and double quoted strings. With this switch single quotes are case sensitive and double quotes are case insensitive. .TP .B \fB\-\-no\-generation\-date\fP Suppress date output in the generated file. .TP .B \fB\-\-no\-generation\-date\fP Suppress version output in the generated file. .TP .B \fB\-\-encoding\-policy POLICY\fP Specify how \fBre2c\fP must treat Unicode surrogates. \fBPOLICY\fP can be one of the following: \fBfail\fP (abort with error when surrogate encountered), \fBsubstitute\fP (silently substitute surrogate with error code point 0xFFFD), \fBignore\fP (treat surrogates as normal code points). By default \fBre2c\fP ignores surrogates (for backward compatibility). Unicode standard says that standalone surrogates are invalid code points, but different libraries and programs treat them differently. .TP .B \fB\-\-input INPUT\fP Specify re2c input API. \fBINPUT\fP can be one of the following: \fBdefault\fP, \fBcustom\fP\&. .TP .B \fB\-S \-\-skeleton\fP Instead of embedding re2c\-generated code into C/C++ source, generate a self\-contained program for the same DFA. Most useful for correctness and performance testing. .TP .B \fB\-\-empty\-class POLICY\fP What to do if user inputs empty character class. \fBPOLICY\fP can be one of the following: \fBmatch\-empty\fP (match empty input: pretty illogical, but this is the default for backwards compatibility reason), \fBmatch\-none\fP (fail to match on any input), \fBerror\fP (compilation error). Note that there are various ways to construct empty class, e.g: [], [^\ex00\-\exFF], [\ex00\-\exFF][\ex00\-\exFF]. .TP .B \fB\-\-dfa\-minimization \fP Internal algorithm used by re2c to minimize DFA (defaults to \fBmoore\fP). Both table filling and Moore\(aqs algorithms should produce identical DFA (up to states relabelling). Table filling algorithm is much simpler and slower; it serves as a reference implementation. .TP .B \fB\-1 \-\-single\-pass\fP Deprecated and does nothing (single pass is by default now). .TP .B \fB\-W\fP Turn on all warnings. .TP .B \fB\-Werror\fP Turn warnings into errors. Note that this option along doesn\(aqt turn on any warnings, it only affects those warnings that have been turned on so far or will be turned on later. .TP .B \fB\-W\fP Turn on individual \fBwarning\fP\&. .TP .B \fB\-Wno\-\fP Turn off individual \fBwarning\fP\&. .TP .B \fB\-Werror\-\fP Turn on individual \fBwarning\fP and treat it as error (this implies \fB\-W\fP). .TP .B \fB\-Wno\-error\-\fP Don\(aqt treat this particular \fBwarning\fP as error. This doesn\(aqt turn off the warning itself. .TP .B \fB\-Wcondition\-order\fP Warn if the generated program makes implicit assumptions about condition numbering. One should use either \fB\-t, \-\-type\-header\fP option or \fB/*!types:re2c*/\fP directive to generate mapping of condition names to numbers and use autogenerated condition names. .TP .B \fB\-Wempty\-character\-class\fP Warn if regular expression contains empty character class. From the rational point of view trying to match empty character class makes no sense: it should always fail. However, for backwards compatibility reasons \fBre2c\fP allows empty character class and treats it as empty string. Use \fB\-\-empty\-class\fP option to change default behaviour. .TP .B \fB\-Wmatch\-empty\-string\fP Warn if regular expression in a rule is nullable (matches empty string). If DFA runs in a loop and empty match is unintentional (input position in not advanced manually), lexer may get stuck in eternal loop. .TP .B \fB\-Wswapped\-range\fP Warn if range lower bound is greater that upper bound. Default \fBre2c\fP behaviour is to silently swap range bounds. .TP .B \fB\-Wundefined\-control\-flow\fP Warn if some input strings cause undefined control flow in lexer (the faulty patterns are reported). This is the most dangerous and common mistake. It can be easily fixed by adding default rule \fB*\fP (this rule has the lowest priority, matches any code unit and consumes exactly one code unit). .TP .B \fB\-Wuseless\-escape\fP Warn if a symbol is escaped when it shouldn\(aqt be. By default re2c silently ignores escape, but this may as well indicate a typo or an error in escape sequence. .UNINDENT .SH INTERFACE CODE .sp The user must supply interface code either in the form of C/C++ code (macros, functions, variables, etc.) or in the form of \fBINPLACE CONFIGURATIONS\fP\&. Which symbols must be defined and which are optional depends on a particular use case. .INDENT 0.0 .TP .B \fBYYCONDTYPE\fP In \fB\-c\fP mode you can use \fB\-t\fP to generate a file that contains the enumeration used as conditions. Each of the values refers to a condition of a rule set. .TP .B \fBYYCTXMARKER\fP l\-value of type \fBYYCTYPE *\fP\&. The generated code saves trailing context backtracking information in \fBYYCTXMARKER\fP\&. The user only needs to define this macro if a scanner specification uses trailing context in one or more of its regular expressions. .TP .B \fBYYCTYPE\fP Type used to hold an input symbol (code unit). Usually \fBchar\fP or \fBunsigned char\fP for ASCII, EBCDIC and UTF\-8, \fBunsigned short\fP for UTF\-16 or UCS\-2 and \fBunsigned int\fP for UTF\-32. .TP .B \fBYYCURSOR\fP l\-value of type \fBYYCTYPE *\fP that points to the current input symbol. The generated code advances \fBYYCURSOR\fP as symbols are matched. On entry, \fBYYCURSOR\fP is assumed to point to the first character of the current token. On exit, \fBYYCURSOR\fP will point to the first character of the following token. .TP .B \fBYYDEBUG (state, current)\fP This is only needed if the \fB\-d\fP flag was specified. It allows one to easily debug the generated parser by calling a user defined function for every state. The function should have the following signature: \fBvoid YYDEBUG (int state, char current)\fP\&. The first parameter receives the state or \-1 and the second parameter receives the input at the current cursor. .TP .B \fBYYFILL (n)\fP The generated code "calls"" \fBYYFILL (n)\fP when the buffer needs (re)filling: at least \fBn\fP additional characters should be provided. \fBYYFILL (n)\fP should adjust \fBYYCURSOR\fP, \fBYYLIMIT\fP, \fBYYMARKER\fP and \fBYYCTXMARKER\fP as needed. Note that for typical programming languages \fBn\fP will be the length of the longest keyword plus one. The user can place a comment of the form \fB/*!max:re2c*/\fP to insert \fBYYMAXFILL\fP definition that is set to the maximum length value. .TP .B \fBYYGETCONDITION ()\fP This define is used to get the condition prior to entering the scanner code when using \fB\-c\fP switch. The value must be initialized with a value from the enumeration \fBYYCONDTYPE\fP type. .TP .B \fBYYGETSTATE ()\fP The user only needs to define this macro if the \fB\-f\fP flag was specified. In that case, the generated code "calls" \fBYYGETSTATE ()\fP at the very beginning of the scanner in order to obtain the saved state. \fBYYGETSTATE ()\fP must return a signed integer. The value must be either \-1, indicating that the scanner is entered for the first time, or a value previously saved by \fBYYSETSTATE (s)\fP\&. In the second case, the scanner will resume operations right after where the last \fBYYFILL (n)\fP was called. .TP .B \fBYYLIMIT\fP Expression of type \fBYYCTYPE *\fP that marks the end of the buffer \fBYYLIMIT[\-1]\fP is the last character in the buffer). The generated code repeatedly compares \fBYYCURSOR\fP to \fBYYLIMIT\fP to determine when the buffer needs (re)filling. .TP .B \fBYYMARKER\fP l\-value of type \fBYYCTYPE *\fP\&. The generated code saves backtracking information in \fBYYMARKER\fP\&. Some easy scanners might not use this. .TP .B \fBYYMAXFILL\fP This will be automatically defined by \fB/*!max:re2c*/\fP blocks as explained above. .TP .B \fBYYSETCONDITION (c)\fP This define is used to set the condition in transition rules. This is only being used when \fB\-c\fP is active and transition rules are being used. .TP .B \fBYYSETSTATE (s)\fP The user only needs to define this macro if the \fB\-f\fP flag was specified. In that case, the generated code "calls" \fBYYSETSTATE\fP just before calling \fBYYFILL (n)\fP\&. The parameter to \fBYYSETSTATE\fP is a signed integer that uniquely identifies the specific instance of \fBYYFILL (n)\fP that is about to be called. Should the user wish to save the state of the scanner and have \fBYYFILL (n)\fP return to the caller, all he has to do is store that unique identifer in a variable. Later, when the scannered is called again, it will call \fBYYGETSTATE ()\fP and resume execution right where it left off. The generated code will contain both \fBYYSETSTATE (s)\fP and \fBYYGETSTATE\fP even if \fBYYFILL (n)\fP is being disabled. .UNINDENT .SH SYNTAX .sp Code for \fBre2c\fP consists of a set of \fBRULES\fP, \fBNAMED DEFINITIONS\fP and \fBINPLACE CONFIGURATIONS\fP\&. .SS RULES .sp Rules consist of a regular expression (see \fBREGULAR EXPRESSIONS\fP) along with a block of C/C++ code that is to be executed when the associated regular expression is matched. You can either start the code with an opening curly brace or the sequence \fB:=\fP\&. When the code with a curly brace then \fBre2c\fP counts the brace depth and stops looking for code automatically. Otherwise curly braces are not allowed and \fBre2c\fP stops looking for code at the first line that does not begin with whitespace. If two or more rules overlap, the first rule is preferred. .INDENT 0.0 .INDENT 3.5 \fBregular\-expression { C/C++ code }\fP .sp \fBregular\-expression := C/C++ code\fP .UNINDENT .UNINDENT .sp There is one special rule: default rule \fB*\fP .INDENT 0.0 .INDENT 3.5 \fB* { C/C++ code }\fP .sp \fB* := C/C++ code\fP .UNINDENT .UNINDENT .sp Note that default rule \fB*\fP differs from \fB[^]\fP: default rule has the lowest priority, matches any code unit (either valid or invalid) and always consumes one character; while \fB[^]\fP matches any valid code point (not code unit) and can consume multiple code units. In fact, when variable\-length encoding is used, \fB*\fP is the only possible way to match invalid input character (see \fBENCODINGS\fP for details). .sp If \fB\-c\fP is active then each regular expression is preceded by a list of comma separated condition names. Besides normal naming rules there are two special cases: \fB<*>\fP (such rules are merged to all conditions) and \fB<>\fP (such the rule cannot have an associated regular expression, its code is merged to all actions). Non empty rules may further more specify the new condition. In that case \fBre2c\fP will generate the necessary code to change the condition automatically. Rules can use \fB:=>\fP as a shortcut to automatically generate code that not only sets the new condition state but also continues execution with the new state. A shortcut rule should not be used in a loop where there is code between the start of the loop and the \fBre2c\fP block unless \fBre2c:cond:goto\fP is changed to \fBcontinue\fP\&. If code is necessary before all rules (though not simple jumps) you can doso by using \fB\fP pseudo\-rules. .INDENT 0.0 .INDENT 3.5 \fB regular\-expression { C/C++ code }\fP .sp \fB regular\-expression := C/C++ code\fP .sp \fB * { C/C++ code }\fP .sp \fB * := C/C++ code\fP .sp \fB regular\-expression => condition { C/C++ code }\fP .sp \fB regular\-expression => condition := C/C++ code\fP .sp \fB * => condition { C/C++ code }\fP .sp \fB * => condition := C/C++ code\fP .sp \fB regular\-expression :=> condition\fP .sp \fB<*> regular\-expression { C/C++ code }\fP .sp \fB<*> regular\-expression := C/C++ code\fP .sp \fB<*> * { C/C++ code }\fP .sp \fB<*> * := C/C++ code\fP .sp \fB<*> regular\-expression => condition { C/C++ code }\fP .sp \fB<*> regular\-expression => condition := C/C++ code\fP .sp \fB<*> * => condition { C/C++ code }\fP .sp \fB<*> * => condition := C/C++ code\fP .sp \fB<*> regular\-expression :=> condition\fP .sp \fB<> { C/C++ code }\fP .sp \fB<> := C/C++ code\fP .sp \fB<> => condition { C/C++ code }\fP .sp \fB<> => condition := C/C++ code\fP .sp \fB<> :=> condition\fP .sp \fB<> :=> condition\fP .sp \fB { C/C++ code }\fP .sp \fB := C/C++ code\fP .sp \fB { C/C++ code }\fP .sp \fB := C/C++ code\fP .UNINDENT .UNINDENT .SS NAMED DEFINITIONS .sp Named definitions are of the form: .INDENT 0.0 .INDENT 3.5 \fBname = regular\-expression;\fP .UNINDENT .UNINDENT .sp If \fB\-F\fP is active, then named definitions are also of the form: .INDENT 0.0 .INDENT 3.5 \fBname { regular\-expression }\fP .UNINDENT .UNINDENT .SS INPLACE CONFIGURATIONS .INDENT 0.0 .TP .B \fBre2c:condprefix = yyc;\fP Allows one to specify the prefix used for condition labels. That is this text is prepended to any condition label in the generated output file. .TP .B \fBre2c:condenumprefix = yyc;\fP Allows one to specify the prefix used for condition values. That is this text is prepended to any condition enum value in the generated output file. .TP .B \fBre2c:cond:divider = "/* *********************************** */";\fP Allows one to customize the devider for condition blocks. You can use \fB@@\fP to put the name of the condition or customize the placeholder using \fBre2c:cond:divider@cond\fP\&. .TP .B \fBre2c:cond:divider@cond = @@;\fP Specifies the placeholder that will be replaced with the condition name in \fBre2c:cond:divider\fP\&. .TP .B \fBre2c:cond:goto = "goto @@;";\fP Allows one to customize the condition goto statements used with \fB:=>\fP style rules. You can use \fB@@\fP to put the name of the condition or ustomize the placeholder using \fBre2c:cond:goto@cond\fP\&. You can also change this to \fBcontinue;\fP, which would allow you to continue with the next loop cycle including any code between loop start and re2c block. .TP .B \fBre2c:cond:goto@cond = @@;\fP Spcifies the placeholder that will be replaced with the condition label in \fBre2c:cond:goto\fP\&. .TP .B \fBre2c:indent:top = 0;\fP Specifies the minimum number of indentation to use. Requires a numeric value greater than or equal zero. .TP .B \fBre2c:indent:string = "\et";\fP Specifies the string to use for indentation. Requires a string that should contain only whitespace unless you need this for external tools. The easiest way to specify spaces is to enclude them in single or double quotes. If you do not want any indentation at all you can simply set this to "". .TP .B \fBre2c:yych:conversion = 0;\fP When this setting is non zero, then \fBre2c\fP automatically generates conversion code whenever yych gets read. In this case the type must be defined using \fBre2c:define:YYCTYPE\fP\&. .TP .B \fBre2c:yych:emit = 1;\fP Generation of \fByych\fP can be suppressed by setting this to 0. .TP .B \fBre2c:yybm:hex = 0;\fP If set to zero then a decimal table is being used else a hexadecimal table will be generated. .TP .B \fBre2c:yyfill:enable = 1;\fP Set this to zero to suppress generation of \fBYYFILL (n)\fP\&. When using this be sure to verify that the generated scanner does not read behind input. Allowing this behavior might introduce sever security issues to you programs. .TP .B \fBre2c:yyfill:check = 1;\fP This can be set 0 to suppress output of the pre condition using \fBYYCURSOR\fP and \fBYYLIMIT\fP which becomes useful when \fBYYLIMIT + YYMAXFILL\fP is always accessible. .TP .B \fBre2c:define:YYFILL = "YYFILL";\fP Substitution for \fBYYFILL\fP\&. Note that by default \fBre2c\fP generates argument in braces and semicolon after \fBYYFILL\fP\&. If you need to make \fBYYFILL\fP an arbitrary statement rather than a call, set \fBre2c:define:YYFILL:naked\fP to non\-zero and use \fBre2c:define:YYFILL@len\fP to denote formal parameter inside of \fBYYFILL\fP body. .TP .B \fBre2c:define:YYFILL@len = "@@";\fP Any occurrence of this text inside of \fBYYFILL\fP will be replaced with the actual argument. .TP .B \fBre2c:yyfill:parameter = 1;\fP Controls argument in braces after \fBYYFILL\fP\&. If zero, agrument is omitted. If non\-zero, argument is generated unless \fBre2c:define:YYFILL:naked\fP is set to non\-zero. .TP .B \fBre2c:define:YYFILL:naked = 0;\fP Controls argument in braces and semicolon after \fBYYFILL\fP\&. If zero, both agrument and semicolon are omitted. If non\-zero, argument is generated unless \fBre2c:yyfill:parameter\fP is set to zero and semicolon is generated unconditionally. .TP .B \fBre2c:startlabel = 0;\fP If set to a non zero integer then the start label of the next scanner blocks will be generated even if not used by the scanner itself. Otherwise the normal \fByy0\fP like start label is only being generated if needed. If set to a text value then a label with that text will be generated regardless of whether the normal start label is being used or not. This setting is being reset to 0 after a start label has been generated. .TP .B \fBre2c:labelprefix = "yy";\fP Allows one to change the prefix of numbered labels. The default is \fByy\fP and can be set any string that is a valid label. .TP .B \fBre2c:state:abort = 0;\fP When not zero and switch \fB\-f\fP is active then the \fBYYGETSTATE\fP block will contain a default case that aborts and a \-1 case is used for initialization. .TP .B \fBre2c:state:nextlabel = 0;\fP Used when \fB\-f\fP is active to control whether the \fBYYGETSTATE\fP block is followed by a \fByyNext:\fP label line. Instead of using \fByyNext\fP you can usually also use configuration \fBstartlabel\fP to force a specific start label or default to \fByy0\fP as start label. Instead of using a dedicated label it is often better to separate the \fBYYGETSTATE\fP code from the actual scanner code by placing a \fB/*!getstate:re2c*/\fP comment. .TP .B \fBre2c:cgoto:threshold = 9;\fP When \fB\-g\fP is active this value specifies the complexity threshold that triggers generation of jump tables rather than using nested if\(aqs and decision bitfields. The threshold is compared against a calculated estimation of if\-s needed where every used bitmap divides the threshold by 2. .TP .B \fBre2c:yych:conversion = 0;\fP When the input uses signed characters and \fB\-s\fP or \fB\-b\fP switches are in effect re2c allows one to automatically convert to the unsigned character type that is then necessary for its internal single character. When this setting is zero or an empty string the conversion is disabled. Using a non zero number the conversion is taken from \fBYYCTYPE\fP\&. If that is given by an inplace configuration that value is being used. Otherwise it will be \fB(YYCTYPE)\fP and changes to that configuration are no longer possible. When this setting is a string the braces must be specified. Now assuming your input is a \fBchar *\fP buffer and you are using above mentioned switches you can set \fBYYCTYPE\fP to \fBunsigned char\fP and this setting to either 1 or \fB(unsigned char)\fP\&. .TP .B \fBre2c:define:YYCONDTYPE = "YYCONDTYPE";\fP Enumeration used for condition support with \fB\-c\fP mode. .TP .B \fBre2c:define:YYCTXMARKER = "YYCTXMARKER";\fP Allows one to overwrite the define \fBYYCTXMARKER\fP and thus avoiding it by setting the value to the actual code needed. .TP .B \fBre2c:define:YYCTYPE = "YYCTYPE";\fP Allows one to overwrite the define \fBYYCTYPE\fP and thus avoiding it by setting the value to the actual code needed. .TP .B \fBre2c:define:YYCURSOR = "YYCURSOR";\fP Allows one to overwrite the define \fBYYCURSOR\fP and thus avoiding it by setting the value to the actual code needed. .TP .B \fBre2c:define:YYDEBUG = "YYDEBUG";\fP Allows one to overwrite the define \fBYYDEBUG\fP and thus avoiding it by setting the value to the actual code needed. .TP .B \fBre2c:define:YYGETCONDITION = "YYGETCONDITION";\fP Substitution for \fBYYGETCONDITION\fP\&. Note that by default \fBre2c\fP generates braces after \fBYYGETCONDITION\fP\&. Set \fBre2c:define:YYGETCONDITION:naked\fP to non\-zero to omit braces. .TP .B \fBre2c:define:YYGETCONDITION:naked = 0;\fP Controls braces after \fBYYGETCONDITION\fP\&. If zero, braces are omitted. If non\-zero, braces are generated. .TP .B \fBre2c:define:YYSETCONDITION = "YYSETCONDITION";\fP Substitution for \fBYYSETCONDITION\fP\&. Note that by default \fBre2c\fP generates argument in braces and semicolon after \fBYYSETCONDITION\fP\&. If you need to make \fBYYSETCONDITION\fP an arbitrary statement rather than a call, set \fBre2c:define:YYSETCONDITION:naked\fP to non\-zero and use \fBre2c:define:YYSETCONDITION@cond\fP to denote formal parameter inside of \fBYYSETCONDITION\fP body. .TP .B \fBre2c:define:YYSETCONDITION@cond = "@@";\fP Any occurrence of this text inside of \fBYYSETCONDITION\fP will be replaced with the actual argument. .TP .B \fBre2c:define:YYSETCONDITION:naked = 0;\fP Controls argument in braces and semicolon after \fBYYSETCONDITION\fP\&. If zero, both agrument and semicolon are omitted. If non\-zero, both argument and semicolon are generated. .TP .B \fBre2c:define:YYGETSTATE = "YYGETSTATE";\fP Substitution for \fBYYGETSTATE\fP\&. Note that by default \fBre2c\fP generates braces after \fBYYGETSTATE\fP\&. Set \fBre2c:define:YYGETSTATE:naked\fP to non\-zero to omit braces. .TP .B \fBre2c:define:YYGETSTATE:naked = 0;\fP Controls braces after \fBYYGETSTATE\fP\&. If zero, braces are omitted. If non\-zero, braces are generated. .TP .B \fBre2c:define:YYSETSTATE = "YYSETSTATE";\fP Substitution for \fBYYSETSTATE\fP\&. Note that by default \fBre2c\fP generates argument in braces and semicolon after \fBYYSETSTATE\fP\&. If you need to make \fBYYSETSTATE\fP an arbitrary statement rather than a call, set \fBre2c:define:YYSETSTATE:naked\fP to non\-zero and use \fBre2c:define:YYSETSTATE@cond\fP to denote formal parameter inside of \fBYYSETSTATE\fP body. .TP .B \fBre2c:define:YYSETSTATE@state = "@@";\fP Any occurrence of this text inside of \fBYYSETSTATE\fP will be replaced with the actual argument. .TP .B \fBre2c:define:YYSETSTATE:naked = 0;\fP Controls argument in braces and semicolon after \fBYYSETSTATE\fP\&. If zero, both agrument and semicolon are omitted. If non\-zero, both argument and semicolon are generated. .TP .B \fBre2c:define:YYLIMIT = "YYLIMIT";\fP Allows one to overwrite the define \fBYYLIMIT\fP and thus avoiding it by setting the value to the actual code needed. .TP .B \fBre2c:define:YYMARKER = "YYMARKER";\fP Allows one to overwrite the define \fBYYMARKER\fP and thus avoiding it by setting the value to the actual code needed. .TP .B \fBre2c:label:yyFillLabel = "yyFillLabel";\fP Allows one to overwrite the name of the label \fByyFillLabel\fP\&. .TP .B \fBre2c:label:yyNext = "yyNext";\fP Allows one to overwrite the name of the label \fByyNext\fP\&. .TP .B \fBre2c:variable:yyaccept = yyaccept;\fP Allows one to overwrite the name of the variable \fByyaccept\fP\&. .TP .B \fBre2c:variable:yybm = "yybm";\fP Allows one to overwrite the name of the variable \fByybm\fP\&. .TP .B \fBre2c:variable:yych = "yych";\fP Allows one to overwrite the name of the variable \fByych\fP\&. .TP .B \fBre2c:variable:yyctable = "yyctable";\fP When both \fB\-c\fP and \fB\-g\fP are active then \fBre2c\fP uses this variable to generate a static jump table for \fBYYGETCONDITION\fP\&. .TP .B \fBre2c:variable:yystable = "yystable";\fP Deprecated. .TP .B \fBre2c:variable:yytarget = "yytarget";\fP Allows one to overwrite the name of the variable \fByytarget\fP\&. .UNINDENT .SS REGULAR EXPRESSIONS .INDENT 0.0 .TP .B \fB"foo"\fP literal string \fB"foo"\fP\&. ANSI\-C escape sequences can be used. .TP .B \fB\(aqfoo\(aq\fP literal string \fB"foo"\fP (characters [a\-zA\-Z] treated case\-insensitive). ANSI\-C escape sequences can be used. .TP .B \fB[xyz]\fP character class; in this case, regular expression matches either \fBx\fP, \fBy\fP, or \fBz\fP\&. .TP .B \fB[abj\-oZ]\fP character class with a range in it; matches \fBa\fP, \fBb\fP, any letter from \fBj\fP through \fBo\fP or \fBZ\fP\&. .TP .B \fB[^class]\fP inverted character class. .TP .B \fBr \e s\fP match any \fBr\fP which isn\(aqt \fBs\fP\&. \fBr\fP and \fBs\fP must be regular expressions which can be expressed as character classes. .TP .B \fBr*\fP zero or more occurrences of \fBr\fP\&. .TP .B \fBr+\fP one or more occurrences of \fBr\fP\&. .TP .B \fBr?\fP optional \fBr\fP\&. .TP .B \fB(r)\fP \fBr\fP; parentheses are used to override precedence. .TP .B \fBr s\fP \fBr\fP followed by \fBs\fP (concatenation). .TP .B \fBr | s\fP either \fBr\fP or \fBs\fP (alternative). .TP .B \fBr\fP / \fBs\fP \fBr\fP but only if it is followed by \fBs\fP\&. Note that \fBs\fP is not part of the matched text. This type of regular expression is called "trailing context". Trailing context can only be the end of a rule and not part of a named definition. .TP .B \fBr{n}\fP matches \fBr\fP exactly \fBn\fP times. .TP .B \fBr{n,}\fP matches \fBr\fP at least \fBn\fP times. .TP .B \fBr{n,m}\fP matches \fBr\fP at least \fBn\fP times, but not more than \fBm\fP times. .TP .B \fB\&.\fP match any character except newline. .TP .B \fBname\fP matches named definition as specified by \fBname\fP only if \fB\-F\fP is off. If \fB\-F\fP is active then this behaves like it was enclosed in double quotes and matches the string "name". .UNINDENT .sp Character classes and string literals may contain octal or hexadecimal character definitions and the following set of escape sequences: \fB\ea\fP, \fB\eb\fP, \fB\ef\fP, \fB\en\fP, \fB\er\fP, \fB\et\fP, \fB\ev\fP, \fB\e\e\fP\&. An octal character is defined by a backslash followed by its three octal digits (e.g. \fB\e377\fP). Hexadecimal characters from 0 to 0xFF are defined by backslash, a lower cased \fBx\fP and two hexadecimal digits (e.g. \fB\ex12\fP). Hexadecimal characters from 0x100 to 0xFFFF are defined by backslash, a lower cased \fB\eu\fP or an upper cased \fB\eX\fP and four hexadecimal digits (e.g. \fB\eu1234\fP). Hexadecimal characters from 0x10000 to 0xFFFFffff are defined by backslash, an upper cased \fB\eU\fP and eight hexadecimal digits (e.g. \fB\eU12345678\fP). .sp The only portable "any" rule is the default rule \fB*\fP\&. .SH SCANNER WITH STORABLE STATES .sp When the \fB\-f\fP flag is specified, \fBre2c\fP generates a scanner that can store its current state, return to the caller, and later resume operations exactly where it left off. .sp The default operation of \fBre2c\fP is a "pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner" the parsing loop, and that may not always be convenient. .sp Typically, if there is a preprocessor ahead of the scanner in the stream, or for that matter any other procedural source of data, the scanner cannot "ask" for more data unless both scanner and source live in a separate threads. .sp The \fB\-f\fP flag is useful for just this situation: it lets users design scanners that work in a "push" model, i.e. where data is fed to the scanner chunk by chunk. When the scanner runs out of data to consume, it just stores its state, and return to the caller. When more input data is fed to the scanner, it resumes operations exactly where it left off. .sp Changes needed compared to the "pull" model: .INDENT 0.0 .IP \(bu 2 User has to supply macros \fBYYSETSTATE ()\fP and \fBYYGETSTATE (state)\fP\&. .IP \(bu 2 The \fB\-f\fP option inhibits declaration of \fByych\fP and \fByyaccept\fP\&. So the user has to declare these. Also the user has to save and restore these. In the example \fBexamples/push_model/push.re\fP these are declared as fields of the (C++) class of which the scanner is a method, so they do not need to be saved/restored explicitly. For C they could e.g. be made macros that select fields from a structure passed in as parameter. Alternatively, they could be declared as local variables, saved with \fBYYFILL (n)\fP when it decides to return and restored at entry to the function. Also, it could be more efficient to save the state from \fBYYFILL (n)\fP because \fBYYSETSTATE (state)\fP is called unconditionally. \fBYYFILL (n)\fP however does not get \fBstate\fP as parameter, so we would have to store state in a local variable by \fBYYSETSTATE (state)\fP\&. .IP \(bu 2 Modify \fBYYFILL (n)\fP to return (from the function calling it) if more input is needed. .IP \(bu 2 Modify caller to recognise if more input is needed and respond appropriately. .IP \(bu 2 The generated code will contain a switch block that is used to restores the last state by jumping behind the corrspoding \fBYYFILL (n)\fP call. This code is automatically generated in the epilog of the first \fB/*!re2c */\fP block. It is possible to trigger generation of the \fBYYGETSTATE ()\fP block earlier by placing a \fB/*!getstate:re2c*/\fP comment. This is especially useful when the scanner code should be wrapped inside a loop. .UNINDENT .sp Please see \fBexamples/push_model/push.re\fP for "push" model scanner. The generated code can be tweaked using inplace configurations \fBstate:abort\fP and \fBstate:nextlabel\fP\&. .SH SCANNER WITH CONDITION SUPPORT .sp You can preceed regular expressions with a list of condition names when using the \fB\-c\fP switch. In this case \fBre2c\fP generates scanner blocks for each conditon. Where each of the generated blocks has its own precondition. The precondition is given by the interface define \fBYYGETCONDITON()\fP and must be of type \fBYYCONDTYPE\fP\&. .sp There are two special rule types. First, the rules of the condition \fB<*>\fP are merged to all conditions (note that they have lower priority than other rules of that condition). And second the empty condition list allows one to provide a code block that does not have a scanner part. Meaning it does not allow any regular expression. The condition value referring to this special block is always the one with the enumeration value 0. This way the code of this special rule can be used to initialize a scanner. It is in no way necessary to have these rules: but sometimes it is helpful to have a dedicated uninitialized condition state. .sp Non empty rules allow one to specify the new condition, which makes them transition rules. Besides generating calls for the define \fBYYSETCONDTITION\fP no other special code is generated. .sp There is another kind of special rules that allow one to prepend code to any code block of all rules of a certain set of conditions or to all code blocks to all rules. This can be helpful when some operation is common among rules. For instance this can be used to store the length of the scanned string. These special setup rules start with an exclamation mark followed by either a list of conditions \fB\fP or a star \fB\fP\&. When \fBre2c\fP generates the code for a rule whose state does not have a setup rule and a star\(aqd setup rule is present, than that code will be used as setup code. .SH ENCODINGS .sp \fBre2c\fP supports the following encodings: ASCII (default), EBCDIC (\fB\-e\fP), UCS\-2 (\fB\-w\fP), UTF\-16 (\fB\-x\fP), UTF\-32 (\fB\-u\fP) and UTF\-8 (\fB\-8\fP). See also inplace configuration \fBre2c:flags\fP\&. .sp The following concepts should be clarified when talking about encoding. Code point is an abstract number, which represents single encoding symbol. Code unit is the smallest unit of memory, which is used in the encoded text (it corresponds to one character in the input stream). One or more code units can be needed to represent a single code point, depending on the encoding. In fixed\-length encoding, each code point is represented with equal number of code units. In variable\-length encoding, different code points can be represented with different number of code units. .INDENT 0.0 .TP .B ASCII is a fixed\-length encoding. Its code space includes 0x100 code points, from 0 to 0xFF. One code point is represented with exactly one 1\-byte code unit, which has the same value as the code point. Size of \fBYYCTYPE\fP must be 1 byte. .TP .B EBCDIC is a fixed\-length encoding. Its code space includes 0x100 code points, from 0 to 0xFF. One code point is represented with exactly one 1\-byte code unit, which has the same value as the code point. Size of \fBYYCTYPE\fP must be 1 byte. .TP .B UCS\-2 is a fixed\-length encoding. Its code space includes 0x10000 code points, from 0 to 0xFFFF. One code point is represented with exactly one 2\-byte code unit, which has the same value as the code point. Size of \fBYYCTYPE\fP must be 2 bytes. .TP .B UTF\-16 is a variable\-length encoding. Its code space includes all Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One code point is represented with one or two 2\-byte code units. Size of \fBYYCTYPE\fP must be 2 bytes. .TP .B UTF\-32 is a fixed\-length encoding. Its code space includes all Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One code point is represented with exactly one 4\-byte code unit. Size of \fBYYCTYPE\fP must be 4 bytes. .TP .B UTF\-8 is a variable\-length encoding. Its code space includes all Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One code point is represented with sequence of one, two, three or four 1\-byte code units. Size of \fBYYCTYPE\fP must be 1 byte. .UNINDENT .sp In Unicode, values from range 0xD800 to 0xDFFF (surrogates) are not valid Unicode code points, any encoded sequence of code units, that would map to Unicode code points in the range 0xD800\-0xDFFF, is ill\-formed. The user can control how \fBre2c\fP treats such ill\-formed sequences with \fB\-\-encoding\-policy \fP flag (see \fBOPTIONS\fP for full explanation). .sp For some encodings, there are code units, that never occur in valid encoded stream (e.g. 0xFF byte in UTF\-8). If the generated scanner must check for invalid input, the only true way to do so is to use default rule \fB*\fP\&. Note, that full range rule \fB[^]\fP won\(aqt catch invalid code units when variable\-length encoding is used (\fB[^]\fP means "all valid code points", while default rule \fB*\fP means "all possible code units"). .SH GENERIC INPUT API .sp \fBre2c\fP usually operates on input using pointer\-like primitives \fBYYCURSOR\fP, \fBYYMARKER\fP, \fBYYCTXMARKER\fP and \fBYYLIMIT\fP\&. .sp Generic input API (enabled with \fB\-\-input custom\fP switch) allows one to customize input operations. In this mode, \fBre2c\fP will express all operations on input in terms of the following primitives: .INDENT 0.0 .INDENT 3.5 .TS center; |l|l|. _ T{ \fBYYPEEK ()\fP T} T{ get current input character T} _ T{ \fBYYSKIP ()\fP T} T{ advance to the next character T} _ T{ \fBYYBACKUP ()\fP T} T{ backup current input position T} _ T{ \fBYYBACKUPCTX ()\fP T} T{ backup current input position for trailing context T} _ T{ \fBYYRESTORE ()\fP T} T{ restore current input position T} _ T{ \fBYYRESTORECTX ()\fP T} T{ restore current input position for trailing context T} _ T{ \fBYYLESSTHAN (n)\fP T} T{ check if less than \fBn\fP input characters are left T} _ .TE .UNINDENT .UNINDENT .sp A couple of useful links that provide some examples: .INDENT 0.0 .IP 1. 3 \fI\%http://skvadrik.github.io/aleph_null/posts/re2c/2015\-01\-13\-input_model.html\fP .IP 2. 3 \fI\%http://skvadrik.github.io/aleph_null/posts/re2c/2015\-01\-15\-input_model_custom.html\fP .UNINDENT .SH SEE ALSO .sp You can find more information about \fBre2c\fP on the website: \fI\%http://re2c.org\fP\&. See also: flex(1), lex(1), quex (\fI\%http://quex.sourceforge.net\fP). .SH AUTHORS .sp Peter Bumbulis \fI\%peter@csg.uwaterloo.ca\fP .sp Brian Young \fI\%bayoung@acm.org\fP .sp Dan Nuffer \fI\%nuffer@users.sourceforge.net\fP .sp Marcus Boerger \fI\%helly@users.sourceforge.net\fP .sp Hartmut Kaiser \fI\%hkaiser@users.sourceforge.net\fP .sp Emmanuel Mogenet \fI\%mgix@mgix.com\fP .sp Ulya Trofimovich \fI\%skvadrik@gmail.com\fP .SH VERSION INFORMATION .sp This manpage describes \fBre2c\fP version 0.16, package date 21 Jan 2016. .\" Generated by docutils manpage writer. . re2c-0.16/bootstrap/src/0000755000175000017500000000000012650133525012102 500000000000000re2c-0.16/bootstrap/src/conf/0000755000175000017500000000000012650133526013030 500000000000000re2c-0.16/bootstrap/src/conf/parse_opts.cc0000644000175000017500000017363612650133523015453 00000000000000/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */ #line 1 "../src/conf/parse_opts.re" #include "src/codegen/input_api.h" #include "src/conf/msg.h" #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/regexp/empty_class_policy.h" #include "src/ir/regexp/encoding/enc.h" namespace re2c { static inline bool next (char * & arg, char ** & argv) { arg = *++argv; return arg != NULL; } parse_opts_t parse_opts (char ** argv, Opt & opts) { #define YYCTYPE unsigned char char * YYCURSOR; char * YYMARKER; Warn::option_t option; #line 31 "../src/conf/parse_opts.re" opt: if (!next (YYCURSOR, argv)) { goto end; } #line 37 "src/conf/parse_opts.cc" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x00) goto yy2; if (yych == '-') goto yy5; goto yy4; yy2: ++YYCURSOR; yy3: #line 40 "../src/conf/parse_opts.re" { error ("bad option: %s", *argv); return EXIT_FAIL; } #line 87 "src/conf/parse_opts.cc" yy4: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); goto yy10; yy5: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= '-') { if (yych <= 0x00) goto yy11; if (yych >= '-') goto yy13; } else { if (yych == 'W') goto yy15; } #line 63 "../src/conf/parse_opts.re" { goto opt_short; } #line 102 "src/conf/parse_opts.cc" yy7: ++YYCURSOR; #line 61 "../src/conf/parse_opts.re" { if (!opts.source (*argv)) return EXIT_FAIL; goto opt; } #line 107 "src/conf/parse_opts.cc" yy9: ++YYCURSOR; yych = (YYCTYPE)*YYCURSOR; yy10: if (yybm[0+yych] & 128) { goto yy9; } goto yy7; yy11: ++YYCURSOR; #line 60 "../src/conf/parse_opts.re" { if (!opts.source ("")) return EXIT_FAIL; goto opt; } #line 120 "src/conf/parse_opts.cc" yy13: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy17; #line 64 "../src/conf/parse_opts.re" { goto opt_long; } #line 126 "src/conf/parse_opts.cc" yy15: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'e') { if (yych <= 0x00) goto yy19; if (yych >= 'e') goto yy21; } else { if (yych == 'n') goto yy23; } yy16: #line 68 "../src/conf/parse_opts.re" { option = Warn::W; goto opt_warn; } #line 139 "src/conf/parse_opts.cc" yy17: ++YYCURSOR; #line 46 "../src/conf/parse_opts.re" { // all remaining arguments are non-options // so they must be input files // re2c expects exactly one input file for (char * f; next (f, argv);) { if (!opts.source (f)) { return EXIT_FAIL; } } goto end; } #line 156 "src/conf/parse_opts.cc" yy19: ++YYCURSOR; #line 66 "../src/conf/parse_opts.re" { warn.set_all (); goto opt; } #line 161 "src/conf/parse_opts.cc" yy21: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy24; yy22: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy3; } else { goto yy16; } } else { goto yy28; } yy23: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy25; goto yy22; yy24: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy26; goto yy22; yy25: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy27; goto yy22; yy26: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy29; goto yy22; yy27: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy30; yy28: #line 69 "../src/conf/parse_opts.re" { option = Warn::WNO; goto opt_warn; } #line 199 "src/conf/parse_opts.cc" yy29: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy31; goto yy22; yy30: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy32; goto yy22; yy31: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy33; if (yych == '-') goto yy35; goto yy22; yy32: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy37; goto yy22; yy33: ++YYCURSOR; #line 67 "../src/conf/parse_opts.re" { warn.set_all_error (); goto opt; } #line 221 "src/conf/parse_opts.cc" yy35: ++YYCURSOR; #line 70 "../src/conf/parse_opts.re" { option = Warn::WERROR; goto opt_warn; } #line 226 "src/conf/parse_opts.cc" yy37: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'o') goto yy22; yych = (YYCTYPE)*++YYCURSOR; if (yych != 'r') goto yy22; yych = (YYCTYPE)*++YYCURSOR; if (yych != '-') goto yy22; ++YYCURSOR; #line 71 "../src/conf/parse_opts.re" { option = Warn::WNOERROR; goto opt_warn; } #line 237 "src/conf/parse_opts.cc" } #line 72 "../src/conf/parse_opts.re" opt_warn: #line 244 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; switch (yych) { case 'c': goto yy46; case 'e': goto yy47; case 'm': goto yy48; case 's': goto yy49; case 'u': goto yy50; default: goto yy44; } yy44: ++YYCURSOR; yy45: #line 77 "../src/conf/parse_opts.re" { error ("bad warning: %s", *argv); return EXIT_FAIL; } #line 264 "src/conf/parse_opts.cc" yy46: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'o') goto yy51; goto yy45; yy47: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'm') goto yy53; goto yy45; yy48: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy54; goto yy45; yy49: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'w') goto yy55; goto yy45; yy50: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'n') goto yy56; if (yych == 's') goto yy57; goto yy45; yy51: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy58; yy52: YYCURSOR = YYMARKER; goto yy45; yy53: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy59; goto yy52; yy54: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy60; goto yy52; yy55: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy61; goto yy52; yy56: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy62; if (yych == 'r') goto yy63; goto yy52; yy57: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy64; goto yy52; yy58: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy65; goto yy52; yy59: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy66; goto yy52; yy60: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy67; goto yy52; yy61: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy68; goto yy52; yy62: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy69; goto yy52; yy63: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy70; goto yy52; yy64: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy71; goto yy52; yy65: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy72; goto yy52; yy66: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy73; goto yy52; yy67: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy74; goto yy52; yy68: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy75; goto yy52; yy69: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy76; goto yy52; yy70: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy77; goto yy52; yy71: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy78; goto yy52; yy72: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy79; goto yy52; yy73: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy80; goto yy52; yy74: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy81; goto yy52; yy75: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy82; goto yy52; yy76: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy83; goto yy52; yy77: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy84; goto yy52; yy78: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy85; goto yy52; yy79: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy86; goto yy52; yy80: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy87; goto yy52; yy81: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy88; goto yy52; yy82: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy89; goto yy52; yy83: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy90; goto yy52; yy84: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy91; goto yy52; yy85: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy92; goto yy52; yy86: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy93; goto yy52; yy87: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy94; goto yy52; yy88: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy95; goto yy52; yy89: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy96; goto yy52; yy90: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy97; goto yy52; yy91: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy98; goto yy52; yy92: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy99; goto yy52; yy93: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy100; goto yy52; yy94: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy101; goto yy52; yy95: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy102; goto yy52; yy96: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy103; goto yy52; yy97: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy104; goto yy52; yy98: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy105; goto yy52; yy99: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy106; goto yy52; yy100: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy107; goto yy52; yy101: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy108; goto yy52; yy102: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy109; goto yy52; yy103: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy110; goto yy52; yy104: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy111; goto yy52; yy105: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy112; goto yy52; yy106: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy113; goto yy52; yy107: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy114; goto yy52; yy108: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy115; goto yy52; yy109: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy116; goto yy52; yy110: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy117; goto yy52; yy111: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy118; goto yy52; yy112: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy119; goto yy52; yy113: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy120; goto yy52; yy114: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy121; goto yy52; yy115: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy122; goto yy52; yy116: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy123; goto yy52; yy117: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy124; goto yy52; yy118: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy125; goto yy52; yy119: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy126; goto yy52; yy120: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy127; goto yy52; yy121: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy128; goto yy52; yy122: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy129; goto yy52; yy123: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy130; goto yy52; yy124: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy131; goto yy52; yy125: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy132; goto yy52; yy126: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy133; goto yy52; yy127: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy134; goto yy52; yy128: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy135; goto yy52; yy129: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy136; goto yy52; yy130: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy137; goto yy52; yy131: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy138; goto yy52; yy132: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy140; goto yy52; yy133: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy141; goto yy52; yy134: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy142; goto yy52; yy135: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy143; goto yy52; yy136: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy144; goto yy52; yy137: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy145; goto yy52; yy138: ++YYCURSOR; #line 84 "../src/conf/parse_opts.re" { warn.set (Warn::SWAPPED_RANGE, option); goto opt; } #line 637 "src/conf/parse_opts.cc" yy140: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy146; goto yy52; yy141: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy147; goto yy52; yy142: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy148; goto yy52; yy143: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy150; goto yy52; yy144: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy152; goto yy52; yy145: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy153; goto yy52; yy146: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy154; goto yy52; yy147: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy155; goto yy52; yy148: ++YYCURSOR; #line 87 "../src/conf/parse_opts.re" { warn.set (Warn::USELESS_ESCAPE, option); goto opt; } #line 674 "src/conf/parse_opts.cc" yy150: ++YYCURSOR; #line 81 "../src/conf/parse_opts.re" { warn.set (Warn::CONDITION_ORDER, option); goto opt; } #line 679 "src/conf/parse_opts.cc" yy152: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy156; goto yy52; yy153: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy157; goto yy52; yy154: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy158; goto yy52; yy155: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy159; goto yy52; yy156: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy160; goto yy52; yy157: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy161; goto yy52; yy158: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy162; goto yy52; yy159: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy163; goto yy52; yy160: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy165; goto yy52; yy161: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy166; goto yy52; yy162: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy168; goto yy52; yy163: ++YYCURSOR; #line 86 "../src/conf/parse_opts.re" { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; } #line 728 "src/conf/parse_opts.cc" yy165: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy169; goto yy52; yy166: ++YYCURSOR; #line 83 "../src/conf/parse_opts.re" { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; } #line 737 "src/conf/parse_opts.cc" yy168: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy170; goto yy52; yy169: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy171; goto yy52; yy170: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy172; goto yy52; yy171: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy173; goto yy52; yy172: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'w') goto yy175; goto yy52; yy173: ++YYCURSOR; #line 82 "../src/conf/parse_opts.re" { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; } #line 762 "src/conf/parse_opts.cc" yy175: yych = (YYCTYPE)*++YYCURSOR; if (yych >= 0x01) goto yy52; ++YYCURSOR; #line 85 "../src/conf/parse_opts.re" { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; } #line 769 "src/conf/parse_opts.cc" } #line 88 "../src/conf/parse_opts.re" opt_short: #line 776 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'b') { if (yych <= 'C') { if (yych <= '7') { if (yych <= 0x00) goto yy180; if (yych == '1') goto yy184; goto yy182; } else { if (yych <= '8') goto yy186; if (yych == '?') goto yy188; goto yy182; } } else { if (yych <= 'R') { if (yych <= 'D') goto yy190; if (yych == 'F') goto yy192; goto yy182; } else { if (yych <= 'U') { if (yych <= 'S') goto yy194; goto yy182; } else { if (yych <= 'V') goto yy196; if (yych <= 'a') goto yy182; goto yy198; } } } } else { if (yych <= 'o') { if (yych <= 'f') { if (yych <= 'c') goto yy200; if (yych <= 'd') goto yy202; if (yych <= 'e') goto yy204; goto yy206; } else { if (yych <= 'h') { if (yych <= 'g') goto yy208; goto yy188; } else { if (yych <= 'i') goto yy210; if (yych <= 'n') goto yy182; goto yy212; } } } else { if (yych <= 't') { if (yych <= 'q') goto yy182; if (yych <= 'r') goto yy214; if (yych <= 's') goto yy216; goto yy218; } else { if (yych <= 'v') { if (yych <= 'u') goto yy220; goto yy222; } else { if (yych <= 'w') goto yy224; if (yych <= 'x') goto yy226; goto yy182; } } } } yy180: ++YYCURSOR; #line 97 "../src/conf/parse_opts.re" { goto opt; } #line 846 "src/conf/parse_opts.cc" yy182: ++YYCURSOR; #line 93 "../src/conf/parse_opts.re" { error ("bad short option: %s", *argv); return EXIT_FAIL; } #line 854 "src/conf/parse_opts.cc" yy184: ++YYCURSOR; #line 121 "../src/conf/parse_opts.re" { goto opt_short; } #line 859 "src/conf/parse_opts.cc" yy186: ++YYCURSOR; #line 116 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } #line 864 "src/conf/parse_opts.cc" yy188: ++YYCURSOR; #line 98 "../src/conf/parse_opts.re" { usage (); return EXIT_OK; } #line 869 "src/conf/parse_opts.cc" yy190: ++YYCURSOR; #line 104 "../src/conf/parse_opts.re" { opts.set_target (opt_t::DOT); goto opt_short; } #line 874 "src/conf/parse_opts.cc" yy192: ++YYCURSOR; #line 106 "../src/conf/parse_opts.re" { opts.set_FFlag (true); goto opt_short; } #line 879 "src/conf/parse_opts.cc" yy194: ++YYCURSOR; #line 111 "../src/conf/parse_opts.re" { opts.set_target (opt_t::SKELETON); goto opt_short; } #line 884 "src/conf/parse_opts.cc" yy196: ++YYCURSOR; #line 100 "../src/conf/parse_opts.re" { vernum (); return EXIT_OK; } #line 889 "src/conf/parse_opts.cc" yy198: ++YYCURSOR; #line 101 "../src/conf/parse_opts.re" { opts.set_bFlag (true); goto opt_short; } #line 894 "src/conf/parse_opts.cc" yy200: ++YYCURSOR; #line 102 "../src/conf/parse_opts.re" { opts.set_cFlag (true); goto opt_short; } #line 899 "src/conf/parse_opts.cc" yy202: ++YYCURSOR; #line 103 "../src/conf/parse_opts.re" { opts.set_dFlag (true); goto opt_short; } #line 904 "src/conf/parse_opts.cc" yy204: ++YYCURSOR; #line 112 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } #line 909 "src/conf/parse_opts.cc" yy206: ++YYCURSOR; #line 105 "../src/conf/parse_opts.re" { opts.set_fFlag (true); goto opt_short; } #line 914 "src/conf/parse_opts.cc" yy208: ++YYCURSOR; #line 107 "../src/conf/parse_opts.re" { opts.set_gFlag (true); goto opt_short; } #line 919 "src/conf/parse_opts.cc" yy210: ++YYCURSOR; #line 108 "../src/conf/parse_opts.re" { opts.set_iFlag (true); goto opt_short; } #line 924 "src/conf/parse_opts.cc" yy212: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy228; #line 118 "../src/conf/parse_opts.re" { *argv = YYCURSOR; goto opt_output; } #line 930 "src/conf/parse_opts.cc" yy214: ++YYCURSOR; #line 109 "../src/conf/parse_opts.re" { opts.set_rFlag (true); goto opt_short; } #line 935 "src/conf/parse_opts.cc" yy216: ++YYCURSOR; #line 110 "../src/conf/parse_opts.re" { opts.set_sFlag (true); goto opt_short; } #line 940 "src/conf/parse_opts.cc" yy218: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy230; #line 120 "../src/conf/parse_opts.re" { *argv = YYCURSOR; goto opt_header; } #line 946 "src/conf/parse_opts.cc" yy220: ++YYCURSOR; #line 113 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } #line 951 "src/conf/parse_opts.cc" yy222: ++YYCURSOR; #line 99 "../src/conf/parse_opts.re" { version (); return EXIT_OK; } #line 956 "src/conf/parse_opts.cc" yy224: ++YYCURSOR; #line 114 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } #line 961 "src/conf/parse_opts.cc" yy226: ++YYCURSOR; #line 115 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } #line 966 "src/conf/parse_opts.cc" yy228: ++YYCURSOR; #line 117 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } #line 971 "src/conf/parse_opts.cc" yy230: ++YYCURSOR; #line 119 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } #line 976 "src/conf/parse_opts.cc" } #line 122 "../src/conf/parse_opts.re" opt_long: #line 983 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; switch (yych) { case 'b': goto yy236; case 'c': goto yy237; case 'd': goto yy238; case 'e': goto yy239; case 'f': goto yy240; case 'h': goto yy241; case 'i': goto yy242; case 'n': goto yy243; case 'o': goto yy244; case 'r': goto yy245; case 's': goto yy246; case 't': goto yy247; case 'u': goto yy248; case 'v': goto yy249; case 'w': goto yy250; default: goto yy234; } yy234: ++YYCURSOR; yy235: #line 127 "../src/conf/parse_opts.re" { error ("bad long option: %s", *argv); return EXIT_FAIL; } #line 1013 "src/conf/parse_opts.cc" yy236: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'i') goto yy251; goto yy235; yy237: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy253; if (yych == 'o') goto yy254; goto yy235; yy238: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'd') goto yy235; if (yych <= 'e') goto yy255; if (yych <= 'f') goto yy256; goto yy235; yy239: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'l') { if (yych == 'c') goto yy257; goto yy235; } else { if (yych <= 'm') goto yy258; if (yych <= 'n') goto yy259; goto yy235; } yy240: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'l') goto yy260; goto yy235; yy241: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy261; goto yy235; yy242: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'n') goto yy262; goto yy235; yy243: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy263; if (yych == 'o') goto yy264; goto yy235; yy244: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'u') goto yy265; goto yy235; yy245: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy266; goto yy235; yy246: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 'j') { if (yych == 'i') goto yy267; goto yy235; } else { if (yych <= 'k') goto yy268; if (yych == 't') goto yy269; goto yy235; } yy247: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'y') goto yy270; goto yy235; yy248: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'n') goto yy271; if (yych == 't') goto yy272; goto yy235; yy249: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy273; goto yy235; yy250: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'i') goto yy274; goto yy235; yy251: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy275; yy252: YYCURSOR = YYMARKER; goto yy235; yy253: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy276; goto yy252; yy254: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy277; goto yy252; yy255: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy278; goto yy252; yy256: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy279; goto yy252; yy257: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy280; goto yy252; yy258: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy281; if (yych == 'p') goto yy282; goto yy252; yy259: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy283; goto yy252; yy260: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy284; goto yy252; yy261: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy285; goto yy252; yy262: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy286; goto yy252; yy263: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy287; goto yy252; yy264: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy288; goto yy252; yy265: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy289; goto yy252; yy266: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy290; goto yy252; yy267: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy291; goto yy252; yy268: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy292; goto yy252; yy269: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy293; if (yych == 'o') goto yy294; goto yy252; yy270: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy295; goto yy252; yy271: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy296; goto yy252; yy272: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy297; goto yy252; yy273: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy298; goto yy252; yy274: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy299; goto yy252; yy275: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy300; goto yy252; yy276: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy301; goto yy252; yy277: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy302; goto yy252; yy278: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy303; goto yy252; yy279: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy304; goto yy252; yy280: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy305; goto yy252; yy281: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy307; goto yy252; yy282: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy308; goto yy252; yy283: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy309; goto yy252; yy284: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'x') goto yy310; goto yy252; yy285: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy311; goto yy252; yy286: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy312; goto yy252; yy287: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy313; goto yy252; yy288: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 'f') { if (yych == 'd') goto yy314; goto yy252; } else { if (yych <= 'g') goto yy315; if (yych == 'v') goto yy316; goto yy252; } yy289: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy317; goto yy252; yy290: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy318; goto yy252; yy291: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy319; goto yy252; yy292: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy320; goto yy252; yy293: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy321; goto yy252; yy294: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy322; goto yy252; yy295: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy323; goto yy252; yy296: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy324; goto yy252; yy297: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy325; goto yy252; yy298: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy326; if (yych == 's') goto yy327; goto yy252; yy299: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy328; goto yy252; yy300: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'v') goto yy329; goto yy252; yy301: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy330; goto yy252; yy302: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy331; goto yy252; yy303: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy332; goto yy252; yy304: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy333; goto yy252; yy305: ++YYCURSOR; #line 149 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; } #line 1318 "src/conf/parse_opts.cc" yy307: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy334; goto yy252; yy308: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy335; goto yy252; yy309: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy336; goto yy252; yy310: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy337; goto yy252; yy311: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy338; goto yy252; yy312: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy340; goto yy252; yy313: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy341; goto yy252; yy314: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy342; goto yy252; yy315: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy343; goto yy252; yy316: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy344; goto yy252; yy317: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy345; goto yy252; yy318: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy346; goto yy252; yy319: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy347; goto yy252; yy320: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy348; goto yy252; yy321: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy349; goto yy252; yy322: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy350; goto yy252; yy323: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy351; goto yy252; yy324: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy352; goto yy252; yy325: yych = (YYCTYPE)*++YYCURSOR; if (yych == '1') goto yy353; if (yych == '8') goto yy354; goto yy252; yy326: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy355; goto yy252; yy327: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy356; goto yy252; yy328: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy357; goto yy252; yy329: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy358; goto yy252; yy330: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy359; goto yy252; yy331: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy360; goto yy252; yy332: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy361; goto yy252; yy333: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy362; goto yy252; yy334: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy363; goto yy252; yy335: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy364; goto yy252; yy336: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy365; goto yy252; yy337: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy366; goto yy252; yy338: ++YYCURSOR; #line 131 "../src/conf/parse_opts.re" { usage (); return EXIT_OK; } #line 1448 "src/conf/parse_opts.cc" yy340: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy367; goto yy252; yy341: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy369; goto yy252; yy342: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy370; goto yy252; yy343: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy371; goto yy252; yy344: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy372; goto yy252; yy345: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy373; goto yy252; yy346: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy374; goto yy252; yy347: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy375; goto yy252; yy348: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy376; goto yy252; yy349: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy377; goto yy252; yy350: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy378; goto yy252; yy351: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy379; goto yy252; yy352: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy380; goto yy252; yy353: yych = (YYCTYPE)*++YYCURSOR; if (yych == '6') goto yy381; goto yy252; yy354: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy382; goto yy252; yy355: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy384; goto yy252; yy356: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy385; goto yy252; yy357: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy386; goto yy252; yy358: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy387; goto yy252; yy359: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy388; goto yy252; yy360: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy389; goto yy252; yy361: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy390; goto yy252; yy362: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy391; goto yy252; yy363: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy392; goto yy252; yy364: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy393; goto yy252; yy365: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy394; goto yy252; yy366: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy395; goto yy252; yy367: ++YYCURSOR; #line 157 "../src/conf/parse_opts.re" { goto opt_input; } #line 1561 "src/conf/parse_opts.cc" yy369: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy396; goto yy252; yy370: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy397; goto yy252; yy371: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy398; goto yy252; yy372: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy399; goto yy252; yy373: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy400; goto yy252; yy374: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy402; goto yy252; yy375: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy403; goto yy252; yy376: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy404; goto yy252; yy377: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy405; goto yy252; yy378: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy406; goto yy252; yy379: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy407; goto yy252; yy380: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy408; goto yy252; yy381: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy409; goto yy252; yy382: ++YYCURSOR; #line 153 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; } #line 1618 "src/conf/parse_opts.cc" yy384: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy411; goto yy252; yy385: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy413; goto yy252; yy386: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy414; goto yy252; yy387: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy415; goto yy252; yy388: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy416; if (yych == 'v') goto yy417; goto yy252; yy389: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy418; goto yy252; yy390: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy419; goto yy252; yy391: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy420; goto yy252; yy392: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy421; goto yy252; yy393: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy422; goto yy252; yy394: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy423; goto yy252; yy395: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy424; goto yy252; yy396: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy425; goto yy252; yy397: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy426; goto yy252; yy398: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy427; goto yy252; yy399: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy428; goto yy252; yy400: ++YYCURSOR; #line 154 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } #line 1688 "src/conf/parse_opts.cc" yy402: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy429; goto yy252; yy403: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy430; goto yy252; yy404: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy431; goto yy252; yy405: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy432; goto yy252; yy406: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy433; goto yy252; yy407: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy434; goto yy252; yy408: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy435; goto yy252; yy409: ++YYCURSOR; #line 152 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt; } #line 1721 "src/conf/parse_opts.cc" yy411: ++YYCURSOR; #line 133 "../src/conf/parse_opts.re" { vernum (); return EXIT_OK; } #line 1726 "src/conf/parse_opts.cc" yy413: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy437; goto yy252; yy414: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy439; goto yy252; yy415: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy440; goto yy252; yy416: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy441; goto yy252; yy417: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy442; goto yy252; yy418: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy443; goto yy252; yy419: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy444; goto yy252; yy420: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy445; goto yy252; yy421: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy446; goto yy252; yy422: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy448; goto yy252; yy423: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy449; goto yy252; yy424: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy450; goto yy252; yy425: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy451; goto yy252; yy426: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy452; goto yy252; yy427: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy453; goto yy252; yy428: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy454; goto yy252; yy429: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy455; goto yy252; yy430: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy457; goto yy252; yy431: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy458; goto yy252; yy432: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy460; goto yy252; yy433: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy461; goto yy252; yy434: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy462; goto yy252; yy435: ++YYCURSOR; #line 150 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt; } #line 1819 "src/conf/parse_opts.cc" yy437: ++YYCURSOR; #line 132 "../src/conf/parse_opts.re" { version (); return EXIT_OK; } #line 1824 "src/conf/parse_opts.cc" yy439: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy463; goto yy252; yy440: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy464; goto yy252; yy441: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy465; goto yy252; yy442: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy466; goto yy252; yy443: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy467; goto yy252; yy444: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy468; goto yy252; yy445: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy469; goto yy252; yy446: ++YYCURSOR; #line 137 "../src/conf/parse_opts.re" { opts.set_target (opt_t::DOT); goto opt; } #line 1857 "src/conf/parse_opts.cc" yy448: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy470; goto yy252; yy449: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy471; goto yy252; yy450: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy472; goto yy252; yy451: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy473; goto yy252; yy452: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy474; goto yy252; yy453: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy475; goto yy252; yy454: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy476; goto yy252; yy455: ++YYCURSOR; #line 142 "../src/conf/parse_opts.re" { opts.set_rFlag (true); goto opt; } #line 1890 "src/conf/parse_opts.cc" yy457: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy477; goto yy252; yy458: ++YYCURSOR; #line 148 "../src/conf/parse_opts.re" { opts.set_target (opt_t::SKELETON); goto opt; } #line 1899 "src/conf/parse_opts.cc" yy460: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy478; goto yy252; yy461: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy479; goto yy252; yy462: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy480; goto yy252; yy463: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy481; goto yy252; yy464: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy482; goto yy252; yy465: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy483; goto yy252; yy466: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy484; goto yy252; yy467: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy485; goto yy252; yy468: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy486; goto yy252; yy469: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'z') goto yy487; goto yy252; yy470: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy488; goto yy252; yy471: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy489; goto yy252; yy472: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'x') goto yy490; goto yy252; yy473: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy491; goto yy252; yy474: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy493; goto yy252; yy475: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy494; goto yy252; yy476: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy495; goto yy252; yy477: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy497; goto yy252; yy478: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy498; goto yy252; yy479: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy499; goto yy252; yy480: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy500; goto yy252; yy481: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy501; goto yy252; yy482: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy503; goto yy252; yy483: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy505; goto yy252; yy484: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy506; goto yy252; yy485: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy507; goto yy252; yy486: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy508; goto yy252; yy487: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy509; goto yy252; yy488: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy510; goto yy252; yy489: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy512; goto yy252; yy490: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy513; goto yy252; yy491: ++YYCURSOR; #line 143 "../src/conf/parse_opts.re" { opts.set_sFlag (true); goto opt; } #line 2028 "src/conf/parse_opts.cc" yy493: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy515; goto yy252; yy494: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy516; goto yy252; yy495: ++YYCURSOR; #line 145 "../src/conf/parse_opts.re" { opts.set_version (false); goto opt; } #line 2041 "src/conf/parse_opts.cc" yy497: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy517; goto yy252; yy498: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy519; goto yy252; yy499: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy520; goto yy252; yy500: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy521; goto yy252; yy501: ++YYCURSOR; #line 151 "../src/conf/parse_opts.re" { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt; } #line 2062 "src/conf/parse_opts.cc" yy503: ++YYCURSOR; #line 134 "../src/conf/parse_opts.re" { opts.set_bFlag (true); goto opt; } #line 2067 "src/conf/parse_opts.cc" yy505: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy523; goto yy252; yy506: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy524; goto yy252; yy507: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy525; goto yy252; yy508: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy526; goto yy252; yy509: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy528; goto yy252; yy510: ++YYCURSOR; #line 158 "../src/conf/parse_opts.re" { goto opt_empty_class; } #line 2092 "src/conf/parse_opts.cc" yy512: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy529; goto yy252; yy513: ++YYCURSOR; #line 139 "../src/conf/parse_opts.re" { opts.set_FFlag (true); goto opt; } #line 2101 "src/conf/parse_opts.cc" yy515: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy530; goto yy252; yy516: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy531; goto yy252; yy517: ++YYCURSOR; #line 160 "../src/conf/parse_opts.re" { goto opt; } #line 2114 "src/conf/parse_opts.cc" yy519: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy532; goto yy252; yy520: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy533; goto yy252; yy521: ++YYCURSOR; #line 155 "../src/conf/parse_opts.re" { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } #line 2127 "src/conf/parse_opts.cc" yy523: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy534; goto yy252; yy524: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy535; goto yy252; yy525: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy537; goto yy252; yy526: ++YYCURSOR; #line 136 "../src/conf/parse_opts.re" { opts.set_dFlag (true); goto opt; } #line 2144 "src/conf/parse_opts.cc" yy528: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy538; goto yy252; yy529: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy539; goto yy252; yy530: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy540; goto yy252; yy531: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy542; goto yy252; yy532: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy543; goto yy252; yy533: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy544; goto yy252; yy534: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'v') goto yy545; goto yy252; yy535: ++YYCURSOR; #line 147 "../src/conf/parse_opts.re" { opts.set_bCaseInverted (true); goto opt; } #line 2177 "src/conf/parse_opts.cc" yy537: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy546; goto yy252; yy538: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy548; goto yy252; yy539: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy549; goto yy252; yy540: ++YYCURSOR; #line 141 "../src/conf/parse_opts.re" { opts.set_iFlag (true); goto opt; } #line 2194 "src/conf/parse_opts.cc" yy542: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'd') goto yy550; goto yy252; yy543: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy551; goto yy252; yy544: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy552; goto yy252; yy545: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy554; goto yy252; yy546: ++YYCURSOR; #line 140 "../src/conf/parse_opts.re" { opts.set_gFlag (true); goto opt; } #line 2215 "src/conf/parse_opts.cc" yy548: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy555; goto yy252; yy549: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy556; goto yy252; yy550: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy558; goto yy252; yy551: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy559; goto yy252; yy552: ++YYCURSOR; #line 138 "../src/conf/parse_opts.re" { opts.set_fFlag (true); goto opt; } #line 2236 "src/conf/parse_opts.cc" yy554: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy560; goto yy252; yy555: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy562; goto yy252; yy556: ++YYCURSOR; #line 156 "../src/conf/parse_opts.re" { goto opt_encoding_policy; } #line 2249 "src/conf/parse_opts.cc" yy558: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy564; goto yy252; yy559: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy565; goto yy252; yy560: ++YYCURSOR; #line 146 "../src/conf/parse_opts.re" { opts.set_bCaseInsensitive (true); goto opt; } #line 2262 "src/conf/parse_opts.cc" yy562: ++YYCURSOR; #line 159 "../src/conf/parse_opts.re" { goto opt_dfa_minimization; } #line 2267 "src/conf/parse_opts.cc" yy564: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy567; goto yy252; yy565: ++YYCURSOR; #line 135 "../src/conf/parse_opts.re" { opts.set_cFlag (true); goto opt; } #line 2276 "src/conf/parse_opts.cc" yy567: yych = (YYCTYPE)*++YYCURSOR; if (yych >= 0x01) goto yy252; ++YYCURSOR; #line 144 "../src/conf/parse_opts.re" { opts.set_bNoGenerationDate (true); goto opt; } #line 2283 "src/conf/parse_opts.cc" } #line 161 "../src/conf/parse_opts.re" opt_output: #line 2290 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x00) goto yy572; if (yych != '-') goto yy574; yy572: ++YYCURSOR; #line 166 "../src/conf/parse_opts.re" { error ("bad argument to option -o, --output: %s", *argv); return EXIT_FAIL; } #line 2337 "src/conf/parse_opts.cc" yy574: yych = (YYCTYPE)*++YYCURSOR; goto yy578; yy575: ++YYCURSOR; #line 170 "../src/conf/parse_opts.re" { if (!opts.output (*argv)) return EXIT_FAIL; goto opt; } #line 2345 "src/conf/parse_opts.cc" yy577: ++YYCURSOR; yych = (YYCTYPE)*YYCURSOR; yy578: if (yybm[0+yych] & 128) { goto yy577; } goto yy575; } #line 171 "../src/conf/parse_opts.re" opt_header: #line 2360 "src/conf/parse_opts.cc" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x00) goto yy581; if (yych != '-') goto yy583; yy581: ++YYCURSOR; #line 176 "../src/conf/parse_opts.re" { error ("bad argument to option -t, --type-header: %s", *argv); return EXIT_FAIL; } #line 2407 "src/conf/parse_opts.cc" yy583: yych = (YYCTYPE)*++YYCURSOR; goto yy587; yy584: ++YYCURSOR; #line 180 "../src/conf/parse_opts.re" { opts.set_header_file (*argv); goto opt; } #line 2415 "src/conf/parse_opts.cc" yy586: ++YYCURSOR; yych = (YYCTYPE)*YYCURSOR; yy587: if (yybm[0+yych] & 128) { goto yy586; } goto yy584; } #line 181 "../src/conf/parse_opts.re" opt_encoding_policy: if (!next (YYCURSOR, argv)) { error_arg ("--encoding-policy"); return EXIT_FAIL; } #line 2435 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'h') { if (yych == 'f') goto yy592; } else { if (yych <= 'i') goto yy593; if (yych == 's') goto yy594; } ++YYCURSOR; yy591: #line 191 "../src/conf/parse_opts.re" { error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv); return EXIT_FAIL; } #line 2452 "src/conf/parse_opts.cc" yy592: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy595; goto yy591; yy593: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'g') goto yy597; goto yy591; yy594: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'u') goto yy598; goto yy591; yy595: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy599; yy596: YYCURSOR = YYMARKER; goto yy591; yy597: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy600; goto yy596; yy598: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy601; goto yy596; yy599: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy602; goto yy596; yy600: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy603; goto yy596; yy601: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy604; goto yy596; yy602: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy605; goto yy596; yy603: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy607; goto yy596; yy604: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy608; goto yy596; yy605: ++YYCURSOR; #line 197 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; } #line 2507 "src/conf/parse_opts.cc" yy607: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy609; goto yy596; yy608: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy610; goto yy596; yy609: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy611; goto yy596; yy610: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy613; goto yy596; yy611: ++YYCURSOR; #line 195 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; } #line 2528 "src/conf/parse_opts.cc" yy613: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'u') goto yy596; yych = (YYCTYPE)*++YYCURSOR; if (yych != 't') goto yy596; yych = (YYCTYPE)*++YYCURSOR; if (yych != 'e') goto yy596; yych = (YYCTYPE)*++YYCURSOR; if (yych >= 0x01) goto yy596; ++YYCURSOR; #line 196 "../src/conf/parse_opts.re" { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; } #line 2541 "src/conf/parse_opts.cc" } #line 198 "../src/conf/parse_opts.re" opt_input: if (!next (YYCURSOR, argv)) { error_arg ("--input"); return EXIT_FAIL; } #line 2553 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych <= 'b') goto yy621; if (yych <= 'c') goto yy623; if (yych <= 'd') goto yy624; yy621: ++YYCURSOR; yy622: #line 208 "../src/conf/parse_opts.re" { error ("bad argument to option --input (expected: default | custom): %s", *argv); return EXIT_FAIL; } #line 2568 "src/conf/parse_opts.cc" yy623: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'u') goto yy625; goto yy622; yy624: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'e') goto yy627; goto yy622; yy625: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy628; yy626: YYCURSOR = YYMARKER; goto yy622; yy627: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'f') goto yy629; goto yy626; yy628: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy630; goto yy626; yy629: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy631; goto yy626; yy630: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy632; goto yy626; yy631: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'u') goto yy633; goto yy626; yy632: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy634; goto yy626; yy633: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy635; goto yy626; yy634: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy636; goto yy626; yy635: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy638; goto yy626; yy636: ++YYCURSOR; #line 213 "../src/conf/parse_opts.re" { opts.set_input_api (InputAPI::CUSTOM); goto opt; } #line 2623 "src/conf/parse_opts.cc" yy638: yych = (YYCTYPE)*++YYCURSOR; if (yych >= 0x01) goto yy626; ++YYCURSOR; #line 212 "../src/conf/parse_opts.re" { opts.set_input_api (InputAPI::DEFAULT); goto opt; } #line 2630 "src/conf/parse_opts.cc" } #line 214 "../src/conf/parse_opts.re" opt_empty_class: if (!next (YYCURSOR, argv)) { error_arg ("--empty-class"); return EXIT_FAIL; } #line 2642 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych == 'e') goto yy645; if (yych == 'm') goto yy646; ++YYCURSOR; yy644: #line 224 "../src/conf/parse_opts.re" { error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv); return EXIT_FAIL; } #line 2655 "src/conf/parse_opts.cc" yy645: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'r') goto yy647; goto yy644; yy646: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy649; goto yy644; yy647: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy650; yy648: YYCURSOR = YYMARKER; goto yy644; yy649: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy651; goto yy648; yy650: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy652; goto yy648; yy651: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy653; goto yy648; yy652: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy654; goto yy648; yy653: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'h') goto yy655; goto yy648; yy654: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy656; goto yy648; yy655: yych = (YYCTYPE)*++YYCURSOR; if (yych == '-') goto yy658; goto yy648; yy656: ++YYCURSOR; #line 230 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; } #line 2702 "src/conf/parse_opts.cc" yy658: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy659; if (yych == 'n') goto yy660; goto yy648; yy659: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'm') goto yy661; goto yy648; yy660: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy662; goto yy648; yy661: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy663; goto yy648; yy662: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy664; goto yy648; yy663: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy665; goto yy648; yy664: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy666; goto yy648; yy665: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy667; goto yy648; yy666: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy668; goto yy648; yy667: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy670; goto yy648; yy668: ++YYCURSOR; #line 229 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; } #line 2748 "src/conf/parse_opts.cc" yy670: ++YYCURSOR; #line 228 "../src/conf/parse_opts.re" { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; } #line 2753 "src/conf/parse_opts.cc" } #line 231 "../src/conf/parse_opts.re" opt_dfa_minimization: if (!next (YYCURSOR, argv)) { error_arg ("--minimization"); return EXIT_FAIL; } #line 2765 "src/conf/parse_opts.cc" { YYCTYPE yych; yych = (YYCTYPE)*YYCURSOR; if (yych == 'm') goto yy676; if (yych == 't') goto yy677; ++YYCURSOR; yy675: #line 241 "../src/conf/parse_opts.re" { error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv); return EXIT_FAIL; } #line 2778 "src/conf/parse_opts.cc" yy676: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'o') goto yy678; goto yy675; yy677: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == 'a') goto yy680; goto yy675; yy678: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy681; yy679: YYCURSOR = YYMARKER; goto yy675; yy680: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'b') goto yy682; goto yy679; yy681: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy683; goto yy679; yy682: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy684; goto yy679; yy683: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy685; goto yy679; yy684: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy686; goto yy679; yy685: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy687; goto yy679; yy686: yych = (YYCTYPE)*++YYCURSOR; if (yych <= 0x00) goto yy689; goto yy679; yy687: ++YYCURSOR; #line 246 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; } #line 2825 "src/conf/parse_opts.cc" yy689: ++YYCURSOR; #line 245 "../src/conf/parse_opts.re" { opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; } #line 2830 "src/conf/parse_opts.cc" } #line 247 "../src/conf/parse_opts.re" end: if (!opts.source_file) { error ("no source file"); return EXIT_FAIL; } return OK; #undef YYCTYPE } } // namespace re2c re2c-0.16/bootstrap/src/parse/0000755000175000017500000000000012650133526013215 500000000000000re2c-0.16/bootstrap/src/parse/lex.cc0000644000175000017500000016756412650133523014254 00000000000000/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */ #line 1 "../src/parse/lex.re" #include "src/util/c99_stdint.h" #include #include #include #include #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_null.h" #include "src/parse/code.h" #include "src/parse/extop.h" #include "src/parse/input.h" #include "src/parse/scanner.h" #include "src/parse/parser.h" // needed by "y.tab.h" #include "src/parse/unescape.h" #include "src/util/range.h" #include "src/util/s_to_n32_unsafe.h" #include "y.tab.h" extern YYSTYPE yylval; #define YYCTYPE unsigned char #define YYCURSOR cur #define YYLIMIT lim #define YYMARKER ptr #define YYCTXMARKER ctx #define YYFILL(n) { fill (n); } namespace re2c { // source code is in ASCII: pointers have type 'char *' // but re2c makes an implicit assumption that YYCTYPE is unsigned // when it generates comparisons #line 42 "../src/parse/lex.re" #line 62 "../src/parse/lex.re" Scanner::ParseMode Scanner::echo() { bool ignore_eoc = false; int ignore_cnt = 0; if (eof && cur == eof) // Catch EOF { return Stop; } tok = cur; echo: #line 62 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 16) YYFILL(16); yych = (YYCTYPE)*YYCURSOR; if (yych <= '%') { if (yych <= '\t') { if (yych >= 0x01) goto yy4; } else { if (yych <= '\n') goto yy6; if (yych <= '$') goto yy4; goto yy8; } } else { if (yych <= '*') { if (yych <= ')') goto yy4; goto yy9; } else { if (yych == '/') goto yy10; goto yy4; } } ++YYCURSOR; #line 202 "../src/parse/lex.re" { if (!ignore_eoc && opts->target == opt_t::CODE) { out.wraw(tok, tok_len () - 1); // -1 so we don't write out the \0 } if(cur == eof) { return Stop; } } #line 132 "src/parse/lex.cc" yy4: ++YYCURSOR; yy5: #line 213 "../src/parse/lex.re" { goto echo; } #line 140 "src/parse/lex.cc" yy6: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { goto yy11; } if (yych == '#') goto yy14; yy7: #line 189 "../src/parse/lex.re" { if (ignore_eoc) { ignore_cnt++; } else if (opts->target == opt_t::CODE) { out.wraw(tok, tok_len ()); } tok = pos = cur; cline++; goto echo; } #line 163 "src/parse/lex.cc" yy8: yych = (YYCTYPE)*++YYCURSOR; if (yych == '{') goto yy16; goto yy5; yy9: yych = (YYCTYPE)*++YYCURSOR; if (yych == '/') goto yy18; goto yy5; yy10: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '*') goto yy20; goto yy5; yy11: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 32) { goto yy11; } if (yych == '#') goto yy14; yy13: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy7; } else { goto yy5; } } else { goto yy19; } yy14: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy14; goto yy13; } else { if (yych <= ' ') goto yy14; if (yych == 'l') goto yy21; goto yy13; } yy16: ++YYCURSOR; #line 78 "../src/parse/lex.re" { if (opts->rFlag) { fatal("found standard 're2c' block while using -r flag"); } if (opts->target == opt_t::CODE) { const size_t lexeme_len = cur[-1] == '{' ? sizeof ("%{") - 1 : sizeof ("/*!re2c") - 1; out.wraw(tok, tok_len () - lexeme_len); } tok = cur; return Parse; } #line 226 "src/parse/lex.cc" yy18: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy22; if (yych == '\r') goto yy24; yy19: #line 168 "../src/parse/lex.re" { if (ignore_eoc) { if (ignore_cnt) { out.ws("\n").wline_info (cline, get_fname ().c_str ()); } ignore_eoc = false; ignore_cnt = 0; } else if (opts->target == opt_t::CODE) { out.wraw(tok, tok_len ()); } tok = pos = cur; goto echo; } #line 251 "src/parse/lex.cc" yy20: yych = (YYCTYPE)*++YYCURSOR; if (yych == '!') goto yy25; goto yy13; yy21: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy26; goto yy13; yy22: ++YYCURSOR; #line 150 "../src/parse/lex.re" { cline++; if (ignore_eoc) { if (ignore_cnt) { out.wline_info (cline, get_fname ().c_str ()); } ignore_eoc = false; ignore_cnt = 0; } else if (opts->target == opt_t::CODE) { out.wraw(tok, tok_len ()); } tok = pos = cur; goto echo; } #line 281 "src/parse/lex.cc" yy24: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy22; goto yy13; yy25: yych = (YYCTYPE)*++YYCURSOR; switch (yych) { case 'g': goto yy27; case 'i': goto yy28; case 'm': goto yy29; case 'r': goto yy30; case 't': goto yy31; case 'u': goto yy32; default: goto yy13; } yy26: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy33; goto yy13; yy27: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy34; goto yy13; yy28: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'g') goto yy35; goto yy13; yy29: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy36; goto yy13; yy30: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy37; if (yych == 'u') goto yy38; goto yy13; yy31: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'y') goto yy39; goto yy13; yy32: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy40; goto yy13; yy33: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy41; goto yy13; yy34: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy42; goto yy13; yy35: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy43; goto yy13; yy36: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'x') goto yy44; goto yy13; yy37: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy45; goto yy13; yy38: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'l') goto yy46; goto yy13; yy39: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'p') goto yy47; goto yy13; yy40: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy48; goto yy13; yy41: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '0') goto yy50; if (yych <= '9') goto yy13; goto yy50; yy42: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy51; goto yy13; yy43: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'o') goto yy52; goto yy13; yy44: yych = (YYCTYPE)*++YYCURSOR; if (yych == ':') goto yy53; goto yy13; yy45: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy16; goto yy13; yy46: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy54; goto yy13; yy47: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy55; goto yy13; yy48: yych = (YYCTYPE)*++YYCURSOR; if (yych == ':') goto yy56; goto yy13; yy49: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; YYCTXMARKER = YYCURSOR; yy50: if (yych <= 0x1F) { if (yych == '\t') goto yy49; goto yy13; } else { if (yych <= ' ') goto yy49; if (yych <= '0') goto yy13; if (yych <= '9') goto yy57; goto yy13; } yy51: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy59; goto yy13; yy52: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy60; goto yy13; yy53: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy61; goto yy13; yy54: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy62; goto yy13; yy55: yych = (YYCTYPE)*++YYCURSOR; if (yych == 's') goto yy63; goto yy13; yy56: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy64; goto yy13; yy57: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { goto yy57; } if (yych <= '\f') { if (yych <= 0x08) goto yy13; if (yych <= '\t') goto yy65; if (yych <= '\n') goto yy67; goto yy13; } else { if (yych <= '\r') goto yy69; if (yych == ' ') goto yy65; goto yy13; } yy59: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'a') goto yy70; goto yy13; yy60: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy71; goto yy13; yy61: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy72; goto yy13; yy62: yych = (YYCTYPE)*++YYCURSOR; if (yych == ':') goto yy73; goto yy13; yy63: yych = (YYCTYPE)*++YYCURSOR; if (yych == ':') goto yy74; goto yy13; yy64: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy75; goto yy13; yy65: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy65; goto yy13; } else { if (yych <= ' ') goto yy65; if (yych == '"') goto yy76; goto yy13; } yy67: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 185 "../src/parse/lex.re" { set_sourceline (); goto echo; } #line 491 "src/parse/lex.cc" yy69: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy67; goto yy13; yy70: yych = (YYCTYPE)*++YYCURSOR; if (yych == 't') goto yy78; goto yy13; yy71: yych = (YYCTYPE)*++YYCURSOR; if (yych == ':') goto yy79; goto yy13; yy72: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy80; goto yy13; yy73: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy81; goto yy13; yy74: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy82; goto yy13; yy75: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy83; goto yy13; yy76: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { goto yy76; } if (yych <= '\n') goto yy13; if (yych <= '"') goto yy84; goto yy85; yy78: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy86; goto yy13; yy79: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy87; goto yy13; yy80: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy88; goto yy13; yy81: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy90; goto yy13; yy82: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy91; goto yy13; yy83: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy92; goto yy13; yy84: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy67; if (yych == '\r') goto yy69; goto yy13; yy85: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy13; goto yy76; yy86: yych = (YYCTYPE)*++YYCURSOR; if (yych == ':') goto yy94; goto yy13; yy87: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy95; goto yy13; yy88: ++YYCURSOR; #line 119 "../src/parse/lex.re" { if (opts->target != opt_t::DOT) { out.wdelay_yymaxfill (); } tok = pos = cur; ignore_eoc = true; goto echo; } #line 585 "src/parse/lex.cc" yy90: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy96; goto yy13; yy91: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy97; goto yy13; yy92: ++YYCURSOR; #line 105 "../src/parse/lex.re" { if (!opts->rFlag) { fatal("found 'use:re2c' block without -r flag"); } reuse(); if (opts->target == opt_t::CODE) { const size_t lexeme_len = sizeof ("/*!use:re2c") - 1; out.wraw(tok, tok_len () - lexeme_len); } tok = cur; return Reuse; } #line 611 "src/parse/lex.cc" yy94: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'r') goto yy98; goto yy13; yy95: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy99; goto yy13; yy96: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy100; goto yy13; yy97: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy102; goto yy13; yy98: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy104; goto yy13; yy99: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'c') goto yy105; goto yy13; yy100: ++YYCURSOR; #line 93 "../src/parse/lex.re" { if (opts->rFlag) { opts.reset_mapCodeName (); } else { fatal("found 'rules:re2c' block without -r flag"); } tok = cur; return Rules; } #line 651 "src/parse/lex.cc" yy102: ++YYCURSOR; #line 139 "../src/parse/lex.re" { tok = pos = cur; ignore_eoc = true; if (opts->target != opt_t::DOT) { out.wdelay_line_info ().ws("\n") .wdelay_types ().ws("\n") .wline_info (cline, get_fname ().c_str ()); } goto echo; } #line 666 "src/parse/lex.cc" yy104: yych = (YYCTYPE)*++YYCURSOR; if (yych == '2') goto yy107; goto yy13; yy105: ++YYCURSOR; #line 134 "../src/parse/lex.re" { tok = pos = cur; ignore_eoc = true; goto echo; } #line 679 "src/parse/lex.cc" yy107: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 128 "../src/parse/lex.re" { tok = pos = cur; out.wdelay_state_goto (opts->topIndent); ignore_eoc = true; goto echo; } #line 691 "src/parse/lex.cc" } #line 216 "../src/parse/lex.re" } int Scanner::scan() { uint32_t depth; scan: tchar = cur - pos; tline = cline; tok = cur; switch (lexer_state) { case LEX_NORMAL: goto start; case LEX_FLEX_NAME: goto flex_name; } start: #line 713 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 144, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 144, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 128, 128, 128, 128, 128, 128, 128, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 128, 0, 128, 128, 160, 128, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 16) { goto yy114; } if (yych <= '9') { if (yych <= '&') { if (yych <= '\r') { if (yych <= 0x08) goto yy112; if (yych <= '\n') goto yy117; if (yych >= '\r') goto yy119; } else { if (yych <= '"') { if (yych >= '"') goto yy120; } else { if (yych == '%') goto yy122; } } } else { if (yych <= '+') { if (yych <= '\'') goto yy123; if (yych <= ')') goto yy125; if (yych <= '*') goto yy127; goto yy129; } else { if (yych <= '-') { if (yych <= ',') goto yy125; } else { if (yych <= '.') goto yy131; if (yych <= '/') goto yy133; goto yy134; } } } } else { if (yych <= '\\') { if (yych <= '>') { if (yych <= ':') goto yy135; if (yych == '<') goto yy136; goto yy125; } else { if (yych <= '@') { if (yych <= '?') goto yy129; } else { if (yych <= 'Z') goto yy134; if (yych <= '[') goto yy137; goto yy125; } } } else { if (yych <= 'q') { if (yych == '_') goto yy134; if (yych >= 'a') goto yy134; } else { if (yych <= 'z') { if (yych <= 'r') goto yy139; goto yy134; } else { if (yych <= '{') goto yy140; if (yych <= '|') goto yy125; } } } } yy112: ++YYCURSOR; yy113: #line 388 "../src/parse/lex.re" { fatalf("unexpected character: '%c'", *tok); goto scan; } #line 823 "src/parse/lex.cc" yy114: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 16) { goto yy114; } #line 372 "../src/parse/lex.re" { goto scan; } #line 835 "src/parse/lex.cc" yy117: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy142; } else { if (yych <= ' ') goto yy142; if (yych == '#') goto yy145; } yy118: #line 381 "../src/parse/lex.re" { if (cur == eof) return 0; pos = cur; cline++; goto scan; } #line 853 "src/parse/lex.cc" yy119: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy117; goto yy113; yy120: ++YYCURSOR; #line 265 "../src/parse/lex.re" { yylval.regexp = lex_str('"', opts->bCaseInsensitive || opts->bCaseInverted); return TOKEN_REGEXP; } #line 862 "src/parse/lex.cc" yy122: yych = (YYCTYPE)*++YYCURSOR; if (yych == '}') goto yy147; goto yy113; yy123: ++YYCURSOR; #line 264 "../src/parse/lex.re" { yylval.regexp = lex_str('\'', opts->bCaseInsensitive || !opts->bCaseInverted); return TOKEN_REGEXP; } #line 871 "src/parse/lex.cc" yy125: ++YYCURSOR; yy126: #line 275 "../src/parse/lex.re" { return *tok; } #line 879 "src/parse/lex.cc" yy127: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) == '/') goto yy147; #line 279 "../src/parse/lex.re" { yylval.op = *tok; return TOKEN_STAR; } #line 888 "src/parse/lex.cc" yy129: ++YYCURSOR; #line 283 "../src/parse/lex.re" { yylval.op = *tok; return TOKEN_CLOSE; } #line 896 "src/parse/lex.cc" yy131: ++YYCURSOR; #line 367 "../src/parse/lex.re" { yylval.regexp = mkDot(); return TOKEN_REGEXP; } #line 904 "src/parse/lex.cc" yy133: yych = (YYCTYPE)*++YYCURSOR; if (yych == '*') goto yy149; if (yych == '/') goto yy151; goto yy126; yy134: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; goto yy159; yy135: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; if (yych == '=') goto yy160; goto yy113; yy136: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '!') goto yy162; if (yych == '>') goto yy164; goto yy126; yy137: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) == '^') goto yy165; #line 266 "../src/parse/lex.re" { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; } #line 930 "src/parse/lex.cc" yy139: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; if (yych == 'e') goto yy167; goto yy159; yy140: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 64) { goto yy170; } if (yych <= 'Z') { if (yych == ',') goto yy168; if (yych >= 'A') goto yy172; } else { if (yych <= '_') { if (yych >= '_') goto yy172; } else { if (yych <= '`') goto yy141; if (yych <= 'z') goto yy172; } } yy141: #line 235 "../src/parse/lex.re" { depth = 1; goto code; } #line 959 "src/parse/lex.cc" yy142: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy142; } else { if (yych <= ' ') goto yy142; if (yych == '#') goto yy145; } yy144: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy118; } else { goto yy126; } } else { if (yyaccept == 2) { goto yy141; } else { goto yy169; } } yy145: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy145; goto yy144; } else { if (yych <= ' ') goto yy145; if (yych == 'l') goto yy174; goto yy144; } yy147: ++YYCURSOR; #line 259 "../src/parse/lex.re" { tok = cur; return 0; } #line 1004 "src/parse/lex.cc" yy149: ++YYCURSOR; #line 253 "../src/parse/lex.re" { depth = 1; goto comment; } #line 1012 "src/parse/lex.cc" yy151: ++YYCURSOR; #line 250 "../src/parse/lex.re" { goto nextLine; } #line 1019 "src/parse/lex.cc" yy153: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 351 "../src/parse/lex.re" { if (!opts->FFlag) { yylval.str = new std::string (tok, tok_len()); return TOKEN_ID; } else { RegExp *r = NULL; const bool casing = opts->bCaseInsensitive || opts->bCaseInverted; for (char *s = tok; s < cur; ++s) { const uint32_t c = static_cast(*s); r = doCat(r, casing ? ichr(c) : schr(c)); } yylval.regexp = r ? r : new NullOp; return TOKEN_REGEXP; } } #line 1039 "src/parse/lex.cc" yy155: yych = (YYCTYPE)*++YYCURSOR; goto yy178; yy156: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 346 "../src/parse/lex.re" { yylval.str = new std::string (tok, tok_len ()); return TOKEN_ID; } #line 1051 "src/parse/lex.cc" yy158: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; YYCTXMARKER = YYCURSOR; yy159: if (yybm[0+yych] & 32) { goto yy158; } if (yych <= ' ') { if (yych == '\t') goto yy155; if (yych <= 0x1F) goto yy153; goto yy155; } else { if (yych <= ',') { if (yych <= '+') goto yy153; goto yy156; } else { if (yych <= '<') goto yy153; if (yych <= '>') goto yy156; goto yy153; } } yy160: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) == '>') goto yy179; #line 244 "../src/parse/lex.re" { tok += 2; /* skip ":=" */ depth = 0; goto code; } #line 1084 "src/parse/lex.cc" yy162: ++YYCURSOR; #line 272 "../src/parse/lex.re" { return TOKEN_SETUP; } #line 1091 "src/parse/lex.cc" yy164: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; goto yy182; yy165: ++YYCURSOR; #line 267 "../src/parse/lex.re" { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; } #line 1100 "src/parse/lex.cc" yy167: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; if (yych == '2') goto yy187; goto yy159; yy168: ++YYCURSOR; yy169: #line 319 "../src/parse/lex.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } #line 1113 "src/parse/lex.cc" yy170: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { goto yy170; } if (yych <= '^') { if (yych <= ',') { if (yych <= '+') goto yy144; goto yy188; } else { if (yych <= '@') goto yy144; if (yych >= '[') goto yy144; } } else { if (yych <= 'z') { if (yych == '`') goto yy144; } else { if (yych == '}') goto yy189; goto yy144; } } yy172: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= '^') { if (yych <= '9') { if (yych <= '/') goto yy144; goto yy172; } else { if (yych <= '@') goto yy144; if (yych <= 'Z') goto yy172; goto yy144; } } else { if (yych <= 'z') { if (yych == '`') goto yy144; goto yy172; } else { if (yych == '}') goto yy191; goto yy144; } } yy174: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'i') goto yy193; goto yy144; yy175: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 333 "../src/parse/lex.re" { yylval.str = new std::string (tok, tok_len ()); if (opts->FFlag) { lexer_state = LEX_FLEX_NAME; return TOKEN_FID; } else { return TOKEN_ID; } } #line 1179 "src/parse/lex.cc" yy177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; yy178: if (yych <= ' ') { if (yych == '\t') goto yy177; if (yych <= 0x1F) goto yy175; goto yy177; } else { if (yych <= ',') { if (yych <= '+') goto yy175; goto yy156; } else { if (yych <= '<') goto yy175; if (yych <= '>') goto yy156; goto yy175; } } yy179: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 240 "../src/parse/lex.re" { return *tok; } #line 1206 "src/parse/lex.cc" yy181: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; yy182: if (yych <= '9') { if (yych <= '\t') { if (yych <= 0x08) goto yy144; goto yy181; } else { if (yych == ' ') goto yy181; goto yy144; } } else { if (yych <= '=') { if (yych <= ':') goto yy183; if (yych <= '<') goto yy144; goto yy184; } else { if (yych == '{') goto yy185; goto yy144; } } yy183: yych = (YYCTYPE)*++YYCURSOR; if (yych == '=') goto yy185; goto yy144; yy184: yych = (YYCTYPE)*++YYCURSOR; if (yych != '>') goto yy144; yy185: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 269 "../src/parse/lex.re" { return TOKEN_NOCOND; } #line 1244 "src/parse/lex.cc" yy187: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; if (yych == 'c') goto yy194; goto yy159; yy188: yyaccept = 3; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy169; if (yych <= '9') goto yy195; if (yych == '}') goto yy197; goto yy169; yy189: ++YYCURSOR; #line 288 "../src/parse/lex.re" { if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.extop.min)) { fatal ("repetition count overflow"); } yylval.extop.max = yylval.extop.min; return TOKEN_CLOSESIZE; } #line 1268 "src/parse/lex.cc" yy191: ++YYCURSOR; #line 323 "../src/parse/lex.re" { if (!opts->FFlag) { fatal("curly braces for names only allowed with -F switch"); } yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces return TOKEN_ID; } #line 1279 "src/parse/lex.cc" yy193: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'n') goto yy199; goto yy144; yy194: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; if (yych == ':') goto yy200; goto yy159; yy195: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= '/') goto yy144; if (yych <= '9') goto yy195; if (yych == '}') goto yy202; goto yy144; yy197: ++YYCURSOR; #line 310 "../src/parse/lex.re" { if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.extop.min)) { fatal ("repetition lower bound overflow"); } yylval.extop.max = std::numeric_limits::max(); return TOKEN_CLOSESIZE; } #line 1308 "src/parse/lex.cc" yy199: yych = (YYCTYPE)*++YYCURSOR; if (yych == 'e') goto yy204; goto yy144; yy200: ++YYCURSOR; #line 331 "../src/parse/lex.re" { lex_conf (); return TOKEN_CONF; } #line 1317 "src/parse/lex.cc" yy202: ++YYCURSOR; #line 297 "../src/parse/lex.re" { const char * p = strchr (tok, ','); if (!s_to_u32_unsafe (tok + 1, p, yylval.extop.min)) { fatal ("repetition lower bound overflow"); } if (!s_to_u32_unsafe (p + 1, cur - 1, yylval.extop.max)) { fatal ("repetition upper bound overflow"); } return TOKEN_CLOSESIZE; } #line 1333 "src/parse/lex.cc" yy204: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '0') goto yy206; if (yych <= '9') goto yy144; goto yy206; yy205: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; YYCTXMARKER = YYCURSOR; yy206: if (yych <= 0x1F) { if (yych == '\t') goto yy205; goto yy144; } else { if (yych <= ' ') goto yy205; if (yych <= '0') goto yy144; if (yych >= ':') goto yy144; } yy207: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy144; } else { if (yych <= '\n') goto yy211; if (yych <= '\f') goto yy144; goto yy213; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy144; } else { if (yych <= '/') goto yy144; if (yych <= '9') goto yy207; goto yy144; } } yy209: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy209; goto yy144; } else { if (yych <= ' ') goto yy209; if (yych == '"') goto yy214; goto yy144; } yy211: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 376 "../src/parse/lex.re" { set_sourceline (); goto scan; } #line 1394 "src/parse/lex.cc" yy213: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy211; goto yy144; yy214: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { goto yy214; } if (yych <= '\n') goto yy144; if (yych >= '#') goto yy217; yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy211; if (yych == '\r') goto yy213; goto yy144; yy217: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy144; goto yy214; } #line 392 "../src/parse/lex.re" flex_name: #line 1424 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy222; if (yych == '\r') goto yy224; ++YYCURSOR; yy221: #line 403 "../src/parse/lex.re" { YYCURSOR = tok; goto start; } #line 1438 "src/parse/lex.cc" yy222: ++YYCURSOR; #line 397 "../src/parse/lex.re" { YYCURSOR = tok; lexer_state = LEX_NORMAL; return TOKEN_FID_END; } #line 1447 "src/parse/lex.cc" yy224: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) == '\n') goto yy222; goto yy221; } #line 407 "../src/parse/lex.re" code: #line 1458 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 96, 96, 96, 96, 96, 96, 96, 96, 96, 112, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 112, 96, 64, 96, 96, 96, 96, 32, 96, 96, 96, 96, 96, 96, 96, 96, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 0, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, }; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yych <= '&') { if (yych <= '\n') { if (yych <= 0x00) goto yy227; if (yych <= '\t') goto yy229; goto yy231; } else { if (yych == '"') goto yy233; goto yy229; } } else { if (yych <= '{') { if (yych <= '\'') goto yy234; if (yych <= 'z') goto yy229; goto yy235; } else { if (yych == '}') goto yy237; goto yy229; } } yy227: ++YYCURSOR; #line 470 "../src/parse/lex.re" { if (cur == eof) { if (depth) { fatal("missing '}'"); } return 0; } goto code; } #line 1531 "src/parse/lex.cc" yy229: ++YYCURSOR; yy230: #line 484 "../src/parse/lex.re" { goto code; } #line 1539 "src/parse/lex.cc" yy231: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); YYCTXMARKER = YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych >= '\t') goto yy239; } else { if (yych <= '\n') goto yy241; if (yych >= '\r') goto yy241; } } else { if (yych <= ' ') { if (yych >= ' ') goto yy239; } else { if (yych == '#') goto yy242; } } yy232: #line 451 "../src/parse/lex.re" { if (depth == 0) { tok += strspn(tok, " \t\r\n"); while (cur > tok && strchr(" \t\r\n", cur[-1])) { --cur; } yylval.code = new Code (tok, tok_len (), get_fname (), tline); return TOKEN_CODE; } else if (cur == eof) { fatal("missing '}'"); } pos = cur; cline++; goto code; } #line 1579 "src/parse/lex.cc" yy233: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy230; goto yy246; yy234: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy230; goto yy251; yy235: ++YYCURSOR; #line 423 "../src/parse/lex.re" { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else { ++depth; } goto code; } #line 1604 "src/parse/lex.cc" yy237: ++YYCURSOR; #line 411 "../src/parse/lex.re" { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else if (--depth == 0) { yylval.code = new Code (tok, tok_len (), get_fname (), tline); return TOKEN_CODE; } goto code; } #line 1620 "src/parse/lex.cc" yy239: yyaccept = 2; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy253; } else { if (yych <= ' ') goto yy253; if (yych == '#') goto yy242; } yy240: YYCURSOR = YYCTXMARKER; #line 438 "../src/parse/lex.re" { if (depth == 0) { goto code; } else if (cur == eof) { fatal("missing '}'"); } pos = cur; cline++; goto code; } #line 1646 "src/parse/lex.cc" yy241: yych = (YYCTYPE)*++YYCURSOR; goto yy240; yy242: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 16) { goto yy242; } if (yych == 'l') goto yy255; yy244: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept == 0) { goto yy232; } else { goto yy230; } } else { goto yy240; } yy245: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; yy246: if (yybm[0+yych] & 32) { goto yy245; } if (yych <= '\n') goto yy244; if (yych >= '#') goto yy249; yy247: ++YYCURSOR; #line 481 "../src/parse/lex.re" { goto code; } #line 1685 "src/parse/lex.cc" yy249: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy244; goto yy245; yy250: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; yy251: if (yybm[0+yych] & 64) { goto yy250; } if (yych <= '\n') goto yy244; if (yych <= '\'') goto yy247; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy244; goto yy250; yy253: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy253; goto yy244; } else { if (yych <= ' ') goto yy253; if (yych == '#') goto yy242; goto yy244; } yy255: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'i') goto yy244; yych = (YYCTYPE)*++YYCURSOR; if (yych != 'n') goto yy244; yych = (YYCTYPE)*++YYCURSOR; if (yych != 'e') goto yy244; yych = (YYCTYPE)*++YYCURSOR; if (yych <= '0') goto yy260; if (yych <= '9') goto yy244; goto yy260; yy259: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; YYCTXMARKER = YYCURSOR; yy260: if (yych <= 0x1F) { if (yych == '\t') goto yy259; goto yy244; } else { if (yych <= ' ') goto yy259; if (yych <= '0') goto yy244; if (yych >= ':') goto yy244; } yy261: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { goto yy261; } if (yych <= '\f') { if (yych <= 0x08) goto yy244; if (yych <= '\t') goto yy263; if (yych <= '\n') goto yy265; goto yy244; } else { if (yych <= '\r') goto yy267; if (yych != ' ') goto yy244; } yy263: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy263; goto yy244; } else { if (yych <= ' ') goto yy263; if (yych == '"') goto yy268; goto yy244; } yy265: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 434 "../src/parse/lex.re" { set_sourceline (); goto code; } #line 1780 "src/parse/lex.cc" yy267: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy265; goto yy244; yy268: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy244; goto yy268; } else { if (yych <= '"') goto yy270; if (yych == '\\') goto yy271; goto yy268; } yy270: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy265; if (yych == '\r') goto yy267; goto yy244; yy271: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy244; goto yy268; } #line 487 "../src/parse/lex.re" comment: #line 1814 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= ')') { if (yych == '\n') goto yy276; } else { if (yych <= '*') goto yy278; if (yych == '/') goto yy279; } ++YYCURSOR; yy275: #line 519 "../src/parse/lex.re" { if (cur == eof) { return 0; } goto comment; } #line 1869 "src/parse/lex.cc" yy276: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { goto yy280; } if (yych == '#') goto yy283; yy277: #line 510 "../src/parse/lex.re" { if (cur == eof) { return 0; } tok = pos = cur; cline++; goto comment; } #line 1887 "src/parse/lex.cc" yy278: yych = (YYCTYPE)*++YYCURSOR; if (yych == '/') goto yy285; goto yy275; yy279: yych = (YYCTYPE)*++YYCURSOR; if (yych == '*') goto yy287; goto yy275; yy280: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 32) { goto yy280; } if (yych == '#') goto yy283; yy282: YYCURSOR = YYMARKER; goto yy277; yy283: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy283; goto yy282; } else { if (yych <= ' ') goto yy283; if (yych == 'l') goto yy289; goto yy282; } yy285: ++YYCURSOR; #line 491 "../src/parse/lex.re" { if (--depth == 0) { goto scan; } else { goto comment; } } #line 1932 "src/parse/lex.cc" yy287: ++YYCURSOR; #line 501 "../src/parse/lex.re" { ++depth; fatal("ambiguous /* found"); goto comment; } #line 1941 "src/parse/lex.cc" yy289: yych = (YYCTYPE)*++YYCURSOR; if (yych != 'i') goto yy282; yych = (YYCTYPE)*++YYCURSOR; if (yych != 'n') goto yy282; yych = (YYCTYPE)*++YYCURSOR; if (yych != 'e') goto yy282; yych = (YYCTYPE)*++YYCURSOR; if (yych <= '0') goto yy294; if (yych <= '9') goto yy282; goto yy294; yy293: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; YYCTXMARKER = YYCURSOR; yy294: if (yych <= 0x1F) { if (yych == '\t') goto yy293; goto yy282; } else { if (yych <= ' ') goto yy293; if (yych <= '0') goto yy282; if (yych >= ':') goto yy282; } yy295: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { goto yy295; } if (yych <= '\f') { if (yych <= 0x08) goto yy282; if (yych <= '\t') goto yy297; if (yych <= '\n') goto yy299; goto yy282; } else { if (yych <= '\r') goto yy301; if (yych != ' ') goto yy282; } yy297: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy297; goto yy282; } else { if (yych <= ' ') goto yy297; if (yych == '"') goto yy302; goto yy282; } yy299: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 506 "../src/parse/lex.re" { set_sourceline (); goto comment; } #line 2003 "src/parse/lex.cc" yy301: yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy299; goto yy282; yy302: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 128) { goto yy302; } if (yych <= '\n') goto yy282; if (yych >= '#') goto yy305; yych = (YYCTYPE)*++YYCURSOR; if (yych == '\n') goto yy299; if (yych == '\r') goto yy301; goto yy282; yy305: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy282; goto yy302; } #line 526 "../src/parse/lex.re" nextLine: #line 2033 "src/parse/lex.cc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy310; ++YYCURSOR; #line 537 "../src/parse/lex.re" { if(cur == eof) { return 0; } goto nextLine; } #line 2046 "src/parse/lex.cc" yy310: ++YYCURSOR; #line 530 "../src/parse/lex.re" { if(cur == eof) { return 0; } tok = pos = cur; cline++; goto scan; } #line 2057 "src/parse/lex.cc" } #line 542 "../src/parse/lex.re" } static void escape (std::string & dest, const std::string & src) { dest = src; size_t l = dest.length(); for (size_t p = 0; p < l; ++p) { if (dest[p] == '\\') { dest.insert(++p, "\\"); ++l; } } } RegExp *Scanner::lex_cls(bool neg) { Range *r = NULL, *s; uint32_t u, l; fst: #line 2083 "src/parse/lex.cc" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == ']') goto yy315; #line 566 "../src/parse/lex.re" { l = lex_cls_chr(); goto snd; } #line 2091 "src/parse/lex.cc" yy315: ++YYCURSOR; #line 565 "../src/parse/lex.re" { goto end; } #line 2096 "src/parse/lex.cc" } #line 567 "../src/parse/lex.re" snd: #line 2102 "src/parse/lex.cc" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*(YYMARKER = YYCURSOR); if (yych == '-') goto yy320; yy319: #line 570 "../src/parse/lex.re" { u = l; goto add; } #line 2111 "src/parse/lex.cc" yy320: yych = (YYCTYPE)*++YYCURSOR; YYCTXMARKER = YYCURSOR; if (yych != ']') goto yy322; YYCURSOR = YYMARKER; goto yy319; yy322: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 571 "../src/parse/lex.re" { u = lex_cls_chr(); if (l > u) { warn.swapped_range(get_line(), l, u); std::swap(l, u); } goto add; } #line 2130 "src/parse/lex.cc" } #line 579 "../src/parse/lex.re" add: if (!(s = opts->encoding.encodeRange(l, u))) { fatalf ("Bad code point range: '0x%X - 0x%X'", l, u); } r = Range::add(r, s); goto fst; end: if (neg) { r = Range::sub(opts->encoding.fullRange(), r); } return cls(r); } uint32_t Scanner::lex_cls_chr() { tok = cur; #line 2151 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy328; if (yych == '\\') goto yy330; ++YYCURSOR; #line 602 "../src/parse/lex.re" { return static_cast(tok[0]); } #line 2162 "src/parse/lex.cc" yy328: ++YYCURSOR; #line 597 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error"); } #line 2167 "src/parse/lex.cc" yy330: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= '`') { if (yych <= '7') { if (yych <= ',') { if (yych != '\n') goto yy332; } else { if (yych <= '-') goto yy334; if (yych <= '/') goto yy332; if (yych <= '3') goto yy336; goto yy338; } } else { if (yych <= 'X') { if (yych == 'U') goto yy339; if (yych <= 'W') goto yy332; goto yy341; } else { if (yych <= '[') goto yy332; if (yych <= '\\') goto yy342; if (yych <= ']') goto yy344; goto yy332; } } } else { if (yych <= 'q') { if (yych <= 'e') { if (yych <= 'a') goto yy346; if (yych <= 'b') goto yy348; goto yy332; } else { if (yych <= 'f') goto yy350; if (yych == 'n') goto yy352; goto yy332; } } else { if (yych <= 'u') { if (yych <= 'r') goto yy354; if (yych <= 's') goto yy332; if (yych <= 't') goto yy356; goto yy341; } else { if (yych <= 'v') goto yy358; if (yych == 'x') goto yy360; goto yy332; } } } #line 600 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); } #line 2218 "src/parse/lex.cc" yy332: ++YYCURSOR; #line 615 "../src/parse/lex.re" { warn.useless_escape(tline, tok - pos, tok[1]); return static_cast(tok[1]); } #line 2226 "src/parse/lex.cc" yy334: ++YYCURSOR; #line 613 "../src/parse/lex.re" { return static_cast('-'); } #line 2231 "src/parse/lex.cc" yy336: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy337; if (yych <= '7') goto yy361; yy337: #line 599 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); } #line 2240 "src/parse/lex.cc" yy338: yych = (YYCTYPE)*++YYCURSOR; goto yy337; yy339: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') goto yy340; if (yych <= '9') goto yy363; } else { if (yych <= 'F') goto yy363; if (yych <= '`') goto yy340; if (yych <= 'f') goto yy363; } yy340: #line 598 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); } #line 2258 "src/parse/lex.cc" yy341: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') goto yy340; if (yych <= '9') goto yy364; goto yy340; } else { if (yych <= 'F') goto yy364; if (yych <= '`') goto yy340; if (yych <= 'f') goto yy364; goto yy340; } yy342: ++YYCURSOR; #line 612 "../src/parse/lex.re" { return static_cast('\\'); } #line 2276 "src/parse/lex.cc" yy344: ++YYCURSOR; #line 614 "../src/parse/lex.re" { return static_cast(']'); } #line 2281 "src/parse/lex.cc" yy346: ++YYCURSOR; #line 605 "../src/parse/lex.re" { return static_cast('\a'); } #line 2286 "src/parse/lex.cc" yy348: ++YYCURSOR; #line 606 "../src/parse/lex.re" { return static_cast('\b'); } #line 2291 "src/parse/lex.cc" yy350: ++YYCURSOR; #line 607 "../src/parse/lex.re" { return static_cast('\f'); } #line 2296 "src/parse/lex.cc" yy352: ++YYCURSOR; #line 608 "../src/parse/lex.re" { return static_cast('\n'); } #line 2301 "src/parse/lex.cc" yy354: ++YYCURSOR; #line 609 "../src/parse/lex.re" { return static_cast('\r'); } #line 2306 "src/parse/lex.cc" yy356: ++YYCURSOR; #line 610 "../src/parse/lex.re" { return static_cast('\t'); } #line 2311 "src/parse/lex.cc" yy358: ++YYCURSOR; #line 611 "../src/parse/lex.re" { return static_cast('\v'); } #line 2316 "src/parse/lex.cc" yy360: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') goto yy340; if (yych <= '9') goto yy365; goto yy340; } else { if (yych <= 'F') goto yy365; if (yych <= '`') goto yy340; if (yych <= 'f') goto yy365; goto yy340; } yy361: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '/') goto yy362; if (yych <= '7') goto yy366; yy362: YYCURSOR = YYMARKER; if (yyaccept == 0) { goto yy337; } else { goto yy340; } yy363: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy362; if (yych <= '9') goto yy368; goto yy362; } else { if (yych <= 'F') goto yy368; if (yych <= '`') goto yy362; if (yych <= 'f') goto yy368; goto yy362; } yy364: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy362; if (yych <= '9') goto yy369; goto yy362; } else { if (yych <= 'F') goto yy369; if (yych <= '`') goto yy362; if (yych <= 'f') goto yy369; goto yy362; } yy365: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy362; if (yych <= '9') goto yy370; goto yy362; } else { if (yych <= 'F') goto yy370; if (yych <= '`') goto yy362; if (yych <= 'f') goto yy370; goto yy362; } yy366: ++YYCURSOR; #line 604 "../src/parse/lex.re" { return unesc_oct(tok, cur); } #line 2381 "src/parse/lex.cc" yy368: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy362; if (yych <= '9') goto yy372; goto yy362; } else { if (yych <= 'F') goto yy372; if (yych <= '`') goto yy362; if (yych <= 'f') goto yy372; goto yy362; } yy369: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy362; if (yych <= '9') goto yy365; goto yy362; } else { if (yych <= 'F') goto yy365; if (yych <= '`') goto yy362; if (yych <= 'f') goto yy365; goto yy362; } yy370: ++YYCURSOR; #line 603 "../src/parse/lex.re" { return unesc_hex(tok, cur); } #line 2410 "src/parse/lex.cc" yy372: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy362; if (yych >= ':') goto yy362; } else { if (yych <= 'F') goto yy373; if (yych <= '`') goto yy362; if (yych >= 'g') goto yy362; } yy373: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= '@') { if (yych <= '/') goto yy362; if (yych <= '9') goto yy364; goto yy362; } else { if (yych <= 'F') goto yy364; if (yych <= '`') goto yy362; if (yych <= 'f') goto yy364; goto yy362; } } #line 619 "../src/parse/lex.re" } uint32_t Scanner::lex_str_chr(char quote, bool &end) { end = false; tok = cur; #line 2443 "src/parse/lex.cc" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy378; if (yych == '\\') goto yy380; ++YYCURSOR; #line 632 "../src/parse/lex.re" { end = tok[0] == quote; return static_cast(tok[0]); } #line 2457 "src/parse/lex.cc" yy378: ++YYCURSOR; #line 627 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error"); } #line 2462 "src/parse/lex.cc" yy380: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= 'a') { if (yych <= 'T') { if (yych <= '/') { if (yych != '\n') goto yy382; } else { if (yych <= '3') goto yy384; if (yych <= '7') goto yy386; goto yy382; } } else { if (yych <= 'X') { if (yych <= 'U') goto yy387; if (yych <= 'W') goto yy382; goto yy389; } else { if (yych == '\\') goto yy390; if (yych <= '`') goto yy382; goto yy392; } } } else { if (yych <= 'r') { if (yych <= 'f') { if (yych <= 'b') goto yy394; if (yych <= 'e') goto yy382; goto yy396; } else { if (yych == 'n') goto yy398; if (yych <= 'q') goto yy382; goto yy400; } } else { if (yych <= 'u') { if (yych <= 's') goto yy382; if (yych <= 't') goto yy402; goto yy389; } else { if (yych <= 'v') goto yy404; if (yych == 'x') goto yy406; goto yy382; } } } #line 630 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); } #line 2510 "src/parse/lex.cc" yy382: ++YYCURSOR; #line 646 "../src/parse/lex.re" { if (tok[1] != quote) { warn.useless_escape(tline, tok - pos, tok[1]); } return static_cast(tok[1]); } #line 2520 "src/parse/lex.cc" yy384: yyaccept = 0; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy385; if (yych <= '7') goto yy407; yy385: #line 629 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); } #line 2529 "src/parse/lex.cc" yy386: yych = (YYCTYPE)*++YYCURSOR; goto yy385; yy387: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') goto yy388; if (yych <= '9') goto yy409; } else { if (yych <= 'F') goto yy409; if (yych <= '`') goto yy388; if (yych <= 'f') goto yy409; } yy388: #line 628 "../src/parse/lex.re" { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); } #line 2547 "src/parse/lex.cc" yy389: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') goto yy388; if (yych <= '9') goto yy410; goto yy388; } else { if (yych <= 'F') goto yy410; if (yych <= '`') goto yy388; if (yych <= 'f') goto yy410; goto yy388; } yy390: ++YYCURSOR; #line 645 "../src/parse/lex.re" { return static_cast('\\'); } #line 2565 "src/parse/lex.cc" yy392: ++YYCURSOR; #line 638 "../src/parse/lex.re" { return static_cast('\a'); } #line 2570 "src/parse/lex.cc" yy394: ++YYCURSOR; #line 639 "../src/parse/lex.re" { return static_cast('\b'); } #line 2575 "src/parse/lex.cc" yy396: ++YYCURSOR; #line 640 "../src/parse/lex.re" { return static_cast('\f'); } #line 2580 "src/parse/lex.cc" yy398: ++YYCURSOR; #line 641 "../src/parse/lex.re" { return static_cast('\n'); } #line 2585 "src/parse/lex.cc" yy400: ++YYCURSOR; #line 642 "../src/parse/lex.re" { return static_cast('\r'); } #line 2590 "src/parse/lex.cc" yy402: ++YYCURSOR; #line 643 "../src/parse/lex.re" { return static_cast('\t'); } #line 2595 "src/parse/lex.cc" yy404: ++YYCURSOR; #line 644 "../src/parse/lex.re" { return static_cast('\v'); } #line 2600 "src/parse/lex.cc" yy406: yyaccept = 1; yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') goto yy388; if (yych <= '9') goto yy411; goto yy388; } else { if (yych <= 'F') goto yy411; if (yych <= '`') goto yy388; if (yych <= 'f') goto yy411; goto yy388; } yy407: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '/') goto yy408; if (yych <= '7') goto yy412; yy408: YYCURSOR = YYMARKER; if (yyaccept == 0) { goto yy385; } else { goto yy388; } yy409: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy408; if (yych <= '9') goto yy414; goto yy408; } else { if (yych <= 'F') goto yy414; if (yych <= '`') goto yy408; if (yych <= 'f') goto yy414; goto yy408; } yy410: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy408; if (yych <= '9') goto yy415; goto yy408; } else { if (yych <= 'F') goto yy415; if (yych <= '`') goto yy408; if (yych <= 'f') goto yy415; goto yy408; } yy411: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy408; if (yych <= '9') goto yy416; goto yy408; } else { if (yych <= 'F') goto yy416; if (yych <= '`') goto yy408; if (yych <= 'f') goto yy416; goto yy408; } yy412: ++YYCURSOR; #line 637 "../src/parse/lex.re" { return unesc_oct(tok, cur); } #line 2665 "src/parse/lex.cc" yy414: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy408; if (yych <= '9') goto yy418; goto yy408; } else { if (yych <= 'F') goto yy418; if (yych <= '`') goto yy408; if (yych <= 'f') goto yy418; goto yy408; } yy415: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy408; if (yych <= '9') goto yy411; goto yy408; } else { if (yych <= 'F') goto yy411; if (yych <= '`') goto yy408; if (yych <= 'f') goto yy411; goto yy408; } yy416: ++YYCURSOR; #line 636 "../src/parse/lex.re" { return unesc_hex(tok, cur); } #line 2694 "src/parse/lex.cc" yy418: yych = (YYCTYPE)*++YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy408; if (yych >= ':') goto yy408; } else { if (yych <= 'F') goto yy419; if (yych <= '`') goto yy408; if (yych >= 'g') goto yy408; } yy419: ++YYCURSOR; if ((yych = (YYCTYPE)*YYCURSOR) <= '@') { if (yych <= '/') goto yy408; if (yych <= '9') goto yy410; goto yy408; } else { if (yych <= 'F') goto yy410; if (yych <= '`') goto yy408; if (yych <= 'f') goto yy410; goto yy408; } } #line 652 "../src/parse/lex.re" } RegExp *Scanner::lex_str(char quote, bool casing) { RegExp *r = NULL; for (bool end;;) { const uint32_t c = lex_str_chr(quote, end); if (end) { return r ? r : new NullOp; } r = doCat(r, casing ? ichr(c) : schr(c)); } } void Scanner::set_sourceline () { sourceline: tok = cur; #line 2739 "src/parse/lex.cc" { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = (YYCTYPE)*YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy424; } else { if (yych <= '"') goto yy426; if (yych <= '0') goto yy422; if (yych <= '9') goto yy427; } yy422: ++YYCURSOR; yy423: #line 695 "../src/parse/lex.re" { goto sourceline; } #line 2792 "src/parse/lex.cc" yy424: ++YYCURSOR; #line 683 "../src/parse/lex.re" { if (cur == eof) { --cur; } else { pos = cur; } tok = cur; return; } #line 2808 "src/parse/lex.cc" yy426: yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy423; goto yy431; yy427: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yybm[0+yych] & 64) { goto yy427; } #line 672 "../src/parse/lex.re" { if (!s_to_u32_unsafe (tok, cur, cline)) { fatal ("line number overflow"); } goto sourceline; } #line 2828 "src/parse/lex.cc" yy430: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; yy431: if (yybm[0+yych] & 128) { goto yy430; } if (yych <= '\n') goto yy432; if (yych <= '"') goto yy433; goto yy435; yy432: YYCURSOR = YYMARKER; goto yy423; yy433: ++YYCURSOR; #line 679 "../src/parse/lex.re" { escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes goto sourceline; } #line 2850 "src/parse/lex.cc" yy435: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = (YYCTYPE)*YYCURSOR; if (yych == '\n') goto yy432; goto yy430; } #line 698 "../src/parse/lex.re" } } // end namespace re2c re2c-0.16/bootstrap/src/parse/y.tab.h0000644000175000017500000000457312650133401014324 00000000000000/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { TOKEN_CLOSE = 258, TOKEN_CLOSESIZE = 259, TOKEN_CODE = 260, TOKEN_CONF = 261, TOKEN_ID = 262, TOKEN_FID = 263, TOKEN_FID_END = 264, TOKEN_NOCOND = 265, TOKEN_REGEXP = 266, TOKEN_SETUP = 267, TOKEN_STAR = 268 }; #endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { re2c::RegExp * regexp; const re2c::Code * code; char op; re2c::ExtOp extop; std::string * str; re2c::CondList * clist; } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif extern YYSTYPE yylval; re2c-0.16/bootstrap/src/parse/lex_conf.cc0000644000175000017500000014434312650133523015247 00000000000000/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */ #line 1 "../src/parse/lex_conf.re" #include "src/util/c99_stdint.h" #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/parse/scanner.h" #include "src/util/s_to_n32_unsafe.h" namespace re2c { // global re2c config (affects the whole file) #line 36 "../src/parse/lex_conf.re" void Scanner::lex_conf () { tok = cur; #line 25 "src/parse/lex_conf.cc" { unsigned char yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 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, 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, 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, 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, 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, }; if ((lim - cur) < 27) fill(27); yych = (unsigned char)*cur; switch (yych) { case 'c': goto yy4; case 'd': goto yy5; case 'f': goto yy6; case 'i': goto yy7; case 'l': goto yy8; case 's': goto yy9; case 'v': goto yy10; case 'y': goto yy11; default: goto yy2; } yy2: ++cur; yy3: #line 42 "../src/parse/lex_conf.re" { fatal ((tok - pos) - tchar, "unrecognized configuration"); } #line 81 "src/parse/lex_conf.cc" yy4: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'g') goto yy12; if (yych == 'o') goto yy14; goto yy3; yy5: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'e') goto yy15; goto yy3; yy6: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'l') goto yy16; goto yy3; yy7: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'n') goto yy17; goto yy3; yy8: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'a') goto yy18; goto yy3; yy9: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 't') goto yy19; goto yy3; yy10: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'a') goto yy20; goto yy3; yy11: yyaccept = 0; yych = (unsigned char)*(ptr = ++cur); if (yych == 'y') goto yy21; goto yy3; yy12: yych = (unsigned char)*++cur; if (yych == 'o') goto yy22; yy13: cur = ptr; if (yyaccept <= 5) { if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept == 0) { goto yy3; } else { goto yy119; } } else { goto yy161; } } else { if (yyaccept <= 4) { if (yyaccept == 3) { goto yy206; } else { goto yy255; } } else { goto yy321; } } } else { if (yyaccept <= 8) { if (yyaccept <= 7) { if (yyaccept == 6) { goto yy356; } else { goto yy377; } } else { goto yy383; } } else { if (yyaccept == 9) { goto yy420; } else { goto yy423; } } } yy14: yych = (unsigned char)*++cur; if (yych == 'n') goto yy23; goto yy13; yy15: yych = (unsigned char)*++cur; if (yych == 'f') goto yy24; goto yy13; yy16: yych = (unsigned char)*++cur; if (yych == 'a') goto yy25; goto yy13; yy17: yych = (unsigned char)*++cur; if (yych == 'd') goto yy26; goto yy13; yy18: yych = (unsigned char)*++cur; if (yych == 'b') goto yy27; goto yy13; yy19: yych = (unsigned char)*++cur; if (yych == 'a') goto yy28; goto yy13; yy20: yych = (unsigned char)*++cur; if (yych == 'r') goto yy29; goto yy13; yy21: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= 'a') goto yy13; if (yych <= 'b') goto yy30; goto yy31; } else { if (yych == 'f') goto yy32; goto yy13; } yy22: yych = (unsigned char)*++cur; if (yych == 't') goto yy33; goto yy13; yy23: yych = (unsigned char)*++cur; if (yych == 'd') goto yy34; goto yy13; yy24: yych = (unsigned char)*++cur; if (yych == 'i') goto yy35; goto yy13; yy25: yych = (unsigned char)*++cur; if (yych == 'g') goto yy36; goto yy13; yy26: yych = (unsigned char)*++cur; if (yych == 'e') goto yy37; goto yy13; yy27: yych = (unsigned char)*++cur; if (yych == 'e') goto yy38; goto yy13; yy28: yych = (unsigned char)*++cur; if (yych == 'r') goto yy39; if (yych == 't') goto yy40; goto yy13; yy29: yych = (unsigned char)*++cur; if (yych == 'i') goto yy41; goto yy13; yy30: yych = (unsigned char)*++cur; if (yych == 'm') goto yy42; goto yy13; yy31: yych = (unsigned char)*++cur; if (yych == 'h') goto yy43; goto yy13; yy32: yych = (unsigned char)*++cur; if (yych == 'i') goto yy44; goto yy13; yy33: yych = (unsigned char)*++cur; if (yych == 'o') goto yy45; goto yy13; yy34: yych = (unsigned char)*++cur; if (yych <= 'd') { if (yych == ':') goto yy46; goto yy13; } else { if (yych <= 'e') goto yy47; if (yych == 'p') goto yy48; goto yy13; } yy35: yych = (unsigned char)*++cur; if (yych == 'n') goto yy49; goto yy13; yy36: yych = (unsigned char)*++cur; if (yych == 's') goto yy50; goto yy13; yy37: yych = (unsigned char)*++cur; if (yych == 'n') goto yy51; goto yy13; yy38: yych = (unsigned char)*++cur; if (yych == 'l') goto yy52; goto yy13; yy39: yych = (unsigned char)*++cur; if (yych == 't') goto yy53; goto yy13; yy40: yych = (unsigned char)*++cur; if (yych == 'e') goto yy54; goto yy13; yy41: yych = (unsigned char)*++cur; if (yych == 'a') goto yy55; goto yy13; yy42: yych = (unsigned char)*++cur; if (yych == ':') goto yy56; goto yy13; yy43: yych = (unsigned char)*++cur; if (yych == ':') goto yy57; goto yy13; yy44: yych = (unsigned char)*++cur; if (yych == 'l') goto yy58; goto yy13; yy45: yych = (unsigned char)*++cur; if (yych == ':') goto yy59; goto yy13; yy46: yych = (unsigned char)*++cur; if (yych == 'd') goto yy60; if (yych == 'g') goto yy61; goto yy13; yy47: yych = (unsigned char)*++cur; if (yych == 'n') goto yy62; goto yy13; yy48: yych = (unsigned char)*++cur; if (yych == 'r') goto yy63; goto yy13; yy49: yych = (unsigned char)*++cur; if (yych == 'e') goto yy64; goto yy13; yy50: yych = (unsigned char)*++cur; if (yych == ':') goto yy65; goto yy13; yy51: yych = (unsigned char)*++cur; if (yych == 't') goto yy66; goto yy13; yy52: yych = (unsigned char)*++cur; if (yych == ':') goto yy67; if (yych == 'p') goto yy68; goto yy13; yy53: yych = (unsigned char)*++cur; if (yych == 'l') goto yy69; goto yy13; yy54: yych = (unsigned char)*++cur; if (yych == ':') goto yy70; goto yy13; yy55: yych = (unsigned char)*++cur; if (yych == 'b') goto yy71; goto yy13; yy56: yych = (unsigned char)*++cur; if (yych == 'h') goto yy72; goto yy13; yy57: yych = (unsigned char)*++cur; if (yych == 'c') goto yy73; if (yych == 'e') goto yy74; goto yy13; yy58: yych = (unsigned char)*++cur; if (yych == 'l') goto yy75; goto yy13; yy59: yych = (unsigned char)*++cur; if (yych == 't') goto yy76; goto yy13; yy60: yych = (unsigned char)*++cur; if (yych == 'i') goto yy77; goto yy13; yy61: yych = (unsigned char)*++cur; if (yych == 'o') goto yy78; goto yy13; yy62: yych = (unsigned char)*++cur; if (yych == 'u') goto yy79; goto yy13; yy63: yych = (unsigned char)*++cur; if (yych == 'e') goto yy80; goto yy13; yy64: yych = (unsigned char)*++cur; if (yych == ':') goto yy81; goto yy13; yy65: yych = (unsigned char)*++cur; if (yych <= 'e') { if (yych == '8') goto yy82; if (yych <= 'd') goto yy13; goto yy82; } else { if (yych <= 'u') { if (yych <= 't') goto yy13; goto yy82; } else { if (yych <= 'v') goto yy13; if (yych <= 'x') goto yy82; goto yy13; } } yy66: yych = (unsigned char)*++cur; if (yych == ':') goto yy84; goto yy13; yy67: yych = (unsigned char)*++cur; if (yych == 'y') goto yy85; goto yy13; yy68: yych = (unsigned char)*++cur; if (yych == 'r') goto yy86; goto yy13; yy69: yych = (unsigned char)*++cur; if (yych == 'a') goto yy87; goto yy13; yy70: yych = (unsigned char)*++cur; if (yych == 'a') goto yy88; if (yych == 'n') goto yy89; goto yy13; yy71: yych = (unsigned char)*++cur; if (yych == 'l') goto yy90; goto yy13; yy72: yych = (unsigned char)*++cur; if (yych == 'e') goto yy91; goto yy13; yy73: yych = (unsigned char)*++cur; if (yych == 'o') goto yy92; goto yy13; yy74: yych = (unsigned char)*++cur; if (yych == 'm') goto yy93; goto yy13; yy75: yych = (unsigned char)*++cur; if (yych == ':') goto yy94; goto yy13; yy76: yych = (unsigned char)*++cur; if (yych == 'h') goto yy95; goto yy13; yy77: yych = (unsigned char)*++cur; if (yych == 'v') goto yy96; goto yy13; yy78: yych = (unsigned char)*++cur; if (yych == 't') goto yy97; goto yy13; yy79: yych = (unsigned char)*++cur; if (yych == 'm') goto yy98; goto yy13; yy80: yych = (unsigned char)*++cur; if (yych == 'f') goto yy99; goto yy13; yy81: yych = (unsigned char)*++cur; if (yych == 'Y') goto yy100; goto yy13; yy82: ++cur; #line 45 "../src/parse/lex_conf.re" { Enc::type_t enc = Enc::ASCII; switch (cur[-1]) { case 'e': enc = Enc::EBCDIC; break; case 'w': enc = Enc::UCS2; break; case 'x': enc = Enc::UTF16; break; case 'u': enc = Enc::UTF32; break; case '8': enc = Enc::UTF8; break; } const int32_t n = lex_conf_number (); if (n == 0) { opts.unset_encoding (enc); } else if (!opts.set_encoding (enc)) { fatalf ("Cannot set %s encoding: please reset %s encoding first" , Enc::name (enc) , Enc::name (opts->encoding.type ())); } return; } #line 496 "src/parse/lex_conf.cc" yy84: yych = (unsigned char)*++cur; if (yych <= 'r') goto yy13; if (yych <= 's') goto yy101; if (yych <= 't') goto yy102; goto yy13; yy85: yych = (unsigned char)*++cur; if (yych == 'y') goto yy103; goto yy13; yy86: yych = (unsigned char)*++cur; if (yych == 'e') goto yy104; goto yy13; yy87: yych = (unsigned char)*++cur; if (yych == 'b') goto yy105; goto yy13; yy88: yych = (unsigned char)*++cur; if (yych == 'b') goto yy106; goto yy13; yy89: yych = (unsigned char)*++cur; if (yych == 'e') goto yy107; goto yy13; yy90: yych = (unsigned char)*++cur; if (yych == 'e') goto yy108; goto yy13; yy91: yych = (unsigned char)*++cur; if (yych == 'x') goto yy109; goto yy13; yy92: yych = (unsigned char)*++cur; if (yych == 'n') goto yy111; goto yy13; yy93: yych = (unsigned char)*++cur; if (yych == 'i') goto yy112; goto yy13; yy94: yych = (unsigned char)*++cur; if (yych <= 'd') { if (yych == 'c') goto yy113; goto yy13; } else { if (yych <= 'e') goto yy114; if (yych == 'p') goto yy115; goto yy13; } yy95: yych = (unsigned char)*++cur; if (yych == 'r') goto yy116; goto yy13; yy96: yych = (unsigned char)*++cur; if (yych == 'i') goto yy117; goto yy13; yy97: yych = (unsigned char)*++cur; if (yych == 'o') goto yy118; goto yy13; yy98: yych = (unsigned char)*++cur; if (yych == 'p') goto yy120; goto yy13; yy99: yych = (unsigned char)*++cur; if (yych == 'i') goto yy121; goto yy13; yy100: yych = (unsigned char)*++cur; if (yych == 'Y') goto yy122; goto yy13; yy101: yych = (unsigned char)*++cur; if (yych == 't') goto yy123; goto yy13; yy102: yych = (unsigned char)*++cur; if (yych == 'o') goto yy124; goto yy13; yy103: yych = (unsigned char)*++cur; if (yych == 'F') goto yy125; if (yych == 'N') goto yy126; goto yy13; yy104: yych = (unsigned char)*++cur; if (yych == 'f') goto yy127; goto yy13; yy105: yych = (unsigned char)*++cur; if (yych == 'e') goto yy128; goto yy13; yy106: yych = (unsigned char)*++cur; if (yych == 'o') goto yy129; goto yy13; yy107: yych = (unsigned char)*++cur; if (yych == 'x') goto yy130; goto yy13; yy108: yych = (unsigned char)*++cur; if (yych == ':') goto yy131; goto yy13; yy109: ++cur; #line 95 "../src/parse/lex_conf.re" { opts.set_yybmHexTable (lex_conf_number () != 0); return; } #line 610 "src/parse/lex_conf.cc" yy111: yych = (unsigned char)*++cur; if (yych == 'v') goto yy132; goto yy13; yy112: yych = (unsigned char)*++cur; if (yych == 't') goto yy133; goto yy13; yy113: yych = (unsigned char)*++cur; if (yych == 'h') goto yy135; goto yy13; yy114: yych = (unsigned char)*++cur; if (yych == 'n') goto yy136; goto yy13; yy115: yych = (unsigned char)*++cur; if (yych == 'a') goto yy137; goto yy13; yy116: yych = (unsigned char)*++cur; if (yych == 'e') goto yy138; goto yy13; yy117: yych = (unsigned char)*++cur; if (yych == 'd') goto yy139; goto yy13; yy118: yyaccept = 1; yych = (unsigned char)*(ptr = ++cur); if (yych == '@') goto yy140; yy119: #line 79 "../src/parse/lex_conf.re" { opts.set_condGoto (lex_conf_string ()); return; } #line 646 "src/parse/lex_conf.cc" yy120: yych = (unsigned char)*++cur; if (yych == 'r') goto yy141; goto yy13; yy121: yych = (unsigned char)*++cur; if (yych == 'x') goto yy142; goto yy13; yy122: yych = (unsigned char)*++cur; switch (yych) { case 'B': goto yy144; case 'C': goto yy145; case 'D': goto yy146; case 'F': goto yy147; case 'G': goto yy148; case 'L': goto yy149; case 'M': goto yy150; case 'P': goto yy151; case 'R': goto yy152; case 'S': goto yy153; default: goto yy13; } yy123: yych = (unsigned char)*++cur; if (yych == 'r') goto yy154; goto yy13; yy124: yych = (unsigned char)*++cur; if (yych == 'p') goto yy155; goto yy13; yy125: yych = (unsigned char)*++cur; if (yych == 'i') goto yy157; goto yy13; yy126: yych = (unsigned char)*++cur; if (yych == 'e') goto yy158; goto yy13; yy127: yych = (unsigned char)*++cur; if (yych == 'i') goto yy159; goto yy13; yy128: yych = (unsigned char)*++cur; if (yych == 'l') goto yy160; goto yy13; yy129: yych = (unsigned char)*++cur; if (yych == 'r') goto yy162; goto yy13; yy130: yych = (unsigned char)*++cur; if (yych == 't') goto yy163; goto yy13; yy131: yych = (unsigned char)*++cur; if (yych == 'y') goto yy164; goto yy13; yy132: yych = (unsigned char)*++cur; if (yych == 'e') goto yy165; goto yy13; yy133: ++cur; #line 138 "../src/parse/lex_conf.re" { opts.set_bEmitYYCh (lex_conf_number () != 0); return; } #line 714 "src/parse/lex_conf.cc" yy135: yych = (unsigned char)*++cur; if (yych == 'e') goto yy166; goto yy13; yy136: yych = (unsigned char)*++cur; if (yych == 'a') goto yy167; goto yy13; yy137: yych = (unsigned char)*++cur; if (yych == 'r') goto yy168; goto yy13; yy138: yych = (unsigned char)*++cur; if (yych == 's') goto yy169; goto yy13; yy139: yych = (unsigned char)*++cur; if (yych == 'e') goto yy170; goto yy13; yy140: yych = (unsigned char)*++cur; if (yych == 'c') goto yy171; goto yy13; yy141: yych = (unsigned char)*++cur; if (yych == 'e') goto yy172; goto yy13; yy142: ++cur; #line 75 "../src/parse/lex_conf.re" { opts.set_condPrefix (lex_conf_string ()); return; } #line 747 "src/parse/lex_conf.cc" yy144: yych = (unsigned char)*++cur; if (yych == 'A') goto yy173; goto yy13; yy145: yych = (unsigned char)*++cur; if (yych <= 'S') { if (yych == 'O') goto yy174; goto yy13; } else { if (yych <= 'T') goto yy175; if (yych <= 'U') goto yy176; goto yy13; } yy146: yych = (unsigned char)*++cur; if (yych == 'E') goto yy177; goto yy13; yy147: yych = (unsigned char)*++cur; if (yych == 'I') goto yy178; goto yy13; yy148: yych = (unsigned char)*++cur; if (yych == 'E') goto yy179; goto yy13; yy149: yych = (unsigned char)*++cur; if (yych == 'E') goto yy180; if (yych == 'I') goto yy181; goto yy13; yy150: yych = (unsigned char)*++cur; if (yych == 'A') goto yy182; goto yy13; yy151: yych = (unsigned char)*++cur; if (yych == 'E') goto yy183; goto yy13; yy152: yych = (unsigned char)*++cur; if (yych == 'E') goto yy184; goto yy13; yy153: yych = (unsigned char)*++cur; if (yych == 'E') goto yy185; if (yych == 'K') goto yy186; goto yy13; yy154: yych = (unsigned char)*++cur; if (yych == 'i') goto yy187; goto yy13; yy155: ++cur; #line 123 "../src/parse/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) { fatal ("configuration 'indent:top' must be nonnegative"); } opts.set_topIndent (static_cast (n)); return; } #line 812 "src/parse/lex_conf.cc" yy157: yych = (unsigned char)*++cur; if (yych == 'l') goto yy188; goto yy13; yy158: yych = (unsigned char)*++cur; if (yych == 'x') goto yy189; goto yy13; yy159: yych = (unsigned char)*++cur; if (yych == 'x') goto yy190; goto yy13; yy160: yyaccept = 2; yych = (unsigned char)*(ptr = ++cur); ctx = cur; if (yybm[0+yych] & 64) { goto yy192; } if (yych == '=') goto yy194; yy161: #line 151 "../src/parse/lex_conf.re" { out.set_user_start_label (lex_conf_string ()); return; } #line 836 "src/parse/lex_conf.cc" yy162: yych = (unsigned char)*++cur; if (yych == 't') goto yy196; goto yy13; yy163: yych = (unsigned char)*++cur; if (yych == 'l') goto yy198; goto yy13; yy164: yych = (unsigned char)*++cur; if (yych == 'y') goto yy199; goto yy13; yy165: yych = (unsigned char)*++cur; if (yych == 'r') goto yy200; goto yy13; yy166: yych = (unsigned char)*++cur; if (yych == 'c') goto yy201; goto yy13; yy167: yych = (unsigned char)*++cur; if (yych == 'b') goto yy202; goto yy13; yy168: yych = (unsigned char)*++cur; if (yych == 'a') goto yy203; goto yy13; yy169: yych = (unsigned char)*++cur; if (yych == 'h') goto yy204; goto yy13; yy170: yych = (unsigned char)*++cur; if (yych == 'r') goto yy205; goto yy13; yy171: yych = (unsigned char)*++cur; if (yych == 'o') goto yy207; goto yy13; yy172: yych = (unsigned char)*++cur; if (yych == 'f') goto yy208; goto yy13; yy173: yych = (unsigned char)*++cur; if (yych == 'C') goto yy209; goto yy13; yy174: yych = (unsigned char)*++cur; if (yych == 'N') goto yy210; goto yy13; yy175: yych = (unsigned char)*++cur; if (yych <= 'W') goto yy13; if (yych <= 'X') goto yy211; if (yych <= 'Y') goto yy212; goto yy13; yy176: yych = (unsigned char)*++cur; if (yych == 'R') goto yy213; goto yy13; yy177: yych = (unsigned char)*++cur; if (yych == 'B') goto yy214; goto yy13; yy178: yych = (unsigned char)*++cur; if (yych == 'L') goto yy215; goto yy13; yy179: yych = (unsigned char)*++cur; if (yych == 'T') goto yy216; goto yy13; yy180: yych = (unsigned char)*++cur; if (yych == 'S') goto yy217; goto yy13; yy181: yych = (unsigned char)*++cur; if (yych == 'M') goto yy218; goto yy13; yy182: yych = (unsigned char)*++cur; if (yych == 'R') goto yy219; goto yy13; yy183: yych = (unsigned char)*++cur; if (yych == 'E') goto yy220; goto yy13; yy184: yych = (unsigned char)*++cur; if (yych == 'S') goto yy221; goto yy13; yy185: yych = (unsigned char)*++cur; if (yych == 'T') goto yy222; goto yy13; yy186: yych = (unsigned char)*++cur; if (yych == 'I') goto yy223; goto yy13; yy187: yych = (unsigned char)*++cur; if (yych == 'n') goto yy224; goto yy13; yy188: yych = (unsigned char)*++cur; if (yych == 'l') goto yy225; goto yy13; yy189: yych = (unsigned char)*++cur; if (yych == 't') goto yy226; goto yy13; yy190: ++cur; #line 147 "../src/parse/lex_conf.re" { opts.set_labelPrefix (lex_conf_string ()); return; } #line 955 "src/parse/lex_conf.cc" yy192: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 64) { goto yy192; } if (yych != '=') goto yy13; yy194: ++cur; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy13; goto yy194; } else { if (yych == ' ') goto yy194; goto yy13; } } else { if (yych <= '/') { if (yych <= '-') goto yy228; goto yy13; } else { if (yych <= '0') goto yy229; if (yych <= '9') goto yy231; goto yy13; } } yy196: ++cur; #line 90 "../src/parse/lex_conf.re" { opts.set_bUseStateAbort (lex_conf_number () != 0); return; } #line 990 "src/parse/lex_conf.cc" yy198: yych = (unsigned char)*++cur; if (yych == 'a') goto yy233; goto yy13; yy199: yych = (unsigned char)*++cur; if (yych <= 'c') { if (yych <= '`') goto yy13; if (yych <= 'a') goto yy234; if (yych <= 'b') goto yy235; goto yy236; } else { if (yych <= 'r') goto yy13; if (yych <= 's') goto yy237; if (yych <= 't') goto yy238; goto yy13; } yy200: yych = (unsigned char)*++cur; if (yych == 's') goto yy239; goto yy13; yy201: yych = (unsigned char)*++cur; if (yych == 'k') goto yy240; goto yy13; yy202: yych = (unsigned char)*++cur; if (yych == 'l') goto yy242; goto yy13; yy203: yych = (unsigned char)*++cur; if (yych == 'm') goto yy243; goto yy13; yy204: yych = (unsigned char)*++cur; if (yych == 'o') goto yy244; goto yy13; yy205: yyaccept = 3; yych = (unsigned char)*(ptr = ++cur); if (yych == '@') goto yy245; yy206: #line 77 "../src/parse/lex_conf.re" { opts.set_condDivider (lex_conf_string ()); return; } #line 1035 "src/parse/lex_conf.cc" yy207: yych = (unsigned char)*++cur; if (yych == 'n') goto yy246; goto yy13; yy208: yych = (unsigned char)*++cur; if (yych == 'i') goto yy247; goto yy13; yy209: yych = (unsigned char)*++cur; if (yych == 'K') goto yy248; goto yy13; yy210: yych = (unsigned char)*++cur; if (yych == 'D') goto yy249; goto yy13; yy211: yych = (unsigned char)*++cur; if (yych == 'M') goto yy250; goto yy13; yy212: yych = (unsigned char)*++cur; if (yych == 'P') goto yy251; goto yy13; yy213: yych = (unsigned char)*++cur; if (yych == 'S') goto yy252; goto yy13; yy214: yych = (unsigned char)*++cur; if (yych == 'U') goto yy253; goto yy13; yy215: yych = (unsigned char)*++cur; if (yych == 'L') goto yy254; goto yy13; yy216: yych = (unsigned char)*++cur; if (yych == 'C') goto yy256; if (yych == 'S') goto yy257; goto yy13; yy217: yych = (unsigned char)*++cur; if (yych == 'S') goto yy258; goto yy13; yy218: yych = (unsigned char)*++cur; if (yych == 'I') goto yy259; goto yy13; yy219: yych = (unsigned char)*++cur; if (yych == 'K') goto yy260; goto yy13; yy220: yych = (unsigned char)*++cur; if (yych == 'K') goto yy261; goto yy13; yy221: yych = (unsigned char)*++cur; if (yych == 'T') goto yy263; goto yy13; yy222: yych = (unsigned char)*++cur; if (yych == 'C') goto yy264; if (yych == 'S') goto yy265; goto yy13; yy223: yych = (unsigned char)*++cur; if (yych == 'P') goto yy266; goto yy13; yy224: yych = (unsigned char)*++cur; if (yych == 'g') goto yy268; goto yy13; yy225: yych = (unsigned char)*++cur; if (yych == 'L') goto yy270; goto yy13; yy226: ++cur; #line 89 "../src/parse/lex_conf.re" { opts.set_yynext (lex_conf_string ()); return; } #line 1118 "src/parse/lex_conf.cc" yy228: yych = (unsigned char)*++cur; if (yych <= '0') goto yy13; if (yych <= '9') goto yy231; goto yy13; yy229: ++cur; yy230: cur = ctx; #line 150 "../src/parse/lex_conf.re" { out.set_force_start_label (lex_conf_number () != 0); return; } #line 1130 "src/parse/lex_conf.cc" yy231: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy231; } goto yy230; yy233: yych = (unsigned char)*++cur; if (yych == 'b') goto yy271; goto yy13; yy234: yych = (unsigned char)*++cur; if (yych == 'c') goto yy272; goto yy13; yy235: yych = (unsigned char)*++cur; if (yych == 'm') goto yy273; goto yy13; yy236: yych = (unsigned char)*++cur; if (yych == 'h') goto yy275; if (yych == 't') goto yy277; goto yy13; yy237: yych = (unsigned char)*++cur; if (yych == 't') goto yy278; goto yy13; yy238: yych = (unsigned char)*++cur; if (yych == 'a') goto yy279; goto yy13; yy239: yych = (unsigned char)*++cur; if (yych == 'i') goto yy280; goto yy13; yy240: ++cur; #line 145 "../src/parse/lex_conf.re" { opts.set_fill_check (lex_conf_number () != 0); return; } #line 1172 "src/parse/lex_conf.cc" yy242: yych = (unsigned char)*++cur; if (yych == 'e') goto yy281; goto yy13; yy243: yych = (unsigned char)*++cur; if (yych == 'e') goto yy283; goto yy13; yy244: yych = (unsigned char)*++cur; if (yych == 'l') goto yy284; goto yy13; yy245: yych = (unsigned char)*++cur; if (yych == 'c') goto yy285; goto yy13; yy246: yych = (unsigned char)*++cur; if (yych == 'd') goto yy286; goto yy13; yy247: yych = (unsigned char)*++cur; if (yych == 'x') goto yy288; goto yy13; yy248: yych = (unsigned char)*++cur; if (yych == 'U') goto yy290; goto yy13; yy249: yych = (unsigned char)*++cur; if (yych == 'T') goto yy291; goto yy13; yy250: yych = (unsigned char)*++cur; if (yych == 'A') goto yy292; goto yy13; yy251: yych = (unsigned char)*++cur; if (yych == 'E') goto yy293; goto yy13; yy252: yych = (unsigned char)*++cur; if (yych == 'O') goto yy295; goto yy13; yy253: yych = (unsigned char)*++cur; if (yych == 'G') goto yy296; goto yy13; yy254: yyaccept = 4; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy298; if (yych == '@') goto yy299; yy255: #line 140 "../src/parse/lex_conf.re" { opts.set_fill (lex_conf_string ()); return; } #line 1229 "src/parse/lex_conf.cc" yy256: yych = (unsigned char)*++cur; if (yych == 'O') goto yy300; goto yy13; yy257: yych = (unsigned char)*++cur; if (yych == 'T') goto yy301; goto yy13; yy258: yych = (unsigned char)*++cur; if (yych == 'T') goto yy302; goto yy13; yy259: yych = (unsigned char)*++cur; if (yych == 'T') goto yy303; goto yy13; yy260: yych = (unsigned char)*++cur; if (yych == 'E') goto yy305; goto yy13; yy261: ++cur; #line 113 "../src/parse/lex_conf.re" { opts.set_yypeek (lex_conf_string ()); return; } #line 1254 "src/parse/lex_conf.cc" yy263: yych = (unsigned char)*++cur; if (yych == 'O') goto yy306; goto yy13; yy264: yych = (unsigned char)*++cur; if (yych == 'O') goto yy307; goto yy13; yy265: yych = (unsigned char)*++cur; if (yych == 'T') goto yy308; goto yy13; yy266: ++cur; #line 114 "../src/parse/lex_conf.re" { opts.set_yyskip (lex_conf_string ()); return; } #line 1271 "src/parse/lex_conf.cc" yy268: ++cur; #line 121 "../src/parse/lex_conf.re" { opts.set_indString (lex_conf_string ()); return; } #line 1276 "src/parse/lex_conf.cc" yy270: yych = (unsigned char)*++cur; if (yych == 'a') goto yy309; goto yy13; yy271: yych = (unsigned char)*++cur; if (yych == 'e') goto yy310; goto yy13; yy272: yych = (unsigned char)*++cur; if (yych == 'c') goto yy311; goto yy13; yy273: ++cur; #line 94 "../src/parse/lex_conf.re" { opts.set_yybm (lex_conf_string ()); return; } #line 1293 "src/parse/lex_conf.cc" yy275: ++cur; #line 136 "../src/parse/lex_conf.re" { opts.set_yych (lex_conf_string ()); return; } #line 1298 "src/parse/lex_conf.cc" yy277: yych = (unsigned char)*++cur; if (yych == 'a') goto yy312; goto yy13; yy278: yych = (unsigned char)*++cur; if (yych == 'a') goto yy313; goto yy13; yy279: yych = (unsigned char)*++cur; if (yych == 'r') goto yy314; goto yy13; yy280: yych = (unsigned char)*++cur; if (yych == 'o') goto yy315; goto yy13; yy281: ++cur; #line 141 "../src/parse/lex_conf.re" { opts.set_fill_use (lex_conf_number () != 0); return; } #line 1319 "src/parse/lex_conf.cc" yy283: yych = (unsigned char)*++cur; if (yych == 't') goto yy316; goto yy13; yy284: yych = (unsigned char)*++cur; if (yych == 'd') goto yy317; goto yy13; yy285: yych = (unsigned char)*++cur; if (yych == 'o') goto yy319; goto yy13; yy286: ++cur; #line 80 "../src/parse/lex_conf.re" { opts.set_condGotoParam (lex_conf_string ()); return; } #line 1336 "src/parse/lex_conf.cc" yy288: ++cur; #line 76 "../src/parse/lex_conf.re" { opts.set_condEnumPrefix (lex_conf_string ()); return; } #line 1341 "src/parse/lex_conf.cc" yy290: yych = (unsigned char)*++cur; if (yych == 'P') goto yy320; goto yy13; yy291: yych = (unsigned char)*++cur; if (yych == 'Y') goto yy322; goto yy13; yy292: yych = (unsigned char)*++cur; if (yych == 'R') goto yy323; goto yy13; yy293: ++cur; #line 135 "../src/parse/lex_conf.re" { opts.set_yyctype (lex_conf_string ()); return; } #line 1358 "src/parse/lex_conf.cc" yy295: yych = (unsigned char)*++cur; if (yych == 'R') goto yy324; goto yy13; yy296: ++cur; #line 133 "../src/parse/lex_conf.re" { opts.set_yydebug (lex_conf_string ()); return; } #line 1367 "src/parse/lex_conf.cc" yy298: yych = (unsigned char)*++cur; if (yych == 'n') goto yy326; goto yy13; yy299: yych = (unsigned char)*++cur; if (yych == 'l') goto yy327; goto yy13; yy300: yych = (unsigned char)*++cur; if (yych == 'N') goto yy328; goto yy13; yy301: yych = (unsigned char)*++cur; if (yych == 'A') goto yy329; goto yy13; yy302: yych = (unsigned char)*++cur; if (yych == 'H') goto yy330; goto yy13; yy303: ++cur; #line 111 "../src/parse/lex_conf.re" { opts.set_yylimit (lex_conf_string ()); return; } #line 1392 "src/parse/lex_conf.cc" yy305: yych = (unsigned char)*++cur; if (yych == 'R') goto yy331; goto yy13; yy306: yych = (unsigned char)*++cur; if (yych == 'R') goto yy333; goto yy13; yy307: yych = (unsigned char)*++cur; if (yych == 'N') goto yy334; goto yy13; yy308: yych = (unsigned char)*++cur; if (yych == 'A') goto yy335; goto yy13; yy309: yych = (unsigned char)*++cur; if (yych == 'b') goto yy336; goto yy13; yy310: yych = (unsigned char)*++cur; if (yych == 'l') goto yy337; goto yy13; yy311: yych = (unsigned char)*++cur; if (yych == 'e') goto yy339; goto yy13; yy312: yych = (unsigned char)*++cur; if (yych == 'b') goto yy340; goto yy13; yy313: yych = (unsigned char)*++cur; if (yych == 'b') goto yy341; goto yy13; yy314: yych = (unsigned char)*++cur; if (yych == 'g') goto yy342; goto yy13; yy315: yych = (unsigned char)*++cur; if (yych == 'n') goto yy343; goto yy13; yy316: yych = (unsigned char)*++cur; if (yych == 'e') goto yy345; goto yy13; yy317: ++cur; #line 97 "../src/parse/lex_conf.re" { const int32_t n = lex_conf_number (); if (n < 0) { fatal ("configuration 'cgoto:threshold' must be nonnegative"); } opts.set_cGotoThreshold (static_cast (n)); return; } #line 1453 "src/parse/lex_conf.cc" yy319: yych = (unsigned char)*++cur; if (yych == 'n') goto yy346; goto yy13; yy320: yyaccept = 5; yych = (unsigned char)*(ptr = ++cur); if (yych == 'C') goto yy347; yy321: #line 115 "../src/parse/lex_conf.re" { opts.set_yybackup (lex_conf_string ()); return; } #line 1465 "src/parse/lex_conf.cc" yy322: yych = (unsigned char)*++cur; if (yych == 'P') goto yy348; goto yy13; yy323: yych = (unsigned char)*++cur; if (yych == 'K') goto yy349; goto yy13; yy324: ++cur; #line 108 "../src/parse/lex_conf.re" { opts.set_yycursor (lex_conf_string ()); return; } #line 1478 "src/parse/lex_conf.cc" yy326: yych = (unsigned char)*++cur; if (yych == 'a') goto yy350; goto yy13; yy327: yych = (unsigned char)*++cur; if (yych == 'e') goto yy351; goto yy13; yy328: yych = (unsigned char)*++cur; if (yych == 'D') goto yy352; goto yy13; yy329: yych = (unsigned char)*++cur; if (yych == 'T') goto yy353; goto yy13; yy330: yych = (unsigned char)*++cur; if (yych == 'A') goto yy354; goto yy13; yy331: ++cur; #line 109 "../src/parse/lex_conf.re" { opts.set_yymarker (lex_conf_string ()); return; } #line 1503 "src/parse/lex_conf.cc" yy333: yych = (unsigned char)*++cur; if (yych == 'E') goto yy355; goto yy13; yy334: yych = (unsigned char)*++cur; if (yych == 'D') goto yy357; goto yy13; yy335: yych = (unsigned char)*++cur; if (yych == 'T') goto yy358; goto yy13; yy336: yych = (unsigned char)*++cur; if (yych == 'e') goto yy359; goto yy13; yy337: ++cur; #line 91 "../src/parse/lex_conf.re" { opts.set_bUseStateNext (lex_conf_number () != 0); return; } #line 1524 "src/parse/lex_conf.cc" yy339: yych = (unsigned char)*++cur; if (yych == 'p') goto yy360; goto yy13; yy340: yych = (unsigned char)*++cur; if (yych == 'l') goto yy361; goto yy13; yy341: yych = (unsigned char)*++cur; if (yych == 'l') goto yy362; goto yy13; yy342: yych = (unsigned char)*++cur; if (yych == 'e') goto yy363; goto yy13; yy343: ++cur; #line 137 "../src/parse/lex_conf.re" { opts.set_yychConversion (lex_conf_number () != 0); return; } #line 1545 "src/parse/lex_conf.cc" yy345: yych = (unsigned char)*++cur; if (yych == 'r') goto yy364; goto yy13; yy346: yych = (unsigned char)*++cur; if (yych == 'd') goto yy366; goto yy13; yy347: yych = (unsigned char)*++cur; if (yych == 'T') goto yy368; goto yy13; yy348: yych = (unsigned char)*++cur; if (yych == 'E') goto yy369; goto yy13; yy349: yych = (unsigned char)*++cur; if (yych == 'E') goto yy371; goto yy13; yy350: yych = (unsigned char)*++cur; if (yych == 'k') goto yy372; goto yy13; yy351: yych = (unsigned char)*++cur; if (yych == 'n') goto yy373; goto yy13; yy352: yych = (unsigned char)*++cur; if (yych == 'I') goto yy375; goto yy13; yy353: yych = (unsigned char)*++cur; if (yych == 'E') goto yy376; goto yy13; yy354: yych = (unsigned char)*++cur; if (yych == 'N') goto yy378; goto yy13; yy355: yyaccept = 6; yych = (unsigned char)*(ptr = ++cur); if (yych == 'C') goto yy380; yy356: #line 117 "../src/parse/lex_conf.re" { opts.set_yyrestore (lex_conf_string ()); return; } #line 1593 "src/parse/lex_conf.cc" yy357: yych = (unsigned char)*++cur; if (yych == 'I') goto yy381; goto yy13; yy358: yych = (unsigned char)*++cur; if (yych == 'E') goto yy382; goto yy13; yy359: yych = (unsigned char)*++cur; if (yych == 'l') goto yy384; goto yy13; yy360: yych = (unsigned char)*++cur; if (yych == 't') goto yy386; goto yy13; yy361: yych = (unsigned char)*++cur; if (yych == 'e') goto yy388; goto yy13; yy362: yych = (unsigned char)*++cur; if (yych == 'e') goto yy390; goto yy13; yy363: yych = (unsigned char)*++cur; if (yych == 't') goto yy392; goto yy13; yy364: ++cur; #line 143 "../src/parse/lex_conf.re" { opts.set_fill_arg_use (lex_conf_number () != 0); return; } #line 1626 "src/parse/lex_conf.cc" yy366: ++cur; #line 78 "../src/parse/lex_conf.re" { opts.set_condDividerParam (lex_conf_string ()); return; } #line 1631 "src/parse/lex_conf.cc" yy368: yych = (unsigned char)*++cur; if (yych == 'X') goto yy394; goto yy13; yy369: ++cur; #line 69 "../src/parse/lex_conf.re" { opts.set_yycondtype (lex_conf_string ()); return; } #line 1640 "src/parse/lex_conf.cc" yy371: yych = (unsigned char)*++cur; if (yych == 'R') goto yy396; goto yy13; yy372: yych = (unsigned char)*++cur; if (yych == 'e') goto yy398; goto yy13; yy373: ++cur; #line 142 "../src/parse/lex_conf.re" { opts.set_fill_arg (lex_conf_string ()); return; } #line 1653 "src/parse/lex_conf.cc" yy375: yych = (unsigned char)*++cur; if (yych == 'T') goto yy399; goto yy13; yy376: yyaccept = 7; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy400; yy377: #line 83 "../src/parse/lex_conf.re" { opts.set_state_get (lex_conf_string ()); return; } #line 1665 "src/parse/lex_conf.cc" yy378: ++cur; #line 119 "../src/parse/lex_conf.re" { opts.set_yylessthan (lex_conf_string ()); return; } #line 1670 "src/parse/lex_conf.cc" yy380: yych = (unsigned char)*++cur; if (yych == 'T') goto yy401; goto yy13; yy381: yych = (unsigned char)*++cur; if (yych == 'T') goto yy402; goto yy13; yy382: yyaccept = 8; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy403; if (yych == '@') goto yy404; yy383: #line 85 "../src/parse/lex_conf.re" { opts.set_state_set (lex_conf_string ()); return; } #line 1687 "src/parse/lex_conf.cc" yy384: ++cur; #line 88 "../src/parse/lex_conf.re" { opts.set_yyfilllabel (lex_conf_string ()); return; } #line 1692 "src/parse/lex_conf.cc" yy386: ++cur; #line 92 "../src/parse/lex_conf.re" { opts.set_yyaccept (lex_conf_string ()); return; } #line 1697 "src/parse/lex_conf.cc" yy388: ++cur; #line 81 "../src/parse/lex_conf.re" { opts.set_yyctable (lex_conf_string ()); return; } #line 1702 "src/parse/lex_conf.cc" yy390: ++cur; #line 154 "../src/parse/lex_conf.re" { lex_conf_string (); return; } #line 1707 "src/parse/lex_conf.cc" yy392: ++cur; #line 106 "../src/parse/lex_conf.re" { opts.set_yytarget (lex_conf_string ()); return; } #line 1712 "src/parse/lex_conf.cc" yy394: ++cur; #line 116 "../src/parse/lex_conf.re" { opts.set_yybackupctx (lex_conf_string ()); return; } #line 1717 "src/parse/lex_conf.cc" yy396: ++cur; #line 110 "../src/parse/lex_conf.re" { opts.set_yyctxmarker (lex_conf_string ()); return; } #line 1722 "src/parse/lex_conf.cc" yy398: yych = (unsigned char)*++cur; if (yych == 'd') goto yy405; goto yy13; yy399: yych = (unsigned char)*++cur; if (yych == 'I') goto yy407; goto yy13; yy400: yych = (unsigned char)*++cur; if (yych == 'n') goto yy408; goto yy13; yy401: yych = (unsigned char)*++cur; if (yych == 'X') goto yy409; goto yy13; yy402: yych = (unsigned char)*++cur; if (yych == 'I') goto yy411; goto yy13; yy403: yych = (unsigned char)*++cur; if (yych == 'n') goto yy412; goto yy13; yy404: yych = (unsigned char)*++cur; if (yych == 's') goto yy413; goto yy13; yy405: ++cur; #line 144 "../src/parse/lex_conf.re" { opts.set_fill_naked (lex_conf_number () != 0); return; } #line 1755 "src/parse/lex_conf.cc" yy407: yych = (unsigned char)*++cur; if (yych == 'O') goto yy414; goto yy13; yy408: yych = (unsigned char)*++cur; if (yych == 'a') goto yy415; goto yy13; yy409: ++cur; #line 118 "../src/parse/lex_conf.re" { opts.set_yyrestorectx (lex_conf_string ()); return; } #line 1768 "src/parse/lex_conf.cc" yy411: yych = (unsigned char)*++cur; if (yych == 'O') goto yy416; goto yy13; yy412: yych = (unsigned char)*++cur; if (yych == 'a') goto yy417; goto yy13; yy413: yych = (unsigned char)*++cur; if (yych == 't') goto yy418; goto yy13; yy414: yych = (unsigned char)*++cur; if (yych == 'N') goto yy419; goto yy13; yy415: yych = (unsigned char)*++cur; if (yych == 'k') goto yy421; goto yy13; yy416: yych = (unsigned char)*++cur; if (yych == 'N') goto yy422; goto yy13; yy417: yych = (unsigned char)*++cur; if (yych == 'k') goto yy424; goto yy13; yy418: yych = (unsigned char)*++cur; if (yych == 'a') goto yy425; goto yy13; yy419: yyaccept = 9; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy426; yy420: #line 70 "../src/parse/lex_conf.re" { opts.set_cond_get (lex_conf_string ()); return; } #line 1808 "src/parse/lex_conf.cc" yy421: yych = (unsigned char)*++cur; if (yych == 'e') goto yy427; goto yy13; yy422: yyaccept = 10; yych = (unsigned char)*(ptr = ++cur); if (yych == ':') goto yy428; if (yych == '@') goto yy429; yy423: #line 72 "../src/parse/lex_conf.re" { opts.set_cond_set (lex_conf_string ()); return; } #line 1821 "src/parse/lex_conf.cc" yy424: yych = (unsigned char)*++cur; if (yych == 'e') goto yy430; goto yy13; yy425: yych = (unsigned char)*++cur; if (yych == 't') goto yy431; goto yy13; yy426: yych = (unsigned char)*++cur; if (yych == 'n') goto yy432; goto yy13; yy427: yych = (unsigned char)*++cur; if (yych == 'd') goto yy433; goto yy13; yy428: yych = (unsigned char)*++cur; if (yych == 'n') goto yy435; goto yy13; yy429: yych = (unsigned char)*++cur; if (yych == 'c') goto yy436; goto yy13; yy430: yych = (unsigned char)*++cur; if (yych == 'd') goto yy437; goto yy13; yy431: yych = (unsigned char)*++cur; if (yych == 'e') goto yy439; goto yy13; yy432: yych = (unsigned char)*++cur; if (yych == 'a') goto yy441; goto yy13; yy433: ++cur; #line 84 "../src/parse/lex_conf.re" { opts.set_state_get_naked (lex_conf_number () != 0); return; } #line 1862 "src/parse/lex_conf.cc" yy435: yych = (unsigned char)*++cur; if (yych == 'a') goto yy442; goto yy13; yy436: yych = (unsigned char)*++cur; if (yych == 'o') goto yy443; goto yy13; yy437: ++cur; #line 86 "../src/parse/lex_conf.re" { opts.set_state_set_naked (lex_conf_number () != 0); return; } #line 1875 "src/parse/lex_conf.cc" yy439: ++cur; #line 87 "../src/parse/lex_conf.re" { opts.set_state_set_arg (lex_conf_string ()); return; } #line 1880 "src/parse/lex_conf.cc" yy441: yych = (unsigned char)*++cur; if (yych == 'k') goto yy444; goto yy13; yy442: yych = (unsigned char)*++cur; if (yych == 'k') goto yy445; goto yy13; yy443: yych = (unsigned char)*++cur; if (yych == 'n') goto yy446; goto yy13; yy444: yych = (unsigned char)*++cur; if (yych == 'e') goto yy447; goto yy13; yy445: yych = (unsigned char)*++cur; if (yych == 'e') goto yy448; goto yy13; yy446: yych = (unsigned char)*++cur; if (yych == 'd') goto yy449; goto yy13; yy447: yych = (unsigned char)*++cur; if (yych == 'd') goto yy451; goto yy13; yy448: yych = (unsigned char)*++cur; if (yych == 'd') goto yy453; goto yy13; yy449: ++cur; #line 73 "../src/parse/lex_conf.re" { opts.set_cond_set_arg (lex_conf_string ()); return; } #line 1917 "src/parse/lex_conf.cc" yy451: ++cur; #line 71 "../src/parse/lex_conf.re" { opts.set_cond_get_naked (lex_conf_number () != 0); return; } #line 1922 "src/parse/lex_conf.cc" yy453: ++cur; #line 74 "../src/parse/lex_conf.re" { opts.set_cond_set_naked (lex_conf_number () != 0); return; } #line 1927 "src/parse/lex_conf.cc" } #line 155 "../src/parse/lex_conf.re" } void Scanner::lex_conf_assign () { #line 1936 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { if (yych == '\t') goto yy459; } else { if (yych <= ' ') goto yy459; if (yych == '=') goto yy460; } ++cur; yy458: #line 161 "../src/parse/lex_conf.re" { fatal ("missing '=' in configuration"); } #line 1985 "src/parse/lex_conf.cc" yy459: yych = (unsigned char)*(ptr = ++cur); if (yych <= 0x1F) { if (yych == '\t') goto yy463; goto yy458; } else { if (yych <= ' ') goto yy463; if (yych != '=') goto yy458; } yy460: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy460; } #line 162 "../src/parse/lex_conf.re" { return; } #line 2004 "src/parse/lex_conf.cc" yy463: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= 0x1F) { if (yych == '\t') goto yy463; } else { if (yych <= ' ') goto yy463; if (yych == '=') goto yy460; } cur = ptr; goto yy458; } #line 163 "../src/parse/lex_conf.re" } void Scanner::lex_conf_semicolon () { #line 2025 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 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, 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, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= 0x1F) { if (yych == '\t') goto yy470; } else { if (yych <= ' ') goto yy470; if (yych == ';') goto yy471; } ++cur; yy469: #line 169 "../src/parse/lex_conf.re" { fatal ("missing ending ';' in configuration"); } #line 2074 "src/parse/lex_conf.cc" yy470: yych = (unsigned char)*(ptr = ++cur); if (yybm[0+yych] & 128) { goto yy473; } if (yych != ';') goto yy469; yy471: ++cur; #line 170 "../src/parse/lex_conf.re" { return; } #line 2085 "src/parse/lex_conf.cc" yy473: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy473; } if (yych == ';') goto yy471; cur = ptr; goto yy469; } #line 171 "../src/parse/lex_conf.re" } int32_t Scanner::lex_conf_number () { lex_conf_assign (); tok = cur; #line 2106 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 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, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 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, 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, 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, 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, 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, }; if ((lim - cur) < 2) fill(2); yych = (unsigned char)*cur; if (yych <= '/') { if (yych == '-') goto yy479; } else { if (yych <= '0') goto yy480; if (yych <= '9') goto yy482; } yy478: yy479: yych = (unsigned char)*++cur; if (yych <= '0') goto yy478; if (yych <= '9') goto yy482; goto yy478; yy480: ++cur; yy481: #line 180 "../src/parse/lex_conf.re" { int32_t n = 0; if (!s_to_i32_unsafe (tok, cur, n)) { fatal ("configuration value overflow"); } lex_conf_semicolon (); return n; } #line 2170 "src/parse/lex_conf.cc" yy482: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy482; } goto yy481; } #line 189 "../src/parse/lex_conf.re" } std::string Scanner::lex_conf_string () { lex_conf_assign (); std::string s; tok = cur; #line 2190 "src/parse/lex_conf.cc" { unsigned char yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yych <= '!') { if (yych <= '\n') { if (yych <= 0x08) goto yy487; } else { if (yych != ' ') goto yy487; } } else { if (yych <= '\'') { if (yych <= '"') goto yy489; if (yych <= '&') goto yy487; goto yy489; } else { if (yych != ';') goto yy487; } } yy486: #line 212 "../src/parse/lex_conf.re" { s = std::string(tok, tok_len()); goto end; } #line 2250 "src/parse/lex_conf.cc" yy487: ++cur; if (lim <= cur) fill(1); yych = (unsigned char)*cur; if (yybm[0+yych] & 128) { goto yy487; } goto yy486; yy489: ++cur; #line 198 "../src/parse/lex_conf.re" { const char quote = tok[0]; for (bool end;;) { const uint32_t c = lex_str_chr(quote, end); if (end) { goto end; } if (c > 0xFF) { fatalf ("multibyte character in configuration string: 0x%X", c); } else { s += static_cast(c); } } } #line 2276 "src/parse/lex_conf.cc" } #line 216 "../src/parse/lex_conf.re" end: lex_conf_semicolon (); return s; } } // end namespace re2c re2c-0.16/bootstrap/src/parse/parser.cc0000644000175000017500000017422012650133401014736 00000000000000/* A Bison parser, made by GNU Bison 2.4.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009, 2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.4.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Using locations. */ #define YYLSP_NEEDED 0 /* Copy the first part of user declarations. */ #include "src/util/c99_stdint.h" #include #include #include #include #include #include #include #include #include #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/compile.h" #include "src/ir/adfa/adfa.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/regexp/encoding/range_suffix.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_null.h" #include "src/ir/regexp/regexp_rule.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/skeleton.h" #include "src/parse/code.h" #include "src/parse/extop.h" #include "src/parse/loc.h" #include "src/parse/parser.h" #include "src/parse/scanner.h" #include "src/parse/spec.h" #include "src/util/counter.h" #include "src/util/free_list.h" #include "src/util/range.h" #include "src/util/smart_ptr.h" #define YYMALLOC malloc #define YYFREE free using namespace re2c; extern "C" { int yylex(); void yyerror(const char*); } static counter_t rank_counter; static std::vector condnames; static re2c::SpecMap specMap; static Spec spec; static RuleOp *specNone = NULL; static RuleOpList specStar; static RuleOp * star_default = NULL; static Scanner *in = NULL; static Scanner::ParseMode parseMode; static SetupMap ruleSetupMap; static bool foundRules; static symbol_table_t symbol_table; /* Bison version 1.875 emits a definition that is not working * with several g++ version. Hence we disable it here. */ #if defined(__GNUC__) #define __attribute__(x) #endif void context_check(CondList *clist) { if (!opts->cFlag) { delete clist; in->fatal("conditions are only allowed when using -c switch"); } } void context_none(CondList *clist) { delete clist; context_check(NULL); in->fatal("no expression specified"); } void context_rule ( CondList * clist , const Loc & loc , RegExp * expr , RegExp * look , const Code * code , const std::string * newcond ) { context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (specMap.find(*it) == specMap.end()) { condnames.push_back (*it); } RuleOp * rule = new RuleOp ( loc , expr , look , rank_counter.next () , code , newcond ); specMap[*it].add (rule); } delete clist; delete newcond; } void setup_rule(CondList *clist, const Code * code) { assert(clist); assert(code); context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (ruleSetupMap.find(*it) != ruleSetupMap.end()) { in->fatalf_at(code->loc.line, "code to setup rule '%s' is already defined", it->c_str()); } ruleSetupMap[*it] = std::make_pair(code->loc.line, code->text); } delete clist; } void default_rule(CondList *clist, const Code * code) { assert(clist); assert(code); context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { RuleOp * def = new RuleOp ( code->loc , in->mkDefault () , new NullOp , rule_rank_t::def () , code , NULL ); if (!specMap[*it].add_def (def)) { in->fatalf_at(code->loc.line, "code to default rule '%s' is already defined", it->c_str()); } } delete clist; } /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { TOKEN_CLOSE = 258, TOKEN_CLOSESIZE = 259, TOKEN_CODE = 260, TOKEN_CONF = 261, TOKEN_ID = 262, TOKEN_FID = 263, TOKEN_FID_END = 264, TOKEN_NOCOND = 265, TOKEN_REGEXP = 266, TOKEN_SETUP = 267, TOKEN_STAR = 268 }; #endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { re2c::RegExp * regexp; const re2c::Code * code; char op; re2c::ExtOp extop; std::string * str; re2c::CondList * clist; } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif /* Copy the second part of user declarations. */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int yyi) #else static int YYID (yyi) int yyi; #endif { return yyi; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 104 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 25 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 14 /* YYNRULES -- Number of rules. */ #define YYNRULES 49 /* YYNRULES -- Number of states. */ #define YYNSTATES 92 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 268 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint8 yytranslate[] = { 0, 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, 23, 24, 2, 2, 20, 2, 2, 16, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 19, 15, 17, 14, 18, 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, 22, 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, 21, 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, 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, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 4, 7, 10, 15, 19, 24, 28, 30, 34, 37, 45, 53, 60, 67, 73, 81, 89, 96, 103, 109, 113, 117, 122, 127, 128, 130, 132, 136, 137, 141, 142, 145, 147, 151, 153, 157, 159, 162, 164, 167, 170, 172, 174, 177, 180, 182, 184 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { 26, 0, -1, -1, 26, 28, -1, 26, 27, -1, 7, 14, 33, 15, -1, 8, 33, 9, -1, 7, 14, 33, 16, -1, 8, 33, 16, -1, 6, -1, 33, 32, 5, -1, 13, 5, -1, 17, 29, 18, 33, 32, 31, 5, -1, 17, 29, 18, 33, 32, 19, 31, -1, 17, 29, 18, 32, 31, 5, -1, 17, 29, 18, 32, 19, 31, -1, 17, 29, 18, 13, 5, -1, 17, 13, 18, 33, 32, 31, 5, -1, 17, 13, 18, 33, 32, 19, 31, -1, 17, 13, 18, 32, 31, 5, -1, 17, 13, 18, 32, 19, 31, -1, 17, 13, 18, 13, 5, -1, 10, 31, 5, -1, 10, 19, 31, -1, 12, 13, 18, 5, -1, 12, 29, 18, 5, -1, -1, 30, -1, 7, -1, 30, 20, 7, -1, -1, 14, 18, 7, -1, -1, 16, 33, -1, 34, -1, 33, 21, 34, -1, 35, -1, 34, 22, 35, -1, 36, -1, 35, 36, -1, 38, -1, 38, 37, -1, 38, 4, -1, 3, -1, 13, -1, 37, 3, -1, 37, 13, -1, 7, -1, 11, -1, 23, 33, 24, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 193, 193, 195, 199, 203, 211, 219, 223, 227, 231, 247, 264, 268, 274, 279, 285, 289, 303, 319, 324, 330, 345, 362, 381, 387, 395, 398, 405, 411, 421, 424, 432, 435, 442, 446, 453, 457, 464, 468, 475, 479, 494, 513, 517, 521, 525, 532, 542, 546 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "TOKEN_CLOSE", "TOKEN_CLOSESIZE", "TOKEN_CODE", "TOKEN_CONF", "TOKEN_ID", "TOKEN_FID", "TOKEN_FID_END", "TOKEN_NOCOND", "TOKEN_REGEXP", "TOKEN_SETUP", "TOKEN_STAR", "'='", "';'", "'/'", "'<'", "'>'", "':'", "','", "'|'", "'\\\\'", "'('", "')'", "$accept", "spec", "decl", "rule", "cond", "clist", "newcond", "look", "expr", "diff", "term", "factor", "close", "primary", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 61, 59, 47, 60, 62, 58, 44, 124, 92, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 25, 26, 26, 26, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 2, 2, 4, 3, 4, 3, 1, 3, 2, 7, 7, 6, 6, 5, 7, 7, 6, 6, 5, 3, 3, 4, 4, 0, 1, 1, 3, 0, 3, 0, 2, 1, 3, 1, 3, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 2, 0, 1, 9, 47, 0, 30, 48, 26, 0, 26, 0, 4, 3, 32, 34, 36, 38, 40, 0, 47, 0, 0, 30, 0, 28, 0, 0, 27, 11, 0, 0, 0, 0, 0, 0, 0, 39, 43, 42, 44, 41, 0, 6, 8, 0, 23, 22, 0, 0, 0, 32, 32, 49, 33, 35, 10, 37, 45, 46, 5, 7, 31, 24, 25, 29, 0, 30, 32, 0, 30, 32, 21, 30, 0, 30, 16, 30, 0, 30, 20, 19, 30, 0, 15, 14, 30, 0, 18, 17, 13, 12 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 1, 12, 13, 27, 28, 24, 35, 14, 15, 16, 17, 41, 18 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -43 static const yytype_int8 yypact[] = { -43, 11, -43, -43, -11, 30, 47, -43, 25, 10, 33, 30, -43, -43, 48, 17, 30, -43, 1, 30, -43, 4, 40, 60, 70, -43, 61, 63, 42, -43, 64, 66, 59, 30, 30, 73, 30, -43, -43, -43, -43, 32, -9, -43, -43, 78, -43, -43, 81, 82, 83, 20, 44, -43, 67, 17, -43, 30, -43, -43, -43, -43, -43, -43, -43, -43, 84, 51, 48, 86, 54, 48, -43, 60, 87, 57, -43, 60, 88, 58, -43, -43, 60, 89, -43, -43, 60, 90, -43, -43, -43, -43 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -43, -43, -43, -43, 91, -43, -23, -42, -3, 62, 68, -15, -43, -43 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { 46, 37, 21, 19, 38, 39, 60, 61, 32, 67, 70, 2, 34, 43, 40, 29, 42, 3, 4, 5, 44, 6, 7, 8, 9, 34, 75, 20, 10, 79, 54, 7, 25, 66, 11, 58, 33, 20, 26, 36, 25, 7, 37, 11, 74, 59, 30, 78, 68, 71, 80, 20, 83, 11, 84, 7, 87, 69, 45, 88, 33, 22, 50, 90, 33, 22, 23, 11, 22, 34, 73, 22, 22, 77, 22, 47, 82, 86, 56, 48, 34, 49, 51, 53, 52, 62, 63, 64, 34, 72, 65, 76, 81, 85, 89, 91, 55, 0, 0, 0, 0, 31, 0, 0, 57 }; static const yytype_int8 yycheck[] = { 23, 16, 5, 14, 3, 4, 15, 16, 11, 51, 52, 0, 21, 9, 13, 5, 19, 6, 7, 8, 16, 10, 11, 12, 13, 21, 68, 7, 17, 71, 33, 11, 7, 13, 23, 3, 16, 7, 13, 22, 7, 11, 57, 23, 67, 13, 13, 70, 51, 52, 73, 7, 75, 23, 77, 11, 79, 13, 18, 82, 16, 14, 20, 86, 16, 14, 19, 23, 14, 21, 19, 14, 14, 19, 14, 5, 19, 19, 5, 18, 21, 18, 18, 24, 18, 7, 5, 5, 21, 5, 7, 5, 5, 5, 5, 5, 34, -1, -1, -1, -1, 10, -1, -1, 36 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 26, 0, 6, 7, 8, 10, 11, 12, 13, 17, 23, 27, 28, 33, 34, 35, 36, 38, 14, 7, 33, 14, 19, 31, 7, 13, 29, 30, 5, 13, 29, 33, 16, 21, 32, 22, 36, 3, 4, 13, 37, 33, 9, 16, 18, 31, 5, 18, 18, 20, 18, 18, 24, 33, 34, 5, 35, 3, 13, 15, 16, 7, 5, 5, 7, 13, 32, 33, 13, 32, 33, 5, 19, 31, 32, 5, 19, 31, 32, 31, 5, 19, 31, 31, 5, 19, 31, 31, 5, 31, 5 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. However, YYFAIL appears to be in use. Nevertheless, it is formally deprecated in Bison 2.4.2's NEWS entry, where a plan to phase it out is discussed. */ #define YYFAIL goto yyerrlab #if defined YYFAIL /* This is here to suppress warnings from the GCC cpp's -Wunused-macros. Normally we don't worry about that warning, but some users do, and we want to make it easy for users to remove YYFAIL uses, which will produce warnings from Bison 2.5. */ #endif #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (YYLEX_PARAM) #else # define YYLEX yylex () #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void yy_stack_print (yybottom, yytop) yytype_int16 *yybottom; yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule) #else static void yy_reduce_print (yyvsp, yyrule) YYSTYPE *yyvsp; int yyrule; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; /*-------------------------. | yyparse or yypush_parse. | `-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void) #else int yyparse () #endif #endif { int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: `yyss': related to states. `yyvs': related to semantic values. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yytoken = 0; yyss = yyssa; yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: { ;} break; case 3: { foundRules = true; ;} break; case 5: { if (!symbol_table.insert (std::make_pair (* (yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].regexp))).second) { in->fatal("sym already defined"); } delete (yyvsp[(1) - (4)].str); ;} break; case 6: { if (!symbol_table.insert (std::make_pair (* (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].regexp))).second) { in->fatal("sym already defined"); } delete (yyvsp[(1) - (3)].str); ;} break; case 7: { in->fatal("trailing contexts are not allowed in named definitions"); ;} break; case 8: { in->fatal("trailing contexts are not allowed in named definitions"); ;} break; case 9: {;} break; case 10: { if (opts->cFlag) { in->fatal("condition or '<*>' required when using -c switch"); } RuleOp * rule = new RuleOp ( (yyvsp[(3) - (3)].code)->loc , (yyvsp[(1) - (3)].regexp) , (yyvsp[(2) - (3)].regexp) , rank_counter.next () , (yyvsp[(3) - (3)].code) , NULL ); spec.add (rule); ;} break; case 11: { if (opts->cFlag) in->fatal("condition or '<*>' required when using -c switch"); RuleOp * def = new RuleOp ( (yyvsp[(2) - (2)].code)->loc , in->mkDefault () , new NullOp , rule_rank_t::def () , (yyvsp[(2) - (2)].code) , NULL ); if (!spec.add_def (def)) { in->fatal("code to default rule is already defined"); } ;} break; case 12: { context_rule ((yyvsp[(2) - (7)].clist), (yyvsp[(7) - (7)].code)->loc, (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(7) - (7)].code), (yyvsp[(6) - (7)].str)); ;} break; case 13: { assert((yyvsp[(7) - (7)].str)); Loc loc (in->get_fname (), in->get_cline ()); context_rule ((yyvsp[(2) - (7)].clist), loc, (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), NULL, (yyvsp[(7) - (7)].str)); ;} break; case 14: { context_none((yyvsp[(2) - (6)].clist)); delete (yyvsp[(5) - (6)].str); ;} break; case 15: { assert((yyvsp[(6) - (6)].str)); context_none((yyvsp[(2) - (6)].clist)); delete (yyvsp[(6) - (6)].str); ;} break; case 16: { default_rule((yyvsp[(2) - (5)].clist), (yyvsp[(5) - (5)].code)); ;} break; case 17: { context_check(NULL); RuleOp * rule = new RuleOp ( (yyvsp[(7) - (7)].code)->loc , (yyvsp[(4) - (7)].regexp) , (yyvsp[(5) - (7)].regexp) , rank_counter.next () , (yyvsp[(7) - (7)].code) , (yyvsp[(6) - (7)].str) ); specStar.push_back (rule); delete (yyvsp[(6) - (7)].str); ;} break; case 18: { assert((yyvsp[(7) - (7)].str)); context_check(NULL); Loc loc (in->get_fname (), in->get_cline ()); RuleOp * rule = new RuleOp ( loc , (yyvsp[(4) - (7)].regexp) , (yyvsp[(5) - (7)].regexp) , rank_counter.next () , NULL , (yyvsp[(7) - (7)].str) ); specStar.push_back (rule); delete (yyvsp[(7) - (7)].str); ;} break; case 19: { context_none(NULL); delete (yyvsp[(5) - (6)].str); ;} break; case 20: { assert((yyvsp[(6) - (6)].str)); context_none(NULL); delete (yyvsp[(6) - (6)].str); ;} break; case 21: { if (star_default) { in->fatal ("code to default rule '*' is already defined"); } star_default = new RuleOp ( (yyvsp[(5) - (5)].code)->loc , in->mkDefault () , new NullOp , rule_rank_t::def () , (yyvsp[(5) - (5)].code) , NULL ); ;} break; case 22: { context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } (yyval.regexp) = specNone = new RuleOp ( (yyvsp[(3) - (3)].code)->loc , new NullOp , new NullOp , rank_counter.next () , (yyvsp[(3) - (3)].code) , (yyvsp[(2) - (3)].str) ); delete (yyvsp[(2) - (3)].str); ;} break; case 23: { assert((yyvsp[(3) - (3)].str)); context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Loc loc (in->get_fname (), in->get_cline ()); (yyval.regexp) = specNone = new RuleOp ( loc , new NullOp , new NullOp , rank_counter.next () , NULL , (yyvsp[(3) - (3)].str) ); delete (yyvsp[(3) - (3)].str); ;} break; case 24: { CondList *clist = new CondList(); clist->insert("*"); setup_rule(clist, (yyvsp[(4) - (4)].code)); ;} break; case 25: { setup_rule((yyvsp[(2) - (4)].clist), (yyvsp[(4) - (4)].code)); ;} break; case 26: { in->fatal("unnamed condition not supported"); ;} break; case 27: { (yyval.clist) = (yyvsp[(1) - (1)].clist); ;} break; case 28: { (yyval.clist) = new CondList(); (yyval.clist)->insert(* (yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); ;} break; case 29: { (yyvsp[(1) - (3)].clist)->insert(* (yyvsp[(3) - (3)].str)); delete (yyvsp[(3) - (3)].str); (yyval.clist) = (yyvsp[(1) - (3)].clist); ;} break; case 30: { (yyval.str) = NULL; ;} break; case 31: { (yyval.str) = (yyvsp[(3) - (3)].str); ;} break; case 32: { (yyval.regexp) = new NullOp; ;} break; case 33: { (yyval.regexp) = (yyvsp[(2) - (2)].regexp); ;} break; case 34: { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); ;} break; case 35: { (yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp)); ;} break; case 36: { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); ;} break; case 37: { (yyval.regexp) = in->mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp)); ;} break; case 38: { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); ;} break; case 39: { (yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp)); ;} break; case 40: { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); ;} break; case 41: { switch((yyvsp[(2) - (2)].op)) { case '*': (yyval.regexp) = new CloseOp((yyvsp[(1) - (2)].regexp)); break; case '+': (yyval.regexp) = new CatOp (new CloseOp((yyvsp[(1) - (2)].regexp)), (yyvsp[(1) - (2)].regexp)); break; case '?': (yyval.regexp) = mkAlt((yyvsp[(1) - (2)].regexp), new NullOp()); break; } ;} break; case 42: { if ((yyvsp[(2) - (2)].extop).max == std::numeric_limits::max()) { (yyval.regexp) = repeat_from ((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).min); } else if ((yyvsp[(2) - (2)].extop).min == (yyvsp[(2) - (2)].extop).max) { (yyval.regexp) = repeat ((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).min); } else { (yyval.regexp) = repeat_from_to ((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).min, (yyvsp[(2) - (2)].extop).max); } (yyval.regexp) = (yyval.regexp) ? (yyval.regexp) : new NullOp; ;} break; case 43: { (yyval.op) = (yyvsp[(1) - (1)].op); ;} break; case 44: { (yyval.op) = (yyvsp[(1) - (1)].op); ;} break; case 45: { (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*'; ;} break; case 46: { (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*'; ;} break; case 47: { symbol_table_t::iterator i = symbol_table.find (* (yyvsp[(1) - (1)].str)); delete (yyvsp[(1) - (1)].str); if (i == symbol_table.end ()) { in->fatal("can't find symbol"); } (yyval.regexp) = i->second; ;} break; case 48: { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); ;} break; case 49: { (yyval.regexp) = (yyvsp[(2) - (3)].regexp); ;} break; default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (yymsg); } else { yyerror (YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } extern "C" { void yyerror(const char* s) { in->fatal(s); } int yylex(){ return in ? in->scan() : 0; } } // end extern "C" namespace re2c { void parse(Scanner& i, Output & o) { std::map > dfa_map; ScannerState rules_state; in = &i; o.source.wversion_time () .wline_info (in->get_cline (), in->get_fname ().c_str ()); if (opts->target == opt_t::SKELETON) { Skeleton::emit_prolog (o.source); } Enc encodingOld = opts->encoding; while ((parseMode = i.echo()) != Scanner::Stop) { o.source.new_block (); bool bPrologBrace = false; ScannerState curr_state; i.save_state(curr_state); foundRules = false; if (opts->rFlag && parseMode == Scanner::Rules && dfa_map.size()) { in->fatal("cannot have a second 'rules:re2c' block"); } if (parseMode == Scanner::Reuse) { if (dfa_map.empty()) { in->fatal("got 'use:re2c' without 'rules:re2c'"); } } else if (parseMode == Scanner::Rules) { i.save_state(rules_state); } else { dfa_map.clear(); } rank_counter.reset (); spec.clear (); in->set_in_parse(true); yyparse(); in->set_in_parse(false); if (opts->rFlag && parseMode == Scanner::Reuse) { if (foundRules || opts->encoding != encodingOld) { // Re-parse rules parseMode = Scanner::Parse; i.restore_state(rules_state); i.reuse(); dfa_map.clear(); parse_cleanup(); spec.clear (); rank_counter.reset (); in->set_in_parse(true); yyparse(); in->set_in_parse(false); // Now append potential new rules i.restore_state(curr_state); parseMode = Scanner::Parse; in->set_in_parse(true); yyparse(); in->set_in_parse(false); } encodingOld = opts->encoding; } o.source.set_block_line (in->get_cline ()); uint32_t ind = opts->topIndent; if (opts->cFlag) { SpecMap::iterator it; SetupMap::const_iterator itRuleSetup; if (parseMode != Scanner::Reuse) { // <*> rules must have the lowest priority // now that all rules have been parsed, we can fix it for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { (*itOp)->rank = rank_counter.next (); } // merge <*> rules to all conditions for (it = specMap.begin(); it != specMap.end(); ++it) { for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { it->second.add (*itOp); } if (star_default) { it->second.add_def (star_default); } } if (specNone) { specMap["0"].add (specNone); // Note that "0" inserts first, which is important. condnames.insert (condnames.begin (), "0"); } o.types = condnames; } size_t nCount = specMap.size(); for (it = specMap.begin(); it != specMap.end(); ++it) { if (parseMode != Scanner::Reuse) { itRuleSetup = ruleSetupMap.find(it->first); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { yySetupRule = ""; } } dfa_map[it->first] = compile(it->second, o, it->first, opts->encoding.nCodeUnits ()); } if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end()) { dfa_map[it->first]->emit(o, ind, !--nCount, bPrologBrace); } } } else { if (spec.re || !dfa_map.empty()) { if (parseMode != Scanner::Reuse) { dfa_map[""] = compile(spec, o, "", opts->encoding.nCodeUnits ()); } if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end()) { dfa_map[""]->emit(o, ind, 0, bPrologBrace); } } } o.source.wline_info (in->get_cline (), in->get_fname ().c_str ()); /* restore original char handling mode*/ opts.reset_encoding (encodingOld); } if (opts->cFlag) { SetupMap::const_iterator itRuleSetup; for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup) { if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end()) { in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str()); } } if (specMap.size() < ruleSetupMap.size()) { uint32_t line = in->get_cline(); itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { line = itRuleSetup->second.first; } in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly"); } } if (opts->target == opt_t::SKELETON) { Skeleton::emit_epilog (o.source, o.skeletons); } parse_cleanup(); in = NULL; } void parse_cleanup() { RegExp::vFreeList.clear(); Range::vFreeList.clear(); RangeSuffix::freeList.clear(); Code::freelist.clear(); symbol_table.clear (); condnames.clear (); specMap.clear(); specStar.clear(); star_default = NULL; specNone = NULL; } } // end namespace re2c re2c-0.16/configure0000755000175000017500000057402012650133375011140 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for re2c 0.16. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: re2c-general@lists.sourceforge.net about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='re2c' PACKAGE_TARNAME='re2c' PACKAGE_VERSION='0.16' PACKAGE_STRING='re2c 0.16' PACKAGE_BUGREPORT='re2c-general@lists.sourceforge.net' PACKAGE_URL='' ac_unique_file="src/main.cc" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS CXXFLAGSDEFAULT am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC BISON RST2MAN REBUILD_DOCS_FALSE REBUILD_DOCS_TRUE PACKAGE_RELEASE PACKAGE_DATE AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_docs enable_dependency_tracking ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures re2c 0.16 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/re2c] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of re2c 0.16:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-docs regenerate manpage --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF re2c configure 0.16 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0; return test_array [0]; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by re2c $as_me 0.16, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.15' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # Expand $ac_aux_dir to an absolute path. am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='re2c' VERSION='0.16' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target (and possibly the TAP driver). The # system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # POSIX will say in a future version that running "rm -f" with no argument # is OK; and we want to be able to make that assumption in our Makefile # recipes. So use an aggressive probe to check that the usage we want is # actually supported "in the wild" to an acceptable degree. # See automake bug#10828. # To make any issue more visible, cause the running configure to be aborted # by default if the 'rm' program in use doesn't match our expectations; the # user can still override this though. if rm -f && rm -fr && rm -rf; then : OK; else cat >&2 <<'END' Oops! Your 'rm' program seems unable to run without file operands specified on the command line, even when the '-f' option is present. This is contrary to the behaviour of most rm programs out there, and not conforming with the upcoming POSIX standard: Please tell bug-automake@gnu.org about your system, including the value of your $PATH and any error possibly output before this message. This can help us improve future automake versions. END if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then echo 'Configuration will proceed anyway, since you have set the' >&2 echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 echo >&2 else cat >&2 <<'END' Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM to "yes", and re-run configure. END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' ac_config_headers="$ac_config_headers config.h" PACKAGE_DATE=`date +'%d %b %Y'` PACKAGE_RELEASE=${PACKAGE_RELEASE:-1} # --enable-docs # Check whether --enable-docs was given. if test "${enable_docs+set}" = set; then : enableval=$enable_docs; fi if test "x$enable_docs" = "xyes"; then REBUILD_DOCS_TRUE= REBUILD_DOCS_FALSE='#' else REBUILD_DOCS_TRUE='#' REBUILD_DOCS_FALSE= fi if test -z "$REBUILD_DOCS_TRUE"; then : for ac_prog in rst2man rst2man.py do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RST2MAN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RST2MAN"; then ac_cv_prog_RST2MAN="$RST2MAN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RST2MAN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RST2MAN=$ac_cv_prog_RST2MAN if test -n "$RST2MAN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RST2MAN" >&5 $as_echo "$RST2MAN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$RST2MAN" && break done test -n "$RST2MAN" || RST2MAN="no" if test "x$RST2MAN" = "xno"; then : as_fn_error $? "need rst2man or rst2man.py for --enable-docs" "$LINENO" 5 fi fi # checks for programs # Extract the first word of "bison", so it can be a program name with args. set dummy bison; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_BISON+:} false; then : $as_echo_n "(cached) " >&6 else case $BISON in [\\/]* | ?:[\\/]*) ac_cv_path_BISON="$BISON" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="no" ;; esac fi BISON=$ac_cv_path_BISON if test -n "$BISON"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 $as_echo "$BISON" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 $as_echo_n "checking whether $CC understands -c and -o together... " >&6; } if ${am_cv_prog_cc_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # Following AC_PROG_CC_C_O, we do the test twice because some # compilers refuse to overwrite an existing .o file with -o, # though they will create one. am_cv_prog_cc_c_o=yes for am_i in 1 2; do if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } \ && test -f conftest2.$ac_objext; then : OK else am_cv_prog_cc_c_o=no break fi done rm -f core conftest* unset am_i fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 $as_echo "$am_cv_prog_cc_c_o" >&6; } if test "$am_cv_prog_cc_c_o" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # used in skeleton tests ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CXX_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi # checks for C++ compiler flags # TRY_CXXFLAG (flag [implied-flags]) # Iff C++ compiler recognizes 'flag', append 'flag' and 'implied-flags' to CXXFLAGSDEFAULT # (Second param 'implied-flags' is needed for warning suppressions '-Wno-': # GCC warns about unrecognized suppressions options only in presence of other warnings, # which makes it hard to test for them with autoconf.) { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -W" >&5 $as_echo_n "checking C++ compiler flag -W... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -W" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -W " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wall" >&5 $as_echo_n "checking C++ compiler flag -Wall... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wall" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wall " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wextra" >&5 $as_echo_n "checking C++ compiler flag -Wextra... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wextra" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wextra " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Weffc++" >&5 $as_echo_n "checking C++ compiler flag -Weffc++... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Weffc++" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Weffc++ " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -pedantic" >&5 $as_echo_n "checking C++ compiler flag -pedantic... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -pedantic" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -pedantic " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wformat=2" >&5 $as_echo_n "checking C++ compiler flag -Wformat=2... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wformat=2" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wformat=2 " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wredundant-decls" >&5 $as_echo_n "checking C++ compiler flag -Wredundant-decls... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wredundant-decls" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wredundant-decls " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wsuggest-attribute=format" >&5 $as_echo_n "checking C++ compiler flag -Wsuggest-attribute=format... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wsuggest-attribute=format" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wsuggest-attribute=format " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wconversion" >&5 $as_echo_n "checking C++ compiler flag -Wconversion... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wconversion" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wconversion " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wsign-conversion" >&5 $as_echo_n "checking C++ compiler flag -Wsign-conversion... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Wsign-conversion" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wsign-conversion " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -O2" >&5 $as_echo_n "checking C++ compiler flag -O2... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -O2" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -O2 " else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Weverything" >&5 $as_echo_n "checking C++ compiler flag -Weverything... " >&6; } CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -Weverything" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : TRY_CXXFLAG_RESULT=yes CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Weverything -Wno-unknown-warning-option -Wno-reserved-id-macro -Wno-padded -Wno-old-style-cast -Wno-covered-switch-default" else TRY_CXXFLAG_RESULT=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CXXFLAGS="$CXXFLAGS_BACKUP" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5 $as_echo "$TRY_CXXFLAG_RESULT" >&6; } # needed by src/c99_stdint.h # avoid AC_INCLUDES_DEFAULT for ac_header in stdint.h do : ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" " " if test "x$ac_cv_header_stdint_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDINT_H 1 _ACEOF fi done # list of possible types to use in typedefs # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5 $as_echo_n "checking size of char... " >&6; } if ${ac_cv_sizeof_char+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" " "; then : else if test "$ac_cv_type_char" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (char) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_char=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5 $as_echo "$ac_cv_sizeof_char" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 $as_echo_n "checking size of short... " >&6; } if ${ac_cv_sizeof_short+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" " "; then : else if test "$ac_cv_type_short" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (short) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_short=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 $as_echo "$ac_cv_sizeof_short" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } if ${ac_cv_sizeof_int+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" " "; then : else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (int) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_int=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 $as_echo "$ac_cv_sizeof_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } if ${ac_cv_sizeof_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" " "; then : else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } if ${ac_cv_sizeof_long_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" " "; then : else if test "$ac_cv_type_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 $as_echo "$ac_cv_sizeof_long_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of __int64" >&5 $as_echo_n "checking size of __int64... " >&6; } if ${ac_cv_sizeof___int64+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__int64))" "ac_cv_sizeof___int64" " "; then : else if test "$ac_cv_type___int64" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (__int64) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof___int64=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___int64" >&5 $as_echo "$ac_cv_sizeof___int64" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF___INT64 $ac_cv_sizeof___int64 _ACEOF # size of pointers # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 $as_echo_n "checking size of void *... " >&6; } if ${ac_cv_sizeof_void_p+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" " "; then : else if test "$ac_cv_type_void_p" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (void *) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_void_p=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 $as_echo "$ac_cv_sizeof_void_p" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_VOID_P $ac_cv_sizeof_void_p _ACEOF # 64-bit integer constant suffix # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of 0l" >&5 $as_echo_n "checking size of 0l... " >&6; } if ${ac_cv_sizeof_0l+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (0l))" "ac_cv_sizeof_0l" " "; then : else if test "$ac_cv_type_0l" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (0l) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_0l=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_0l" >&5 $as_echo "$ac_cv_sizeof_0l" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_0L $ac_cv_sizeof_0l _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of 0ll" >&5 $as_echo_n "checking size of 0ll... " >&6; } if ${ac_cv_sizeof_0ll+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (0ll))" "ac_cv_sizeof_0ll" " "; then : else if test "$ac_cv_type_0ll" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (0ll) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_0ll=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_0ll" >&5 $as_echo "$ac_cv_sizeof_0ll" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_0LL $ac_cv_sizeof_0ll _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of 0i8" >&5 $as_echo_n "checking size of 0i8... " >&6; } if ${ac_cv_sizeof_0i8+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (0i8))" "ac_cv_sizeof_0i8" " "; then : else if test "$ac_cv_type_0i8" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (0i8) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_0i8=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_0i8" >&5 $as_echo "$ac_cv_sizeof_0i8" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_0I8 $ac_cv_sizeof_0i8 _ACEOF ac_config_files="$ac_config_files Makefile doc/manpage.rst" ac_config_files="$ac_config_files run_tests.sh" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${REBUILD_DOCS_TRUE}" && test -z "${REBUILD_DOCS_FALSE}"; then as_fn_error $? "conditional \"REBUILD_DOCS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by re2c $as_me 0.16, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ re2c config.status 0.16 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/manpage.rst") CONFIG_FILES="$CONFIG_FILES doc/manpage.rst" ;; "run_tests.sh") CONFIG_FILES="$CONFIG_FILES run_tests.sh" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "run_tests.sh":F) chmod +x run_tests.sh ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi re2c-0.16/install-sh0000755000175000017500000003452312650133376011235 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2013-12-25.23; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. tab=' ' nl=' ' IFS=" $tab$nl" # Set DOITPROG to "echo" to test this script. doit=${DOITPROG-} doit_exec=${doit:-exec} # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false is_target_a_directory=possibly usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) is_target_a_directory=always dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) is_target_a_directory=never;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done # We allow the use of options -d and -T together, by making -d # take the precedence; this is for compatibility with GNU install. if test -n "$dir_arg"; then if test -n "$dst_arg"; then echo "$0: target directory not allowed when installing a directory." >&2 exit 1 fi fi if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then if test $# -gt 1 || test "$is_target_a_directory" = always; then if test ! -d "$dst_arg"; then echo "$0: $dst_arg: Is not a directory." >&2 exit 1 fi fi fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test "$is_target_a_directory" = never; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else dstdir=`dirname "$dst"` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac oIFS=$IFS IFS=/ set -f set fnord $dstdir shift set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: re2c-0.16/Makefile.in0000644000175000017500000020551512650133377011300 00000000000000# Makefile.in generated by automake 1.15 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2014 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = { \ if test -z '$(MAKELEVEL)'; then \ false; \ elif test -n '$(MAKE_HOST)'; then \ true; \ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ true; \ else \ false; \ fi; \ } am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : bin_PROGRAMS = re2c$(EXEEXT) check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = doc/manpage.rst run_tests.sh CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" am__EXEEXT_1 = testrange$(EXEEXT) am__EXEEXT_2 = testston32unsafe$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) am__objects_1 = am__dirstamp = $(am__leading_dot)dirstamp am__objects_2 = src/codegen/bitmap.$(OBJEXT) \ src/codegen/emit_action.$(OBJEXT) \ src/codegen/emit_dfa.$(OBJEXT) src/codegen/label.$(OBJEXT) \ src/codegen/go_construct.$(OBJEXT) \ src/codegen/go_destruct.$(OBJEXT) \ src/codegen/go_emit.$(OBJEXT) \ src/codegen/go_used_labels.$(OBJEXT) \ src/codegen/input_api.$(OBJEXT) src/codegen/output.$(OBJEXT) \ src/codegen/print.$(OBJEXT) src/conf/msg.$(OBJEXT) \ src/conf/opt.$(OBJEXT) src/conf/warn.$(OBJEXT) \ src/ir/nfa/calc_size.$(OBJEXT) src/ir/nfa/nfa.$(OBJEXT) \ src/ir/nfa/split.$(OBJEXT) src/ir/adfa/adfa.$(OBJEXT) \ src/ir/adfa/prepare.$(OBJEXT) \ src/ir/dfa/determinization.$(OBJEXT) \ src/ir/dfa/fillpoints.$(OBJEXT) \ src/ir/dfa/minimization.$(OBJEXT) \ src/ir/regexp/display.$(OBJEXT) \ src/ir/regexp/encoding/enc.$(OBJEXT) \ src/ir/regexp/encoding/range_suffix.$(OBJEXT) \ src/ir/regexp/encoding/utf8/utf8_regexp.$(OBJEXT) \ src/ir/regexp/encoding/utf8/utf8_range.$(OBJEXT) \ src/ir/regexp/encoding/utf8/utf8.$(OBJEXT) \ src/ir/regexp/encoding/utf16/utf16_regexp.$(OBJEXT) \ src/ir/regexp/encoding/utf16/utf16.$(OBJEXT) \ src/ir/regexp/encoding/utf16/utf16_range.$(OBJEXT) \ src/ir/regexp/fixed_length.$(OBJEXT) \ src/ir/regexp/regexp.$(OBJEXT) src/ir/compile.$(OBJEXT) \ src/ir/rule_rank.$(OBJEXT) \ src/ir/skeleton/control_flow.$(OBJEXT) \ src/ir/skeleton/generate_code.$(OBJEXT) \ src/ir/skeleton/generate_data.$(OBJEXT) \ src/ir/skeleton/match_empty.$(OBJEXT) \ src/ir/skeleton/maxlen.$(OBJEXT) \ src/ir/skeleton/skeleton.$(OBJEXT) \ src/ir/skeleton/unreachable.$(OBJEXT) \ src/ir/skeleton/way.$(OBJEXT) src/main.$(OBJEXT) \ src/parse/code.$(OBJEXT) src/parse/input.$(OBJEXT) \ src/parse/scanner.$(OBJEXT) src/parse/unescape.$(OBJEXT) \ src/util/s_to_n32_unsafe.$(OBJEXT) src/util/range.$(OBJEXT) am_re2c_OBJECTS = $(am__objects_1) $(am__objects_2) am__objects_3 = src/parse/lex.$(OBJEXT) am__objects_4 = src/parse/lex_conf.$(OBJEXT) am__objects_5 = src/parse/parser.$(OBJEXT) am__objects_6 = src/conf/parse_opts.$(OBJEXT) am__objects_7 = $(am__objects_3) $(am__objects_4) $(am__objects_5) \ $(am__objects_1) $(am__objects_6) nodist_re2c_OBJECTS = $(am__objects_7) re2c_OBJECTS = $(am_re2c_OBJECTS) $(nodist_re2c_OBJECTS) re2c_LDADD = $(LDADD) am_testrange_OBJECTS = src/test/range/test.$(OBJEXT) \ src/util/range.$(OBJEXT) testrange_OBJECTS = $(am_testrange_OBJECTS) testrange_LDADD = $(LDADD) am_testston32unsafe_OBJECTS = src/test/s_to_n32_unsafe/test.$(OBJEXT) \ src/util/s_to_n32_unsafe.$(OBJEXT) testston32unsafe_OBJECTS = $(am_testston32unsafe_OBJECTS) testston32unsafe_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(re2c_SOURCES) $(nodist_re2c_SOURCES) $(testrange_SOURCES) \ $(testston32unsafe_SOURCES) DIST_SOURCES = $(re2c_SOURCES) $(testrange_SOURCES) \ $(testston32unsafe_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope AM_RECURSIVE_TARGETS = cscope check recheck am__tty_colors_dummy = \ mgn= red= grn= lgn= blu= brg= std=; \ am__color_tests=no am__tty_colors = { \ $(am__tty_colors_dummy); \ if test "X$(AM_COLOR_TESTS)" = Xno; then \ am__color_tests=no; \ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ am__color_tests=yes; \ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ am__color_tests=yes; \ fi; \ if test $$am__color_tests = yes; then \ red=''; \ grn=''; \ lgn=''; \ blu=''; \ mgn=''; \ brg=''; \ std=''; \ fi; \ } am__recheck_rx = ^[ ]*:recheck:[ ]* am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* # A command that, given a newline-separated list of test names on the # standard input, print the name of the tests that are to be re-run # upon "make recheck". am__list_recheck_tests = $(AWK) '{ \ recheck = 1; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ { \ if ((getline line2 < ($$0 ".log")) < 0) \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ { \ recheck = 0; \ break; \ } \ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ { \ break; \ } \ }; \ if (recheck) \ print $$0; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # A command that, given a newline-separated list of test names on the # standard input, create the global log from their .trs and .log files. am__create_global_log = $(AWK) ' \ function fatal(msg) \ { \ print "fatal: making $@: " msg | "cat >&2"; \ exit 1; \ } \ function rst_section(header) \ { \ print header; \ len = length(header); \ for (i = 1; i <= len; i = i + 1) \ printf "="; \ printf "\n\n"; \ } \ { \ copy_in_global_log = 1; \ global_test_result = "RUN"; \ while ((rc = (getline line < ($$0 ".trs"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".trs"); \ if (line ~ /$(am__global_test_result_rx)/) \ { \ sub("$(am__global_test_result_rx)", "", line); \ sub("[ ]*$$", "", line); \ global_test_result = line; \ } \ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ copy_in_global_log = 0; \ }; \ if (copy_in_global_log) \ { \ rst_section(global_test_result ": " $$0); \ while ((rc = (getline line < ($$0 ".log"))) != 0) \ { \ if (rc < 0) \ fatal("failed to read from " $$0 ".log"); \ print line; \ }; \ printf "\n"; \ }; \ close ($$0 ".trs"); \ close ($$0 ".log"); \ }' # Restructured Text title. am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } # Solaris 10 'make', and several other traditional 'make' implementations, # pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it # by disabling -e (using the XSI extension "set +e") if it's set. am__sh_e_setup = case $$- in *e*) set +e;; esac # Default flags passed to test drivers. am__common_driver_flags = \ --color-tests "$$am__color_tests" \ --enable-hard-errors "$$am__enable_hard_errors" \ --expect-failure "$$am__expect_failure" # To be inserted before the command running the test. Creates the # directory for the log if needed. Stores in $dir the directory # containing $f, in $tst the test, in $log the log. Executes the # developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and # passes TESTS_ENVIRONMENT. Set up options for the wrapper that # will run the test scripts (or their associated LOG_COMPILER, if # thy have one). am__check_pre = \ $(am__sh_e_setup); \ $(am__vpath_adj_setup) $(am__vpath_adj) \ $(am__tty_colors); \ srcdir=$(srcdir); export srcdir; \ case "$@" in \ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ *) am__odir=.;; \ esac; \ test "x$$am__odir" = x"." || test -d "$$am__odir" \ || $(MKDIR_P) "$$am__odir" || exit $$?; \ if test -f "./$$f"; then dir=./; \ elif test -f "$$f"; then dir=; \ else dir="$(srcdir)/"; fi; \ tst=$$dir$$f; log='$@'; \ if test -n '$(DISABLE_HARD_ERRORS)'; then \ am__enable_hard_errors=no; \ else \ am__enable_hard_errors=yes; \ fi; \ case " $(XFAIL_TESTS) " in \ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ am__expect_failure=yes;; \ *) \ am__expect_failure=no;; \ esac; \ $(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) # A shell command to get the names of the tests scripts with any registered # extension removed (i.e., equivalently, the names of the test logs, with # the '.log' extension removed). The result is saved in the shell variable # '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, # we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", # since that might cause problem with VPATH rewrites for suffix-less tests. # See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. am__set_TESTS_bases = \ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` RECHECK_LOGS = $(TEST_LOGS) TEST_SUITE_LOG = test-suite.log TEST_EXTENSIONS = @EXEEXT@ .test LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) am__set_b = \ case '$@' in \ */*) \ case '$*' in \ */*) b='$*';; \ *) b=`echo '$@' | sed 's/\.log$$//'`; \ esac;; \ *) \ b='$*';; \ esac am__test_logs1 = $(TESTS:=.log) am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log) TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/run_tests.sh.in $(top_srcdir)/doc/manpage.rst.in \ README compile depcomp install-sh missing test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BISON = @BISON@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CXXFLAGSDEFAULT = @CXXFLAGSDEFAULT@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EXEEXT = @EXEEXT@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_DATE = @PACKAGE_DATE@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_RELEASE = @PACKAGE_RELEASE@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RST2MAN = @RST2MAN@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # flags # do *not* add CXXFLAGS here, add them in configure.ac AM_CXXFLAGS = $(CXXFLAGSDEFAULT) RE2CFLAGS = -b RE2C = re2c$(EXEEXT) # sources SRC_HDR = \ src/codegen/bitmap.h \ src/codegen/emit.h \ src/codegen/go.h \ src/codegen/indent.h \ src/codegen/input_api.h \ src/codegen/label.h \ src/codegen/output.h \ src/codegen/print.h \ src/conf/msg.h \ src/conf/opt.h \ src/conf/warn.h \ src/ir/adfa/action.h \ src/ir/adfa/adfa.h \ src/ir/dfa/dfa.h \ src/ir/nfa/nfa.h \ src/ir/regexp/encoding/case.h \ src/ir/regexp/encoding/enc.h \ src/ir/regexp/encoding/range_suffix.h \ src/ir/regexp/encoding/utf8/utf8.h \ src/ir/regexp/encoding/utf8/utf8_regexp.h \ src/ir/regexp/encoding/utf8/utf8_range.h \ src/ir/regexp/encoding/utf16/utf16_range.h \ src/ir/regexp/encoding/utf16/utf16_regexp.h \ src/ir/regexp/encoding/utf16/utf16.h \ src/ir/regexp/empty_class_policy.h \ src/ir/regexp/regexp_alt.h \ src/ir/regexp/regexp_match.h \ src/ir/regexp/regexp_rule.h \ src/ir/regexp/regexp_cat.h \ src/ir/regexp/regexp_null.h \ src/ir/regexp/regexp.h \ src/ir/regexp/regexp_close.h \ src/ir/compile.h \ src/ir/rule_rank.h \ src/ir/skeleton/path.h \ src/ir/skeleton/way.h \ src/ir/skeleton/skeleton.h \ src/globals.h \ src/parse/code.h \ src/parse/extop.h \ src/parse/input.h \ src/parse/loc.h \ src/parse/parser.h \ src/parse/rules.h \ src/parse/scanner.h \ src/parse/spec.h \ src/parse/unescape.h \ src/util/allocate.h \ src/util/attribute.h \ src/util/c99_stdint.h \ src/util/counter.h \ src/util/forbid_copy.h \ src/util/free_list.h \ src/util/local_increment.h \ src/util/ord_hash_set.h \ src/util/range.h \ src/util/s_to_n32_unsafe.h \ src/util/smart_ptr.h \ src/util/static_assert.h \ src/util/u32lim.h \ src/util/uniq_vector.h SRC = \ src/codegen/bitmap.cc \ src/codegen/emit_action.cc \ src/codegen/emit_dfa.cc \ src/codegen/label.cc \ src/codegen/go_construct.cc \ src/codegen/go_destruct.cc \ src/codegen/go_emit.cc \ src/codegen/go_used_labels.cc \ src/codegen/input_api.cc \ src/codegen/output.cc \ src/codegen/print.cc \ src/conf/msg.cc \ src/conf/opt.cc \ src/conf/warn.cc \ src/ir/nfa/calc_size.cc \ src/ir/nfa/nfa.cc \ src/ir/nfa/split.cc \ src/ir/adfa/adfa.cc \ src/ir/adfa/prepare.cc \ src/ir/dfa/determinization.cc \ src/ir/dfa/fillpoints.cc \ src/ir/dfa/minimization.cc \ src/ir/regexp/display.cc \ src/ir/regexp/encoding/enc.cc \ src/ir/regexp/encoding/range_suffix.cc \ src/ir/regexp/encoding/utf8/utf8_regexp.cc \ src/ir/regexp/encoding/utf8/utf8_range.cc \ src/ir/regexp/encoding/utf8/utf8.cc \ src/ir/regexp/encoding/utf16/utf16_regexp.cc \ src/ir/regexp/encoding/utf16/utf16.cc \ src/ir/regexp/encoding/utf16/utf16_range.cc \ src/ir/regexp/fixed_length.cc \ src/ir/regexp/regexp.cc \ src/ir/compile.cc \ src/ir/rule_rank.cc \ src/ir/skeleton/control_flow.cc \ src/ir/skeleton/generate_code.cc \ src/ir/skeleton/generate_data.cc \ src/ir/skeleton/match_empty.cc \ src/ir/skeleton/maxlen.cc \ src/ir/skeleton/skeleton.cc \ src/ir/skeleton/unreachable.cc \ src/ir/skeleton/way.cc \ src/main.cc \ src/parse/code.cc \ src/parse/input.cc \ src/parse/scanner.cc \ src/parse/unescape.cc \ src/util/s_to_n32_unsafe.cc \ src/util/range.cc re2c_SOURCES = \ $(SRC_HDR) \ $(SRC) # autogenerated sources AUTOGEN_LEX = src/parse/lex.cc AUTOGEN_LEX_CONF = src/parse/lex_conf.cc AUTOGEN_PARSEOPT = src/conf/parse_opts.cc AUTOGEN_PARSER = src/parse/parser.cc AUTOGEN_PARSER_HDR = src/parse/y.tab.h AUTOGEN = \ $(AUTOGEN_LEX) \ $(AUTOGEN_LEX_CONF) \ $(AUTOGEN_PARSER) \ $(AUTOGEN_PARSER_HDR) \ $(AUTOGEN_PARSEOPT) nodist_re2c_SOURCES = $(AUTOGEN) # bootstrap sources BOOTSTRAP_LEX = bootstrap/src/parse/lex.cc BOOTSTRAP_LEX_CONF = bootstrap/src/parse/lex_conf.cc BOOTSTRAP_PARSEOPT = bootstrap/src/conf/parse_opts.cc BOOTSTRAP_PARSER = bootstrap/src/parse/parser.cc BOOTSTRAP_PARSER_HDR = bootstrap/src/parse/y.tab.h BOOTSTRAP_DOC = bootstrap/doc/re2c.1 BOOTSTRAP = \ $(BOOTSTRAP_LEX) \ $(BOOTSTRAP_LEX_CONF) \ $(BOOTSTRAP_DOC) \ $(BOOTSTRAP_PARSER) \ $(BOOTSTRAP_PARSER_HDR) \ $(BOOTSTRAP_PARSEOPT) # custom sources CUSTOM_LEX = src/parse/lex.re CUSTOM_LEX_CONF = src/parse/lex_conf.re CUSTOM_PARSEOPT = src/conf/parse_opts.re CUSTOM_PARSER = src/parse/parser.ypp CUSTOM = \ $(CUSTOM_LEX) \ $(CUSTOM_LEX_CONF) \ $(CUSTOM_PARSER) \ $(CUSTOM_PARSEOPT) # docs SRC_DOC = doc/manpage.rst DOC = doc/re2c.1 man_MANS = $(DOC) EXTRA_DIST = \ $(BOOTSTRAP) \ $(CUSTOM) \ CHANGELOG \ NO_WARRANTY \ README \ autogen.sh \ doc/loplas.ps \ doc/sample.bib \ examples \ test CLEANFILES = \ $(AUTOGEN) \ $(DOC) # tests TST_SUITE = run_tests.sh TST_RANGE = testrange testrange_SOURCES = \ src/test/range/test-impl.h \ src/test/range/test.cc \ src/test/range/test.h \ src/util/range.cc\ src/util/range.h \ src/util/static_assert.h TST_S_TO_N32_UNSAFE = testston32unsafe testston32unsafe_SOURCES = \ src/test/s_to_n32_unsafe/test.cc \ src/util/s_to_n32_unsafe.cc TESTS = $(TST_SUITE) $(check_PROGRAMS) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .cc .log .o .obj .re .test .test$(EXEEXT) .trs am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @test -f $@ || rm -f stamp-h1 @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 doc/manpage.rst: $(top_builddir)/config.status $(top_srcdir)/doc/manpage.rst.in cd $(top_builddir) && $(SHELL) ./config.status $@ run_tests.sh: $(top_builddir)/config.status $(srcdir)/run_tests.sh.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) clean-checkPROGRAMS: -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS) src/codegen/$(am__dirstamp): @$(MKDIR_P) src/codegen @: > src/codegen/$(am__dirstamp) src/codegen/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/codegen/$(DEPDIR) @: > src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/bitmap.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/emit_action.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/emit_dfa.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/label.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/go_construct.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/go_destruct.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/go_emit.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/go_used_labels.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/input_api.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/output.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/codegen/print.$(OBJEXT): src/codegen/$(am__dirstamp) \ src/codegen/$(DEPDIR)/$(am__dirstamp) src/conf/$(am__dirstamp): @$(MKDIR_P) src/conf @: > src/conf/$(am__dirstamp) src/conf/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/conf/$(DEPDIR) @: > src/conf/$(DEPDIR)/$(am__dirstamp) src/conf/msg.$(OBJEXT): src/conf/$(am__dirstamp) \ src/conf/$(DEPDIR)/$(am__dirstamp) src/conf/opt.$(OBJEXT): src/conf/$(am__dirstamp) \ src/conf/$(DEPDIR)/$(am__dirstamp) src/conf/warn.$(OBJEXT): src/conf/$(am__dirstamp) \ src/conf/$(DEPDIR)/$(am__dirstamp) src/ir/nfa/$(am__dirstamp): @$(MKDIR_P) src/ir/nfa @: > src/ir/nfa/$(am__dirstamp) src/ir/nfa/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/nfa/$(DEPDIR) @: > src/ir/nfa/$(DEPDIR)/$(am__dirstamp) src/ir/nfa/calc_size.$(OBJEXT): src/ir/nfa/$(am__dirstamp) \ src/ir/nfa/$(DEPDIR)/$(am__dirstamp) src/ir/nfa/nfa.$(OBJEXT): src/ir/nfa/$(am__dirstamp) \ src/ir/nfa/$(DEPDIR)/$(am__dirstamp) src/ir/nfa/split.$(OBJEXT): src/ir/nfa/$(am__dirstamp) \ src/ir/nfa/$(DEPDIR)/$(am__dirstamp) src/ir/adfa/$(am__dirstamp): @$(MKDIR_P) src/ir/adfa @: > src/ir/adfa/$(am__dirstamp) src/ir/adfa/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/adfa/$(DEPDIR) @: > src/ir/adfa/$(DEPDIR)/$(am__dirstamp) src/ir/adfa/adfa.$(OBJEXT): src/ir/adfa/$(am__dirstamp) \ src/ir/adfa/$(DEPDIR)/$(am__dirstamp) src/ir/adfa/prepare.$(OBJEXT): src/ir/adfa/$(am__dirstamp) \ src/ir/adfa/$(DEPDIR)/$(am__dirstamp) src/ir/dfa/$(am__dirstamp): @$(MKDIR_P) src/ir/dfa @: > src/ir/dfa/$(am__dirstamp) src/ir/dfa/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/dfa/$(DEPDIR) @: > src/ir/dfa/$(DEPDIR)/$(am__dirstamp) src/ir/dfa/determinization.$(OBJEXT): src/ir/dfa/$(am__dirstamp) \ src/ir/dfa/$(DEPDIR)/$(am__dirstamp) src/ir/dfa/fillpoints.$(OBJEXT): src/ir/dfa/$(am__dirstamp) \ src/ir/dfa/$(DEPDIR)/$(am__dirstamp) src/ir/dfa/minimization.$(OBJEXT): src/ir/dfa/$(am__dirstamp) \ src/ir/dfa/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp @: > src/ir/regexp/$(am__dirstamp) src/ir/regexp/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/$(DEPDIR) @: > src/ir/regexp/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/display.$(OBJEXT): src/ir/regexp/$(am__dirstamp) \ src/ir/regexp/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/encoding @: > src/ir/regexp/encoding/$(am__dirstamp) src/ir/regexp/encoding/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/encoding/$(DEPDIR) @: > src/ir/regexp/encoding/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/enc.$(OBJEXT): \ src/ir/regexp/encoding/$(am__dirstamp) \ src/ir/regexp/encoding/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/range_suffix.$(OBJEXT): \ src/ir/regexp/encoding/$(am__dirstamp) \ src/ir/regexp/encoding/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf8/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/encoding/utf8 @: > src/ir/regexp/encoding/utf8/$(am__dirstamp) src/ir/regexp/encoding/utf8/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/encoding/utf8/$(DEPDIR) @: > src/ir/regexp/encoding/utf8/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf8/utf8_regexp.$(OBJEXT): \ src/ir/regexp/encoding/utf8/$(am__dirstamp) \ src/ir/regexp/encoding/utf8/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf8/utf8_range.$(OBJEXT): \ src/ir/regexp/encoding/utf8/$(am__dirstamp) \ src/ir/regexp/encoding/utf8/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf8/utf8.$(OBJEXT): \ src/ir/regexp/encoding/utf8/$(am__dirstamp) \ src/ir/regexp/encoding/utf8/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf16/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/encoding/utf16 @: > src/ir/regexp/encoding/utf16/$(am__dirstamp) src/ir/regexp/encoding/utf16/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/regexp/encoding/utf16/$(DEPDIR) @: > src/ir/regexp/encoding/utf16/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf16/utf16_regexp.$(OBJEXT): \ src/ir/regexp/encoding/utf16/$(am__dirstamp) \ src/ir/regexp/encoding/utf16/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf16/utf16.$(OBJEXT): \ src/ir/regexp/encoding/utf16/$(am__dirstamp) \ src/ir/regexp/encoding/utf16/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/encoding/utf16/utf16_range.$(OBJEXT): \ src/ir/regexp/encoding/utf16/$(am__dirstamp) \ src/ir/regexp/encoding/utf16/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/fixed_length.$(OBJEXT): src/ir/regexp/$(am__dirstamp) \ src/ir/regexp/$(DEPDIR)/$(am__dirstamp) src/ir/regexp/regexp.$(OBJEXT): src/ir/regexp/$(am__dirstamp) \ src/ir/regexp/$(DEPDIR)/$(am__dirstamp) src/ir/$(am__dirstamp): @$(MKDIR_P) src/ir @: > src/ir/$(am__dirstamp) src/ir/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/$(DEPDIR) @: > src/ir/$(DEPDIR)/$(am__dirstamp) src/ir/compile.$(OBJEXT): src/ir/$(am__dirstamp) \ src/ir/$(DEPDIR)/$(am__dirstamp) src/ir/rule_rank.$(OBJEXT): src/ir/$(am__dirstamp) \ src/ir/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/$(am__dirstamp): @$(MKDIR_P) src/ir/skeleton @: > src/ir/skeleton/$(am__dirstamp) src/ir/skeleton/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/ir/skeleton/$(DEPDIR) @: > src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/control_flow.$(OBJEXT): \ src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/generate_code.$(OBJEXT): \ src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/generate_data.$(OBJEXT): \ src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/match_empty.$(OBJEXT): \ src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/maxlen.$(OBJEXT): src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/skeleton.$(OBJEXT): src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/unreachable.$(OBJEXT): \ src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/ir/skeleton/way.$(OBJEXT): src/ir/skeleton/$(am__dirstamp) \ src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) src/$(am__dirstamp): @$(MKDIR_P) src @: > src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/$(DEPDIR) @: > src/$(DEPDIR)/$(am__dirstamp) src/main.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp) src/parse/$(am__dirstamp): @$(MKDIR_P) src/parse @: > src/parse/$(am__dirstamp) src/parse/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/parse/$(DEPDIR) @: > src/parse/$(DEPDIR)/$(am__dirstamp) src/parse/code.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/parse/input.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/parse/scanner.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/parse/unescape.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/util/$(am__dirstamp): @$(MKDIR_P) src/util @: > src/util/$(am__dirstamp) src/util/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/util/$(DEPDIR) @: > src/util/$(DEPDIR)/$(am__dirstamp) src/util/s_to_n32_unsafe.$(OBJEXT): src/util/$(am__dirstamp) \ src/util/$(DEPDIR)/$(am__dirstamp) src/util/range.$(OBJEXT): src/util/$(am__dirstamp) \ src/util/$(DEPDIR)/$(am__dirstamp) src/parse/lex.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/parse/lex_conf.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/parse/parser.$(OBJEXT): src/parse/$(am__dirstamp) \ src/parse/$(DEPDIR)/$(am__dirstamp) src/conf/parse_opts.$(OBJEXT): src/conf/$(am__dirstamp) \ src/conf/$(DEPDIR)/$(am__dirstamp) re2c$(EXEEXT): $(re2c_OBJECTS) $(re2c_DEPENDENCIES) $(EXTRA_re2c_DEPENDENCIES) @rm -f re2c$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(re2c_OBJECTS) $(re2c_LDADD) $(LIBS) src/test/range/$(am__dirstamp): @$(MKDIR_P) src/test/range @: > src/test/range/$(am__dirstamp) src/test/range/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/test/range/$(DEPDIR) @: > src/test/range/$(DEPDIR)/$(am__dirstamp) src/test/range/test.$(OBJEXT): src/test/range/$(am__dirstamp) \ src/test/range/$(DEPDIR)/$(am__dirstamp) testrange$(EXEEXT): $(testrange_OBJECTS) $(testrange_DEPENDENCIES) $(EXTRA_testrange_DEPENDENCIES) @rm -f testrange$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(testrange_OBJECTS) $(testrange_LDADD) $(LIBS) src/test/s_to_n32_unsafe/$(am__dirstamp): @$(MKDIR_P) src/test/s_to_n32_unsafe @: > src/test/s_to_n32_unsafe/$(am__dirstamp) src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) src/test/s_to_n32_unsafe/$(DEPDIR) @: > src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp) src/test/s_to_n32_unsafe/test.$(OBJEXT): \ src/test/s_to_n32_unsafe/$(am__dirstamp) \ src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp) testston32unsafe$(EXEEXT): $(testston32unsafe_OBJECTS) $(testston32unsafe_DEPENDENCIES) $(EXTRA_testston32unsafe_DEPENDENCIES) @rm -f testston32unsafe$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(testston32unsafe_OBJECTS) $(testston32unsafe_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f src/*.$(OBJEXT) -rm -f src/codegen/*.$(OBJEXT) -rm -f src/conf/*.$(OBJEXT) -rm -f src/ir/*.$(OBJEXT) -rm -f src/ir/adfa/*.$(OBJEXT) -rm -f src/ir/dfa/*.$(OBJEXT) -rm -f src/ir/nfa/*.$(OBJEXT) -rm -f src/ir/regexp/*.$(OBJEXT) -rm -f src/ir/regexp/encoding/*.$(OBJEXT) -rm -f src/ir/regexp/encoding/utf16/*.$(OBJEXT) -rm -f src/ir/regexp/encoding/utf8/*.$(OBJEXT) -rm -f src/ir/skeleton/*.$(OBJEXT) -rm -f src/parse/*.$(OBJEXT) -rm -f src/test/range/*.$(OBJEXT) -rm -f src/test/s_to_n32_unsafe/*.$(OBJEXT) -rm -f src/util/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/bitmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/emit_action.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/emit_dfa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/go_construct.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/go_destruct.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/go_emit.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/go_used_labels.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/input_api.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/label.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/output.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/codegen/$(DEPDIR)/print.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/msg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/opt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/parse_opts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/warn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/$(DEPDIR)/compile.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/$(DEPDIR)/rule_rank.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/adfa/$(DEPDIR)/adfa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/adfa/$(DEPDIR)/prepare.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/dfa/$(DEPDIR)/determinization.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/dfa/$(DEPDIR)/fillpoints.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/dfa/$(DEPDIR)/minimization.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/nfa/$(DEPDIR)/calc_size.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/nfa/$(DEPDIR)/nfa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/nfa/$(DEPDIR)/split.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/$(DEPDIR)/display.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/$(DEPDIR)/fixed_length.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/$(DEPDIR)/regexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/$(DEPDIR)/enc.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/$(DEPDIR)/range_suffix.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/utf16/$(DEPDIR)/utf16.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/utf16/$(DEPDIR)/utf16_range.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/utf16/$(DEPDIR)/utf16_regexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/utf8/$(DEPDIR)/utf8.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/utf8/$(DEPDIR)/utf8_range.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/regexp/encoding/utf8/$(DEPDIR)/utf8_regexp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/control_flow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/generate_code.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/generate_data.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/match_empty.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/maxlen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/skeleton.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/unreachable.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/ir/skeleton/$(DEPDIR)/way.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/code.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/input.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/lex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/lex_conf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/parser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/scanner.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/parse/$(DEPDIR)/unescape.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/test/range/$(DEPDIR)/test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/test/s_to_n32_unsafe/$(DEPDIR)/test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/range.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/s_to_n32_unsafe.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ @am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-man1: $(man_MANS) @$(NORMAL_INSTALL) @list1=''; \ list2='$(man_MANS)'; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list=''; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ sed -n '/\.1[a-z]*$$/p'; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files # Recover from deleted '.trs' file; this should ensure that # "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create # both 'foo.log' and 'foo.trs'. Break the recipe in two subshells # to avoid problems with "make -n". .log.trs: rm -f $< $@ $(MAKE) $(AM_MAKEFLAGS) $< # Leading 'am--fnord' is there to ensure the list of targets does not # expand to empty, as could happen e.g. with make check TESTS=''. am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) am--force-recheck: @: $(TEST_SUITE_LOG): $(TEST_LOGS) @$(am__set_TESTS_bases); \ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ redo_bases=`for i in $$bases; do \ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ done`; \ if test -n "$$redo_bases"; then \ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ if $(am__make_dryrun); then :; else \ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ elif test -n "$$redo_logs"; then \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ for i in $$redo_bases; do \ test -f $$i.trs && test -r $$i.trs \ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ test -f $$i.log && test -r $$i.log \ || { echo "$$errmsg $$i.log" >&2; st=1; }; \ done; \ test $$st -eq 0 || exit 1; \ fi @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ ws='[ ]'; \ results=`for b in $$bases; do echo $$b.trs; done`; \ test -n "$$results" || results=/dev/null; \ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ if test `expr $$fail + $$xpass + $$error` -eq 0; then \ success=true; \ else \ success=false; \ fi; \ br='==================='; br=$$br$$br$$br$$br; \ result_count () \ { \ if test x"$$1" = x"--maybe-color"; then \ maybe_colorize=yes; \ elif test x"$$1" = x"--no-color"; then \ maybe_colorize=no; \ else \ echo "$@: invalid 'result_count' usage" >&2; exit 4; \ fi; \ shift; \ desc=$$1 count=$$2; \ if test $$maybe_colorize = yes && test $$count -gt 0; then \ color_start=$$3 color_end=$$std; \ else \ color_start= color_end=; \ fi; \ echo "$${color_start}# $$desc $$count$${color_end}"; \ }; \ create_testsuite_report () \ { \ result_count $$1 "TOTAL:" $$all "$$brg"; \ result_count $$1 "PASS: " $$pass "$$grn"; \ result_count $$1 "SKIP: " $$skip "$$blu"; \ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ result_count $$1 "FAIL: " $$fail "$$red"; \ result_count $$1 "XPASS:" $$xpass "$$red"; \ result_count $$1 "ERROR:" $$error "$$mgn"; \ }; \ { \ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ $(am__rst_title); \ create_testsuite_report --no-color; \ echo; \ echo ".. contents:: :depth: 2"; \ echo; \ for b in $$bases; do echo $$b; done \ | $(am__create_global_log); \ } >$(TEST_SUITE_LOG).tmp || exit 1; \ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ if $$success; then \ col="$$grn"; \ else \ col="$$red"; \ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ if $$success; then :; else \ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ if test -n "$(PACKAGE_BUGREPORT)"; then \ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ fi; \ echo "$$col$$br$$std"; \ fi; \ $$success || exit 1 check-TESTS: @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ log_list=`for i in $$bases; do echo $$i.log; done`; \ trs_list=`for i in $$bases; do echo $$i.trs; done`; \ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ exit $$?; recheck: all $(check_PROGRAMS) @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) @set +e; $(am__set_TESTS_bases); \ bases=`for i in $$bases; do echo $$i; done \ | $(am__list_recheck_tests)` || exit 1; \ log_list=`for i in $$bases; do echo $$i.log; done`; \ log_list=`echo $$log_list`; \ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ am__force_recheck=am--force-recheck \ TEST_LOGS="$$log_list"; \ exit $$? run_tests.sh.log: run_tests.sh @p='run_tests.sh'; \ b='run_tests.sh'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) testrange.log: testrange$(EXEEXT) @p='testrange$(EXEEXT)'; \ b='testrange'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) testston32unsafe.log: testston32unsafe$(EXEEXT) @p='testston32unsafe$(EXEEXT)'; \ b='testston32unsafe'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) .test.log: @p='$<'; \ $(am__set_b); \ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) @am__EXEEXT_TRUE@.test$(EXEEXT).log: @am__EXEEXT_TRUE@ @p='$<'; \ @am__EXEEXT_TRUE@ $(am__set_b); \ @am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ @am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \ @am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ @am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT) distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir @echo WARNING: "Support for shar distribution archives is" \ "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build/sub \ && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) $(MANS) config.h all-local installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) 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) -rm -f src/$(DEPDIR)/$(am__dirstamp) -rm -f src/$(am__dirstamp) -rm -f src/codegen/$(DEPDIR)/$(am__dirstamp) -rm -f src/codegen/$(am__dirstamp) -rm -f src/conf/$(DEPDIR)/$(am__dirstamp) -rm -f src/conf/$(am__dirstamp) -rm -f src/ir/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/$(am__dirstamp) -rm -f src/ir/adfa/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/adfa/$(am__dirstamp) -rm -f src/ir/dfa/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/dfa/$(am__dirstamp) -rm -f src/ir/nfa/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/nfa/$(am__dirstamp) -rm -f src/ir/regexp/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/regexp/$(am__dirstamp) -rm -f src/ir/regexp/encoding/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/regexp/encoding/$(am__dirstamp) -rm -f src/ir/regexp/encoding/utf16/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/regexp/encoding/utf16/$(am__dirstamp) -rm -f src/ir/regexp/encoding/utf8/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/regexp/encoding/utf8/$(am__dirstamp) -rm -f src/ir/skeleton/$(DEPDIR)/$(am__dirstamp) -rm -f src/ir/skeleton/$(am__dirstamp) -rm -f src/parse/$(DEPDIR)/$(am__dirstamp) -rm -f src/parse/$(am__dirstamp) -rm -f src/test/range/$(DEPDIR)/$(am__dirstamp) -rm -f src/test/range/$(am__dirstamp) -rm -f src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp) -rm -f src/test/s_to_n32_unsafe/$(am__dirstamp) -rm -f src/util/$(DEPDIR)/$(am__dirstamp) -rm -f src/util/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \ mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf src/$(DEPDIR) src/codegen/$(DEPDIR) src/conf/$(DEPDIR) src/ir/$(DEPDIR) src/ir/adfa/$(DEPDIR) src/ir/dfa/$(DEPDIR) src/ir/nfa/$(DEPDIR) src/ir/regexp/$(DEPDIR) src/ir/regexp/encoding/$(DEPDIR) src/ir/regexp/encoding/utf16/$(DEPDIR) src/ir/regexp/encoding/utf8/$(DEPDIR) src/ir/skeleton/$(DEPDIR) src/parse/$(DEPDIR) src/test/range/$(DEPDIR) src/test/s_to_n32_unsafe/$(DEPDIR) src/util/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf src/$(DEPDIR) src/codegen/$(DEPDIR) src/conf/$(DEPDIR) src/ir/$(DEPDIR) src/ir/adfa/$(DEPDIR) src/ir/dfa/$(DEPDIR) src/ir/nfa/$(DEPDIR) src/ir/regexp/$(DEPDIR) src/ir/regexp/encoding/$(DEPDIR) src/ir/regexp/encoding/utf16/$(DEPDIR) src/ir/regexp/encoding/utf8/$(DEPDIR) src/ir/skeleton/$(DEPDIR) src/parse/$(DEPDIR) src/test/range/$(DEPDIR) src/test/s_to_n32_unsafe/$(DEPDIR) src/util/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-man: uninstall-man1 .MAKE: all check-am install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \ check-TESTS check-am clean clean-binPROGRAMS \ clean-checkPROGRAMS clean-cscope clean-generic cscope \ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-hdr distclean-tags distcleancheck distdir \ distuninstallcheck 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-info \ install-info-am install-man install-man1 install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \ uninstall-man1 .PRECIOUS: Makefile $(AUTOGEN_PARSER): $(CUSTOM_PARSER) $(AM_V_GEN) if test $(BISON) = "no"; \ then \ cp $(top_srcdir)/$(BOOTSTRAP_PARSER) $@ && \ cp $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) $(AUTOGEN_PARSER_HDR); \ else \ $(BISON) \ --output=$@ \ --defines=$(AUTOGEN_PARSER_HDR) \ $(top_srcdir)/$(CUSTOM_PARSER); \ fi # lexer depends on bison-generated header # so bison rule must be triggered before lexer rule $(AUTOGEN_LEX): $(AUTOGEN_PARSER) $(BOOTSTRAP_PARSER): $(CUSTOM_PARSER) $(AM_V_GEN) test $(BISON) = "no" || \ $(BISON) \ --output=$(top_srcdir)/$@ \ --defines=$(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) \ --no-lines \ $(top_srcdir)/$(CUSTOM_PARSER); .re.cc: $(AM_V_GEN) if test -x $(RE2C); \ then \ $(top_builddir)/$(RE2C) $(RE2CFLAGS) -o $@ $< && \ cp $@ $(top_srcdir)/bootstrap/$@; \ else \ cp $(top_srcdir)/bootstrap/$@ $@; \ fi # rebuild all re2c sources using newly built re2c .PHONY: bootstrap bootstrap: all rm $(top_builddir)/$(AUTOGEN_LEX) rm $(top_builddir)/$(AUTOGEN_LEX_CONF) rm $(top_builddir)/$(AUTOGEN_PARSEOPT) $(MAKE) all .PHONY: docs @REBUILD_DOCS_TRUE@docs: $(DOC) @REBUILD_DOCS_TRUE@$(DOC): $(SRC_DOC) @REBUILD_DOCS_TRUE@ rst2man.py $(top_builddir)/$(SRC_DOC) > $@ @REBUILD_DOCS_TRUE@ cp $@ $(top_srcdir)/$(BOOTSTRAP_DOC) @REBUILD_DOCS_FALSE@docs: $(DOC) @REBUILD_DOCS_FALSE@ @echo "Reconfigure to rebuild docs: ./configure --enable-docs" @REBUILD_DOCS_FALSE@$(DOC): $(BOOTSTRAP_DOC) @REBUILD_DOCS_FALSE@ cp $(top_srcdir)/$(BOOTSTRAP_DOC) $@ all-local: docs $(BOOTSTRAP_PARSER) .PHONY: tests tests: all $(TST_SUITE) $(top_builddir)/$(TST_SUITE) .PHONY: vtests vtests: all $(TST_SUITE) $(top_builddir)/$(TST_SUITE) --valgrind .PHONY: wtests wtests: all $(TST_SUITE) $(top_builddir)/$(TST_SUITE) --wine -j1 # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: re2c-0.16/config.h.in0000644000175000017500000000257712650133376011260 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* 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 /* The size of `0i8', as computed by sizeof. */ #undef SIZEOF_0I8 /* The size of `0l', as computed by sizeof. */ #undef SIZEOF_0L /* The size of `0ll', as computed by sizeof. */ #undef SIZEOF_0LL /* The size of `char', as computed by sizeof. */ #undef SIZEOF_CHAR /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `long long', as computed by sizeof. */ #undef SIZEOF_LONG_LONG /* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P /* The size of `__int64', as computed by sizeof. */ #undef SIZEOF___INT64 /* Version number of package */ #undef VERSION re2c-0.16/missing0000755000175000017500000001533012650133376010623 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2013-10-28.13; # UTC # Copyright (C) 1996-2014 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: re2c-0.16/doc/0000755000175000017500000000000012650133526010044 500000000000000re2c-0.16/doc/manpage.rst.in0000644000175000017500000012033412650133303012527 00000000000000==== re2c ==== ----------------------------------------- convert regular expressions to C/C++ code ----------------------------------------- :Manual section: 1 SYNOPSIS -------- ``re2c [OPTIONS] FILE`` DESCRIPTION ----------- ``re2c`` is a lexer generator for C/C++. It finds regular expression specifications inside of C/C++ comments and replaces them with a hard-coded DFA. The user must supply some interface code in order to control and customize the generated DFA. OPTIONS ------- ``-? -h --help`` Invoke a short help. ``-b --bit-vectors`` Implies ``-s``. Use bit vectors as well in the attempt to coax better code out of the compiler. Most useful for specifications with more than a few keywords (e.g. for most programming languages). ``-c --conditions`` Used to support (f)lex-like condition support. ``-d --debug-output`` Creates a parser that dumps information about the current position and in which state the parser is while parsing the input. This is useful to debug parser issues and states. If you use this switch you need to define a macro ``YYDEBUG`` that is called like a function with two parameters: ``void YYDEBUG (int state, char current)``. The first parameter receives the state or ``-1`` and the second parameter receives the input at the current cursor. ``-D --emit-dot`` Emit Graphviz dot data. It can then be processed with e.g. ``dot -Tpng input.dot > output.png``. Please note that scanners with many states may crash dot. ``-e --ecb`` Generate a parser that supports EBCDIC. The generated code can deal with any character up to 0xFF. In this mode ``re2c`` assumes that input character size is 1 byte. This switch is incompatible with ``-w``, ``-x``, ``-u`` and ``-8``. ``-f --storable-state`` Generate a scanner with support for storable state. ``-F --flex-syntax`` Partial support for flex syntax. When this flag is active then named definitions must be surrounded by curly braces and can be defined without an equal sign and the terminating semi colon. Instead names are treated as direct double quoted strings. ``-g --computed-gotos`` Generate a scanner that utilizes GCC's computed goto feature. That is ``re2c`` generates jump tables whenever a decision is of a certain complexity (e.g. a lot of if conditions are otherwise necessary). This is only useable with GCC and produces output that cannot be compiled with any other compiler. Note that this implies ``-b`` and that the complexity threshold can be configured using the inplace configuration ``cgoto:threshold``. ``-i --no-debug-info`` Do not output ``#line`` information. This is useful when you want use a CMS tool with the ``re2c`` output which you might want if you do not require your users to have ``re2c`` themselves when building from your source. ``-o OUTPUT --output=OUTPUT`` Specify the ``OUTPUT`` file. ``-r --reusable`` Allows reuse of scanner definitions with ``/*!use:re2c */`` after ``/*!rules:re2c */``. In this mode no ``/*!re2c */`` block and exactly one ``/*!rules:re2c */`` must be present. The rules are being saved and used by every ``/*!use:re2c */`` block that follows. These blocks can contain inplace configurations, especially ``re2c:flags:e``, ``re2c:flags:w``, ``re2c:flags:x``, ``re2c:flags:u`` and ``re2c:flags:8``. That way it is possible to create the same scanner multiple times for different character types, different input mechanisms or different output mechanisms. The ``/*!use:re2c */`` blocks can also contain additional rules that will be appended to the set of rules in ``/*!rules:re2c */``. ``-s --nested-ifs`` Generate nested ifs for some switches. Many compilers need this assist to generate better code. ``-t HEADER --type-header=HEADER`` Create a ``HEADER`` file that contains types for the (f)lex-like condition support. This can only be activated when ``-c`` is in use. ``-u --unicode`` Generate a parser that supports UTF-32. The generated code can deal with any valid Unicode character up to 0x10FFFF. In this mode ``re2c`` assumes that input character size is 4 bytes. This switch is incompatible with ``-e``, ``-w``, ``-x`` and ``-8``. This implies ``-s``. ``-v --version`` Show version information. ``-V --vernum`` Show the version as a number XXYYZZ. ``-w --wide-chars`` Generate a parser that supports UCS-2. The generated code can deal with any valid Unicode character up to 0xFFFF. In this mode ``re2c`` assumes that input character size is 2 bytes. This switch is incompatible with ``-e``, ``-x``, ``-u`` and ``-8``. This implies ``-s``. ``-x --utf-16`` Generate a parser that supports UTF-16. The generated code can deal with any valid Unicode character up to 0x10FFFF. In this mode ``re2c`` assumes that input character size is 2 bytes. This switch is incompatible with ``-e``, ``-w``, ``-u`` and ``-8``. This implies ``-s``. ``-8 --utf-8`` Generate a parser that supports UTF-8. The generated code can deal with any valid Unicode character up to 0x10FFFF. In this mode ``re2c`` assumes that input character size is 1 byte. This switch is incompatible with ``-e``, ``-w``, ``-x`` and ``-u``. ``--case-insensitive`` All strings are case insensitive, so all "-expressions are treated in the same way '-expressions are. ``--case-inverted`` Invert the meaning of single and double quoted strings. With this switch single quotes are case sensitive and double quotes are case insensitive. ``--no-generation-date`` Suppress date output in the generated file. ``--no-generation-date`` Suppress version output in the generated file. ``--encoding-policy POLICY`` Specify how ``re2c`` must treat Unicode surrogates. ``POLICY`` can be one of the following: ``fail`` (abort with error when surrogate encountered), ``substitute`` (silently substitute surrogate with error code point 0xFFFD), ``ignore`` (treat surrogates as normal code points). By default ``re2c`` ignores surrogates (for backward compatibility). Unicode standard says that standalone surrogates are invalid code points, but different libraries and programs treat them differently. ``--input INPUT`` Specify re2c input API. ``INPUT`` can be one of the following: ``default``, ``custom``. ``-S --skeleton`` Instead of embedding re2c-generated code into C/C++ source, generate a self-contained program for the same DFA. Most useful for correctness and performance testing. ``--empty-class POLICY`` What to do if user inputs empty character class. ``POLICY`` can be one of the following: ``match-empty`` (match empty input: pretty illogical, but this is the default for backwards compatibility reason), ``match-none`` (fail to match on any input), ``error`` (compilation error). Note that there are various ways to construct empty class, e.g: [], [^\\x00-\\xFF], [\\x00-\\xFF][\\x00-\\xFF]. ``--dfa-minimization
`` Internal algorithm used by re2c to minimize DFA (defaults to ``moore``). Both table filling and Moore's algorithms should produce identical DFA (up to states relabelling). Table filling algorithm is much simpler and slower; it serves as a reference implementation. ``-1 --single-pass`` Deprecated and does nothing (single pass is by default now). ``-W`` Turn on all warnings. ``-Werror`` Turn warnings into errors. Note that this option along doesn't turn on any warnings, it only affects those warnings that have been turned on so far or will be turned on later. ``-W`` Turn on individual ``warning``. ``-Wno-`` Turn off individual ``warning``. ``-Werror-`` Turn on individual ``warning`` and treat it as error (this implies ``-W``). ``-Wno-error-`` Don't treat this particular ``warning`` as error. This doesn't turn off the warning itself. ``-Wcondition-order`` Warn if the generated program makes implicit assumptions about condition numbering. One should use either ``-t, --type-header`` option or ``/*!types:re2c*/`` directive to generate mapping of condition names to numbers and use autogenerated condition names. ``-Wempty-character-class`` Warn if regular expression contains empty character class. From the rational point of view trying to match empty character class makes no sense: it should always fail. However, for backwards compatibility reasons ``re2c`` allows empty character class and treats it as empty string. Use ``--empty-class`` option to change default behaviour. ``-Wmatch-empty-string`` Warn if regular expression in a rule is nullable (matches empty string). If DFA runs in a loop and empty match is unintentional (input position in not advanced manually), lexer may get stuck in eternal loop. ``-Wswapped-range`` Warn if range lower bound is greater that upper bound. Default ``re2c`` behaviour is to silently swap range bounds. ``-Wundefined-control-flow`` Warn if some input strings cause undefined control flow in lexer (the faulty patterns are reported). This is the most dangerous and common mistake. It can be easily fixed by adding default rule ``*`` (this rule has the lowest priority, matches any code unit and consumes exactly one code unit). ``-Wuseless-escape`` Warn if a symbol is escaped when it shouldn't be. By default re2c silently ignores escape, but this may as well indicate a typo or an error in escape sequence. INTERFACE CODE -------------- The user must supply interface code either in the form of C/C++ code (macros, functions, variables, etc.) or in the form of ``INPLACE CONFIGURATIONS``. Which symbols must be defined and which are optional depends on a particular use case. ``YYCONDTYPE`` In ``-c`` mode you can use ``-t`` to generate a file that contains the enumeration used as conditions. Each of the values refers to a condition of a rule set. ``YYCTXMARKER`` l-value of type ``YYCTYPE *``. The generated code saves trailing context backtracking information in ``YYCTXMARKER``. The user only needs to define this macro if a scanner specification uses trailing context in one or more of its regular expressions. ``YYCTYPE`` Type used to hold an input symbol (code unit). Usually ``char`` or ``unsigned char`` for ASCII, EBCDIC and UTF-8, ``unsigned short`` for UTF-16 or UCS-2 and ``unsigned int`` for UTF-32. ``YYCURSOR`` l-value of type ``YYCTYPE *`` that points to the current input symbol. The generated code advances ``YYCURSOR`` as symbols are matched. On entry, ``YYCURSOR`` is assumed to point to the first character of the current token. On exit, ``YYCURSOR`` will point to the first character of the following token. ``YYDEBUG (state, current)`` This is only needed if the ``-d`` flag was specified. It allows one to easily debug the generated parser by calling a user defined function for every state. The function should have the following signature: ``void YYDEBUG (int state, char current)``. The first parameter receives the state or -1 and the second parameter receives the input at the current cursor. ``YYFILL (n)`` The generated code "calls"" ``YYFILL (n)`` when the buffer needs (re)filling: at least ``n`` additional characters should be provided. ``YYFILL (n)`` should adjust ``YYCURSOR``, ``YYLIMIT``, ``YYMARKER`` and ``YYCTXMARKER`` as needed. Note that for typical programming languages ``n`` will be the length of the longest keyword plus one. The user can place a comment of the form ``/*!max:re2c*/`` to insert ``YYMAXFILL`` definition that is set to the maximum length value. ``YYGETCONDITION ()`` This define is used to get the condition prior to entering the scanner code when using ``-c`` switch. The value must be initialized with a value from the enumeration ``YYCONDTYPE`` type. ``YYGETSTATE ()`` The user only needs to define this macro if the ``-f`` flag was specified. In that case, the generated code "calls" ``YYGETSTATE ()`` at the very beginning of the scanner in order to obtain the saved state. ``YYGETSTATE ()`` must return a signed integer. The value must be either -1, indicating that the scanner is entered for the first time, or a value previously saved by ``YYSETSTATE (s)``. In the second case, the scanner will resume operations right after where the last ``YYFILL (n)`` was called. ``YYLIMIT`` Expression of type ``YYCTYPE *`` that marks the end of the buffer ``YYLIMIT[-1]`` is the last character in the buffer). The generated code repeatedly compares ``YYCURSOR`` to ``YYLIMIT`` to determine when the buffer needs (re)filling. ``YYMARKER`` l-value of type ``YYCTYPE *``. The generated code saves backtracking information in ``YYMARKER``. Some easy scanners might not use this. ``YYMAXFILL`` This will be automatically defined by ``/*!max:re2c*/`` blocks as explained above. ``YYSETCONDITION (c)`` This define is used to set the condition in transition rules. This is only being used when ``-c`` is active and transition rules are being used. ``YYSETSTATE (s)`` The user only needs to define this macro if the ``-f`` flag was specified. In that case, the generated code "calls" ``YYSETSTATE`` just before calling ``YYFILL (n)``. The parameter to ``YYSETSTATE`` is a signed integer that uniquely identifies the specific instance of ``YYFILL (n)`` that is about to be called. Should the user wish to save the state of the scanner and have ``YYFILL (n)`` return to the caller, all he has to do is store that unique identifer in a variable. Later, when the scannered is called again, it will call ``YYGETSTATE ()`` and resume execution right where it left off. The generated code will contain both ``YYSETSTATE (s)`` and ``YYGETSTATE`` even if ``YYFILL (n)`` is being disabled. SYNTAX ------ Code for ``re2c`` consists of a set of ``RULES``, ``NAMED DEFINITIONS`` and ``INPLACE CONFIGURATIONS``. RULES ~~~~~ Rules consist of a regular expression (see ``REGULAR EXPRESSIONS``) along with a block of C/C++ code that is to be executed when the associated regular expression is matched. You can either start the code with an opening curly brace or the sequence ``:=``. When the code with a curly brace then ``re2c`` counts the brace depth and stops looking for code automatically. Otherwise curly braces are not allowed and ``re2c`` stops looking for code at the first line that does not begin with whitespace. If two or more rules overlap, the first rule is preferred. ``regular-expression { C/C++ code }`` ``regular-expression := C/C++ code`` There is one special rule: default rule ``*`` ``* { C/C++ code }`` ``* := C/C++ code`` Note that default rule ``*`` differs from ``[^]``: default rule has the lowest priority, matches any code unit (either valid or invalid) and always consumes one character; while ``[^]`` matches any valid code point (not code unit) and can consume multiple code units. In fact, when variable-length encoding is used, ``*`` is the only possible way to match invalid input character (see ``ENCODINGS`` for details). If ``-c`` is active then each regular expression is preceded by a list of comma separated condition names. Besides normal naming rules there are two special cases: ``<*>`` (such rules are merged to all conditions) and ``<>`` (such the rule cannot have an associated regular expression, its code is merged to all actions). Non empty rules may further more specify the new condition. In that case ``re2c`` will generate the necessary code to change the condition automatically. Rules can use ``:=>`` as a shortcut to automatically generate code that not only sets the new condition state but also continues execution with the new state. A shortcut rule should not be used in a loop where there is code between the start of the loop and the ``re2c`` block unless ``re2c:cond:goto`` is changed to ``continue``. If code is necessary before all rules (though not simple jumps) you can doso by using ```` pseudo-rules. `` regular-expression { C/C++ code }`` `` regular-expression := C/C++ code`` `` * { C/C++ code }`` `` * := C/C++ code`` `` regular-expression => condition { C/C++ code }`` `` regular-expression => condition := C/C++ code`` `` * => condition { C/C++ code }`` `` * => condition := C/C++ code`` `` regular-expression :=> condition`` ``<*> regular-expression { C/C++ code }`` ``<*> regular-expression := C/C++ code`` ``<*> * { C/C++ code }`` ``<*> * := C/C++ code`` ``<*> regular-expression => condition { C/C++ code }`` ``<*> regular-expression => condition := C/C++ code`` ``<*> * => condition { C/C++ code }`` ``<*> * => condition := C/C++ code`` ``<*> regular-expression :=> condition`` ``<> { C/C++ code }`` ``<> := C/C++ code`` ``<> => condition { C/C++ code }`` ``<> => condition := C/C++ code`` ``<> :=> condition`` ``<> :=> condition`` `` { C/C++ code }`` `` := C/C++ code`` `` { C/C++ code }`` `` := C/C++ code`` NAMED DEFINITIONS ~~~~~~~~~~~~~~~~~ Named definitions are of the form: ``name = regular-expression;`` If ``-F`` is active, then named definitions are also of the form: ``name { regular-expression }`` INPLACE CONFIGURATIONS ~~~~~~~~~~~~~~~~~~~~~~ ``re2c:condprefix = yyc;`` Allows one to specify the prefix used for condition labels. That is this text is prepended to any condition label in the generated output file. ``re2c:condenumprefix = yyc;`` Allows one to specify the prefix used for condition values. That is this text is prepended to any condition enum value in the generated output file. ``re2c:cond:divider = "/* *********************************** */";`` Allows one to customize the devider for condition blocks. You can use ``@@`` to put the name of the condition or customize the placeholder using ``re2c:cond:divider@cond``. ``re2c:cond:divider@cond = @@;`` Specifies the placeholder that will be replaced with the condition name in ``re2c:cond:divider``. ``re2c:cond:goto = "goto @@;";`` Allows one to customize the condition goto statements used with ``:=>`` style rules. You can use ``@@`` to put the name of the condition or ustomize the placeholder using ``re2c:cond:goto@cond``. You can also change this to ``continue;``, which would allow you to continue with the next loop cycle including any code between loop start and re2c block. ``re2c:cond:goto@cond = @@;`` Spcifies the placeholder that will be replaced with the condition label in ``re2c:cond:goto``. ``re2c:indent:top = 0;`` Specifies the minimum number of indentation to use. Requires a numeric value greater than or equal zero. ``re2c:indent:string = "\t";`` Specifies the string to use for indentation. Requires a string that should contain only whitespace unless you need this for external tools. The easiest way to specify spaces is to enclude them in single or double quotes. If you do not want any indentation at all you can simply set this to "". ``re2c:yych:conversion = 0;`` When this setting is non zero, then ``re2c`` automatically generates conversion code whenever yych gets read. In this case the type must be defined using ``re2c:define:YYCTYPE``. ``re2c:yych:emit = 1;`` Generation of ``yych`` can be suppressed by setting this to 0. ``re2c:yybm:hex = 0;`` If set to zero then a decimal table is being used else a hexadecimal table will be generated. ``re2c:yyfill:enable = 1;`` Set this to zero to suppress generation of ``YYFILL (n)``. When using this be sure to verify that the generated scanner does not read behind input. Allowing this behavior might introduce sever security issues to you programs. ``re2c:yyfill:check = 1;`` This can be set 0 to suppress output of the pre condition using ``YYCURSOR`` and ``YYLIMIT`` which becomes useful when ``YYLIMIT + YYMAXFILL`` is always accessible. ``re2c:define:YYFILL = "YYFILL";`` Substitution for ``YYFILL``. Note that by default ``re2c`` generates argument in braces and semicolon after ``YYFILL``. If you need to make ``YYFILL`` an arbitrary statement rather than a call, set ``re2c:define:YYFILL:naked`` to non-zero and use ``re2c:define:YYFILL@len`` to denote formal parameter inside of ``YYFILL`` body. ``re2c:define:YYFILL@len = "@@";`` Any occurrence of this text inside of ``YYFILL`` will be replaced with the actual argument. ``re2c:yyfill:parameter = 1;`` Controls argument in braces after ``YYFILL``. If zero, agrument is omitted. If non-zero, argument is generated unless ``re2c:define:YYFILL:naked`` is set to non-zero. ``re2c:define:YYFILL:naked = 0;`` Controls argument in braces and semicolon after ``YYFILL``. If zero, both agrument and semicolon are omitted. If non-zero, argument is generated unless ``re2c:yyfill:parameter`` is set to zero and semicolon is generated unconditionally. ``re2c:startlabel = 0;`` If set to a non zero integer then the start label of the next scanner blocks will be generated even if not used by the scanner itself. Otherwise the normal ``yy0`` like start label is only being generated if needed. If set to a text value then a label with that text will be generated regardless of whether the normal start label is being used or not. This setting is being reset to 0 after a start label has been generated. ``re2c:labelprefix = "yy";`` Allows one to change the prefix of numbered labels. The default is ``yy`` and can be set any string that is a valid label. ``re2c:state:abort = 0;`` When not zero and switch ``-f`` is active then the ``YYGETSTATE`` block will contain a default case that aborts and a -1 case is used for initialization. ``re2c:state:nextlabel = 0;`` Used when ``-f`` is active to control whether the ``YYGETSTATE`` block is followed by a ``yyNext:`` label line. Instead of using ``yyNext`` you can usually also use configuration ``startlabel`` to force a specific start label or default to ``yy0`` as start label. Instead of using a dedicated label it is often better to separate the ``YYGETSTATE`` code from the actual scanner code by placing a ``/*!getstate:re2c*/`` comment. ``re2c:cgoto:threshold = 9;`` When ``-g`` is active this value specifies the complexity threshold that triggers generation of jump tables rather than using nested if's and decision bitfields. The threshold is compared against a calculated estimation of if-s needed where every used bitmap divides the threshold by 2. ``re2c:yych:conversion = 0;`` When the input uses signed characters and ``-s`` or ``-b`` switches are in effect re2c allows one to automatically convert to the unsigned character type that is then necessary for its internal single character. When this setting is zero or an empty string the conversion is disabled. Using a non zero number the conversion is taken from ``YYCTYPE``. If that is given by an inplace configuration that value is being used. Otherwise it will be ``(YYCTYPE)`` and changes to that configuration are no longer possible. When this setting is a string the braces must be specified. Now assuming your input is a ``char *`` buffer and you are using above mentioned switches you can set ``YYCTYPE`` to ``unsigned char`` and this setting to either 1 or ``(unsigned char)``. ``re2c:define:YYCONDTYPE = "YYCONDTYPE";`` Enumeration used for condition support with ``-c`` mode. ``re2c:define:YYCTXMARKER = "YYCTXMARKER";`` Allows one to overwrite the define ``YYCTXMARKER`` and thus avoiding it by setting the value to the actual code needed. ``re2c:define:YYCTYPE = "YYCTYPE";`` Allows one to overwrite the define ``YYCTYPE`` and thus avoiding it by setting the value to the actual code needed. ``re2c:define:YYCURSOR = "YYCURSOR";`` Allows one to overwrite the define ``YYCURSOR`` and thus avoiding it by setting the value to the actual code needed. ``re2c:define:YYDEBUG = "YYDEBUG";`` Allows one to overwrite the define ``YYDEBUG`` and thus avoiding it by setting the value to the actual code needed. ``re2c:define:YYGETCONDITION = "YYGETCONDITION";`` Substitution for ``YYGETCONDITION``. Note that by default ``re2c`` generates braces after ``YYGETCONDITION``. Set ``re2c:define:YYGETCONDITION:naked`` to non-zero to omit braces. ``re2c:define:YYGETCONDITION:naked = 0;`` Controls braces after ``YYGETCONDITION``. If zero, braces are omitted. If non-zero, braces are generated. ``re2c:define:YYSETCONDITION = "YYSETCONDITION";`` Substitution for ``YYSETCONDITION``. Note that by default ``re2c`` generates argument in braces and semicolon after ``YYSETCONDITION``. If you need to make ``YYSETCONDITION`` an arbitrary statement rather than a call, set ``re2c:define:YYSETCONDITION:naked`` to non-zero and use ``re2c:define:YYSETCONDITION@cond`` to denote formal parameter inside of ``YYSETCONDITION`` body. ``re2c:define:YYSETCONDITION@cond = "@@";`` Any occurrence of this text inside of ``YYSETCONDITION`` will be replaced with the actual argument. ``re2c:define:YYSETCONDITION:naked = 0;`` Controls argument in braces and semicolon after ``YYSETCONDITION``. If zero, both agrument and semicolon are omitted. If non-zero, both argument and semicolon are generated. ``re2c:define:YYGETSTATE = "YYGETSTATE";`` Substitution for ``YYGETSTATE``. Note that by default ``re2c`` generates braces after ``YYGETSTATE``. Set ``re2c:define:YYGETSTATE:naked`` to non-zero to omit braces. ``re2c:define:YYGETSTATE:naked = 0;`` Controls braces after ``YYGETSTATE``. If zero, braces are omitted. If non-zero, braces are generated. ``re2c:define:YYSETSTATE = "YYSETSTATE";`` Substitution for ``YYSETSTATE``. Note that by default ``re2c`` generates argument in braces and semicolon after ``YYSETSTATE``. If you need to make ``YYSETSTATE`` an arbitrary statement rather than a call, set ``re2c:define:YYSETSTATE:naked`` to non-zero and use ``re2c:define:YYSETSTATE@cond`` to denote formal parameter inside of ``YYSETSTATE`` body. ``re2c:define:YYSETSTATE@state = "@@";`` Any occurrence of this text inside of ``YYSETSTATE`` will be replaced with the actual argument. ``re2c:define:YYSETSTATE:naked = 0;`` Controls argument in braces and semicolon after ``YYSETSTATE``. If zero, both agrument and semicolon are omitted. If non-zero, both argument and semicolon are generated. ``re2c:define:YYLIMIT = "YYLIMIT";`` Allows one to overwrite the define ``YYLIMIT`` and thus avoiding it by setting the value to the actual code needed. ``re2c:define:YYMARKER = "YYMARKER";`` Allows one to overwrite the define ``YYMARKER`` and thus avoiding it by setting the value to the actual code needed. ``re2c:label:yyFillLabel = "yyFillLabel";`` Allows one to overwrite the name of the label ``yyFillLabel``. ``re2c:label:yyNext = "yyNext";`` Allows one to overwrite the name of the label ``yyNext``. ``re2c:variable:yyaccept = yyaccept;`` Allows one to overwrite the name of the variable ``yyaccept``. ``re2c:variable:yybm = "yybm";`` Allows one to overwrite the name of the variable ``yybm``. ``re2c:variable:yych = "yych";`` Allows one to overwrite the name of the variable ``yych``. ``re2c:variable:yyctable = "yyctable";`` When both ``-c`` and ``-g`` are active then ``re2c`` uses this variable to generate a static jump table for ``YYGETCONDITION``. ``re2c:variable:yystable = "yystable";`` Deprecated. ``re2c:variable:yytarget = "yytarget";`` Allows one to overwrite the name of the variable ``yytarget``. REGULAR EXPRESSIONS ~~~~~~~~~~~~~~~~~~~ ``"foo"`` literal string ``"foo"``. ANSI-C escape sequences can be used. ``'foo'`` literal string ``"foo"`` (characters [a-zA-Z] treated case-insensitive). ANSI-C escape sequences can be used. ``[xyz]`` character class; in this case, regular expression matches either ``x``, ``y``, or ``z``. ``[abj-oZ]`` character class with a range in it; matches ``a``, ``b``, any letter from ``j`` through ``o`` or ``Z``. ``[^class]`` inverted character class. ``r \ s`` match any ``r`` which isn't ``s``. ``r`` and ``s`` must be regular expressions which can be expressed as character classes. ``r*`` zero or more occurrences of ``r``. ``r+`` one or more occurrences of ``r``. ``r?`` optional ``r``. ``(r)`` ``r``; parentheses are used to override precedence. ``r s`` ``r`` followed by ``s`` (concatenation). ``r | s`` either ``r`` or ``s`` (alternative). ``r`` / ``s`` ``r`` but only if it is followed by ``s``. Note that ``s`` is not part of the matched text. This type of regular expression is called "trailing context". Trailing context can only be the end of a rule and not part of a named definition. ``r{n}`` matches ``r`` exactly ``n`` times. ``r{n,}`` matches ``r`` at least ``n`` times. ``r{n,m}`` matches ``r`` at least ``n`` times, but not more than ``m`` times. ``.`` match any character except newline. ``name`` matches named definition as specified by ``name`` only if ``-F`` is off. If ``-F`` is active then this behaves like it was enclosed in double quotes and matches the string "name". Character classes and string literals may contain octal or hexadecimal character definitions and the following set of escape sequences: ``\a``, ``\b``, ``\f``, ``\n``, ``\r``, ``\t``, ``\v``, ``\\``. An octal character is defined by a backslash followed by its three octal digits (e.g. ``\377``). Hexadecimal characters from 0 to 0xFF are defined by backslash, a lower cased ``x`` and two hexadecimal digits (e.g. ``\x12``). Hexadecimal characters from 0x100 to 0xFFFF are defined by backslash, a lower cased ``\u`` or an upper cased ``\X`` and four hexadecimal digits (e.g. ``\u1234``). Hexadecimal characters from 0x10000 to 0xFFFFffff are defined by backslash, an upper cased ``\U`` and eight hexadecimal digits (e.g. ``\U12345678``). The only portable "any" rule is the default rule ``*``. SCANNER WITH STORABLE STATES ---------------------------- When the ``-f`` flag is specified, ``re2c`` generates a scanner that can store its current state, return to the caller, and later resume operations exactly where it left off. The default operation of ``re2c`` is a "pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner" the parsing loop, and that may not always be convenient. Typically, if there is a preprocessor ahead of the scanner in the stream, or for that matter any other procedural source of data, the scanner cannot "ask" for more data unless both scanner and source live in a separate threads. The ``-f`` flag is useful for just this situation: it lets users design scanners that work in a "push" model, i.e. where data is fed to the scanner chunk by chunk. When the scanner runs out of data to consume, it just stores its state, and return to the caller. When more input data is fed to the scanner, it resumes operations exactly where it left off. Changes needed compared to the "pull" model: * User has to supply macros ``YYSETSTATE ()`` and ``YYGETSTATE (state)``. * The ``-f`` option inhibits declaration of ``yych`` and ``yyaccept``. So the user has to declare these. Also the user has to save and restore these. In the example ``examples/push_model/push.re`` these are declared as fields of the (C++) class of which the scanner is a method, so they do not need to be saved/restored explicitly. For C they could e.g. be made macros that select fields from a structure passed in as parameter. Alternatively, they could be declared as local variables, saved with ``YYFILL (n)`` when it decides to return and restored at entry to the function. Also, it could be more efficient to save the state from ``YYFILL (n)`` because ``YYSETSTATE (state)`` is called unconditionally. ``YYFILL (n)`` however does not get ``state`` as parameter, so we would have to store state in a local variable by ``YYSETSTATE (state)``. * Modify ``YYFILL (n)`` to return (from the function calling it) if more input is needed. * Modify caller to recognise if more input is needed and respond appropriately. * The generated code will contain a switch block that is used to restores the last state by jumping behind the corrspoding ``YYFILL (n)`` call. This code is automatically generated in the epilog of the first ``/*!re2c */`` block. It is possible to trigger generation of the ``YYGETSTATE ()`` block earlier by placing a ``/*!getstate:re2c*/`` comment. This is especially useful when the scanner code should be wrapped inside a loop. Please see ``examples/push_model/push.re`` for "push" model scanner. The generated code can be tweaked using inplace configurations ``state:abort`` and ``state:nextlabel``. SCANNER WITH CONDITION SUPPORT ------------------------------ You can preceed regular expressions with a list of condition names when using the ``-c`` switch. In this case ``re2c`` generates scanner blocks for each conditon. Where each of the generated blocks has its own precondition. The precondition is given by the interface define ``YYGETCONDITON()`` and must be of type ``YYCONDTYPE``. There are two special rule types. First, the rules of the condition ``<*>`` are merged to all conditions (note that they have lower priority than other rules of that condition). And second the empty condition list allows one to provide a code block that does not have a scanner part. Meaning it does not allow any regular expression. The condition value referring to this special block is always the one with the enumeration value 0. This way the code of this special rule can be used to initialize a scanner. It is in no way necessary to have these rules: but sometimes it is helpful to have a dedicated uninitialized condition state. Non empty rules allow one to specify the new condition, which makes them transition rules. Besides generating calls for the define ``YYSETCONDTITION`` no other special code is generated. There is another kind of special rules that allow one to prepend code to any code block of all rules of a certain set of conditions or to all code blocks to all rules. This can be helpful when some operation is common among rules. For instance this can be used to store the length of the scanned string. These special setup rules start with an exclamation mark followed by either a list of conditions ```` or a star ````. When ``re2c`` generates the code for a rule whose state does not have a setup rule and a star'd setup rule is present, than that code will be used as setup code. ENCODINGS --------- ``re2c`` supports the following encodings: ASCII (default), EBCDIC (``-e``), UCS-2 (``-w``), UTF-16 (``-x``), UTF-32 (``-u``) and UTF-8 (``-8``). See also inplace configuration ``re2c:flags``. The following concepts should be clarified when talking about encoding. Code point is an abstract number, which represents single encoding symbol. Code unit is the smallest unit of memory, which is used in the encoded text (it corresponds to one character in the input stream). One or more code units can be needed to represent a single code point, depending on the encoding. In fixed-length encoding, each code point is represented with equal number of code units. In variable-length encoding, different code points can be represented with different number of code units. ASCII is a fixed-length encoding. Its code space includes 0x100 code points, from 0 to 0xFF. One code point is represented with exactly one 1-byte code unit, which has the same value as the code point. Size of ``YYCTYPE`` must be 1 byte. EBCDIC is a fixed-length encoding. Its code space includes 0x100 code points, from 0 to 0xFF. One code point is represented with exactly one 1-byte code unit, which has the same value as the code point. Size of ``YYCTYPE`` must be 1 byte. UCS-2 is a fixed-length encoding. Its code space includes 0x10000 code points, from 0 to 0xFFFF. One code point is represented with exactly one 2-byte code unit, which has the same value as the code point. Size of ``YYCTYPE`` must be 2 bytes. UTF-16 is a variable-length encoding. Its code space includes all Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One code point is represented with one or two 2-byte code units. Size of ``YYCTYPE`` must be 2 bytes. UTF-32 is a fixed-length encoding. Its code space includes all Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One code point is represented with exactly one 4-byte code unit. Size of ``YYCTYPE`` must be 4 bytes. UTF-8 is a variable-length encoding. Its code space includes all Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One code point is represented with sequence of one, two, three or four 1-byte code units. Size of ``YYCTYPE`` must be 1 byte. In Unicode, values from range 0xD800 to 0xDFFF (surrogates) are not valid Unicode code points, any encoded sequence of code units, that would map to Unicode code points in the range 0xD800-0xDFFF, is ill-formed. The user can control how ``re2c`` treats such ill-formed sequences with ``--encoding-policy `` flag (see ``OPTIONS`` for full explanation). For some encodings, there are code units, that never occur in valid encoded stream (e.g. 0xFF byte in UTF-8). If the generated scanner must check for invalid input, the only true way to do so is to use default rule ``*``. Note, that full range rule ``[^]`` won't catch invalid code units when variable-length encoding is used (``[^]`` means "all valid code points", while default rule ``*`` means "all possible code units"). GENERIC INPUT API ----------------- ``re2c`` usually operates on input using pointer-like primitives ``YYCURSOR``, ``YYMARKER``, ``YYCTXMARKER`` and ``YYLIMIT``. Generic input API (enabled with ``--input custom`` switch) allows one to customize input operations. In this mode, ``re2c`` will express all operations on input in terms of the following primitives: +---------------------+-----------------------------------------------------+ | ``YYPEEK ()`` | get current input character | +---------------------+-----------------------------------------------------+ | ``YYSKIP ()`` | advance to the next character | +---------------------+-----------------------------------------------------+ | ``YYBACKUP ()`` | backup current input position | +---------------------+-----------------------------------------------------+ | ``YYBACKUPCTX ()`` | backup current input position for trailing context | +---------------------+-----------------------------------------------------+ | ``YYRESTORE ()`` | restore current input position | +---------------------+-----------------------------------------------------+ | ``YYRESTORECTX ()`` | restore current input position for trailing context | +---------------------+-----------------------------------------------------+ | ``YYLESSTHAN (n)`` | check if less than ``n`` input characters are left | +---------------------+-----------------------------------------------------+ A couple of useful links that provide some examples: 1. http://skvadrik.github.io/aleph_null/posts/re2c/2015-01-13-input_model.html 2. http://skvadrik.github.io/aleph_null/posts/re2c/2015-01-15-input_model_custom.html SEE ALSO -------- You can find more information about ``re2c`` on the website: http://re2c.org. See also: flex(1), lex(1), quex (http://quex.sourceforge.net). AUTHORS ------- Peter Bumbulis peter@csg.uwaterloo.ca Brian Young bayoung@acm.org Dan Nuffer nuffer@users.sourceforge.net Marcus Boerger helly@users.sourceforge.net Hartmut Kaiser hkaiser@users.sourceforge.net Emmanuel Mogenet mgix@mgix.com Ulya Trofimovich skvadrik@gmail.com VERSION INFORMATION ------------------- This manpage describes ``re2c`` version @PACKAGE_VERSION@, package date @PACKAGE_DATE@. re2c-0.16/doc/sample.bib0000644000175000017500000000462612617126113011730 00000000000000@Article{Bumbulis94, author = {Peter Bumbulis and Donald D. Cowan}, title = {RE2C -- A More Versatile Scanner Generator}, journal = "ACM Letters on Programming Languages and Systems", volume = 2, number = "1--4", year = 1994, abstract = { It is usually claimed that lexical analysis routines are still coded by hand, despite the widespread availability of scanner generators, for efficiency reasons. While efficiency is a consideration, there exist freely available scanner generators such as GLA \cite{Gray88} that can generate scanners that are faster than most hand-coded ones. However, most generated scanners are tailored for a particular environment, and retargetting these scanners to other environments, if possible, is usually complex enough to make a hand-coded scanner more appealing. In this paper we describe RE2C, a scanner generator that not only generates scanners which are faster (and usually smaller) than those produced by any other scanner generator known to the authors, including GLA, but also adapt easily to any environment. } } @Article{Gray88, author = {Robert W. Gray}, title = {{$\gamma$-GLA} - {A} Generator for Lexical Analyzers That Programmers Can Use}, journal = {USENIX Conference Proceedings}, year = {1988}, month = {June}, pages = {147-160}, abstract = {Writing an efficient lexical analyzer for even a simple language is not a trivial task, and should not be done by hand. We describe GLA, a tool that generates very efficient scanners. These scanners do not use the conventional transition matrix, but instead use a few 128 element vectors. Scanning time is only slightly greater than the absolute minimum --- the time it takes to look at each character in a file. The GLA language allows simple, concise specification of scanners. Augmenting regular expressions with auxiliary scanners easily handles nasty problems such as C comments and C literal constants. We formalize the connection between token scanning and token processing by associating a processor with appropriate patterns. A library of canned descriptions simplifies the specification of commonly used language pieces --- such as, C\_IDENTIFIERS, C\_STRINGS, PASCAL\_COMMENTS, etc. Finally, carefully tuned lexical analysis support modules are provided for error handling, input buffering, storing identifiers in hash tables and manipulating denotations.} } re2c-0.16/doc/loplas.ps0000644000175000017500000056321212617126113011630 00000000000000%!PS-Adobe-2.0 %%Creator: dvipsk 5.526a Copyright 1986, 1993 Radical Eye Software %%Title: paper.dvi %%Pages: 16 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips -o paper.ps paper %DVIPSParameters: dpi=300, compressed, comments removed %DVIPSSource: TeX output 1994.04.15:2115 %%BeginProcSet: texc.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ 3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 (paper.dvi) @start /Fa 43 122 df<126012F0A212701210A31220A312401280040C7B830D>44 D<126012F0A2126004047B830D>46 D<1303A3497EA2497E130BA2EB11E0A3EB20F0A249 7E1478A2497EA33801FFFEEB001E0002131F80A248EB0780A2120C001E14C039FF803FFC 1E1D7E9C22>65 DI<90380FE0209038 7018603801C00439030003E000061301000E13004814605A15201278127000F01400A800 70142012781238A26C14407E000614806CEB01003801C00638007018EB0FE01B1E7D9C21 >II II<90381FC04090387030C03801C00C38030003000E1301120C001C 13005A15401278127000F01400A6EC7FF8EC07C00070130312781238A27E120C120E0003 13053801C008390070304090381FC0001D1E7D9C23>I<39FFF0FFF0390F000F00AC90B5 FCEB000FAD39FFF0FFF01C1C7D9B22>I<380FFF8038007C00133CB3127012F8A21338EA 7078EA4070EA30E0EA0F80111D7D9B18>74 D<39FFF00FF8390F0007C0EC030014025C5C 5C1460148049C7FC13021307497E1317EB23C0EB43E01381EB00F08014788080141F80EC 078015C015E039FFF03FFC1E1C7D9B23>IIII80 D82 D<3803E080EA0C19EA1005EA3003EA600112E01300A36C13007E127EEA7FE0EA3FFC6CB4 FC00071380EA007FEB07C0EB03E0130113007EA36C13C0A238E0018038D00300EACE06EA 81F8131E7D9C19>I<007FB512C038700F010060130000401440A200C014201280A30000 1400B1497E3803FFFC1B1C7D9B21>I<39FFF01FF0390F000380EC0100B3A26C13021380 00035BEA01C03800E018EB7060EB0F801C1D7D9B22>I<39FFE003FC001FC712F06C1440 A26C6C1380A27F0003EB0100A23801E002A2EBF00600001304A2EB7808A2EB7C18EB3C10 A26D5AA2EB1F60EB0F40A26D5AA36DC7FCA21E1D7E9B22>I<3BFFE07FF03FC03B1F000F 800F00ED00066CEC8004A213800007496C5A1413A23A03C033E0101421A23A01E061F020 1440A2D800F06D5AEC8078A20178EB7C80903879003CA2013D013FC7FC013E7FA2011E13 1E011C130EA2010C130C010813042A1D7E9B2E>I<13201370A313B8A3EA011CA3EA020E A2487EA2EA07FF38080380A3381801C0EA380338FE0FF815157F9419>97 DIIII103 D<38FF8FF8381C01C0A9EA1FFFEA1C01A938FF8FF815157F9419>II<38FF83F8381C01E01480140013025B5B5B1330137013B8EA1D 1C121EEA1C0E7F14801303EB01C014E014F038FF83FC16157F941A>107 DI<00FEEB0FE0001E1400 00171317A338138027A23811C047A33810E087A2EB7107A3133AA2131CA2123839FE083F E01B157F941F>I<38FC03F8381E00E014401217EA138013C01211EA10E01370A2133813 1CA2130E130714C0130313011300123800FE134015157F9419>III114 DI<387FFFF03860703000401310A20080 1308A300001300ADEA07FF15157F9419>I<38FF83F8381C00E01440AE000C13C0000E13 8038060100EA0386EA00FC15157F9419>I<38FF01F8383C00F0001C1340A2001E13C000 0E1380A238070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3132015157F9419> I<38FF87F0381E0380000E1300EA0F026C5AEA038413C8EA01D0EA00F0A21370137813BC EA011C7FEA020F487EEB0380000C13C0123C38FE07F815157F9419>120 D<38FF80FE381E0078000E1320000F13407E3803808013C100011300EA00E2A21374137C 1338A848B4FC1715809419>I E /Fb 7 118 df101 D<123E120CA41218A41230A41260 A412C012C8A312D0126007177D9609>108 D<3830783C38498CC6384E0502EA4C06389C 0E06EA180CA348485A15801418A23960300900140E190E7D8D1D>I111 D114 DI117 D E /Fc 1 59 df<126012F0A2126004047D830A>58 D E /Fd 1 111 df110 D E /Fe 22 121 df45 D<12E0A303037D820A>I<130813181330A31360A313C0A3EA0180A3EA0300A21206A35A A35AA35AA35AA35AA20D217E9812>I<1202120E12FEA2120EB0EAFFE0A20B167D9512> 49 D90 D97 D<12E0A8EAE7C0EAFFE0 EAF870EAE038A2131CA51338A2EAF0F0EAFFE0EAE7800E177E9612>II101 DII<12E0A31200A612E0AF03187E9708>105 D<12E0B3A503177E9608>108 D<38E7E1F838EFF3FC38F87E1E38F03C0EEAE038AB170F 7E8E1C>IIII114 D<121FEA7FC012E01300A27E127FEA3F80EA0FC0EA 01E0128012C0EAE1C0127FEA1F000B0F7F8E0E>I<1238A4EAFFC0A2EA3800AA1340EA1F C013000A137F920D>II120 D E /Ff 34 121 df<3801F1C0120312071301120EA7EAFFF1A2EA0E01B012 1D809C16>13 D45 D<12E0A303037C820C>I<130113031306A3 130CA31318A31330A31360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA2 10297E9E15>II<5A1207123FB4FC12C71207B3A3EAFFF8 A20D1C7C9B15>II I<133C137C135C13DC1201139C1203A2EA071CA2120EA2121C123C12381278127012F0B5 12C0A238001C00A7121B7F9A15>II55 D57 D69 D<387FFFF0A2380001E0130314C013071480EB0F005B131E133E133C5B13F85B12015B48 5A12075B120F90C7FC121E123E123C127C1278B512F0A2141D7E9C19>90 D97 D<12E0ABEAE3E0EAEFF0EAFFF8EAF87CEAF01CEAE01E13 0EA6131C12F0EAF87CEAFFF8EAEFF0EAE3C00F1D7D9C15>II<130EABEA0F 8EEA1FEEEA3FFEEA7C3EEA700EA212E0A612F0EA701EEA7C3EEA3FFEEA1FEEEA0F8E0F1D 7E9C15>II<13FC12011203EA0700120EA7EAFFE0A2EA0E 00B00E1D809C0D>I<3803C3C0EA0FFF5A381C3800487EA56C5AEA1FF85BEA3BC00038C7 FCA2EA1FFC13FF481380EA700738E001C0A3EAF003387C0F80383FFF006C5AEA07F8121B 7F9115>I<12F0A41200A71270B2041D7E9C0A>105 D<12E0AB133C137813F0EAE1E0EAE3 C0EAE780EAEF00B4FC138012FBEAF9C0EAF1E012E013F013781338133C131E0F1D7D9C14 >107 D<12E0B3AB031D7D9C0A>I<38E3F03F39EFF8FF80D8FFFD13C039F81F81E038F00F 00EAE00EAD1B127D9122>II< EA03F0EA0FFC487EEA3C0F38780780EA700338E001C0A5EAF00300701380EA7807383C0F 00EA1FFE6C5AEA03F012127F9115>II114 DI<121CA6EA FFE0A2EA1C00AC1320EA1FF0120FEA07C00C187F970F>II<39E03E0380A3D870371300EB7707A213733838E38EA33818E18C 381CC1CC001D13DCA2380D80D8000F13F8A20007137019127F911C>119 D<3870038038780700EA3C0EEA1C1C120E6C5AEA03F06C5A5B7F487EEA0738EA0E18131C 487E487E3870038000F013C01212809113>I E /Fg 72 126 df<126012F0AA12701200 A4126012F0A212600414799312>33 DII37 D<1207EA1F80EA19C01239A3EA3B9E133EEA3E38EA1C70A2EA1E E0123E1267EAE7C0EAE3C413CE12E7EA7EFCEA3C380F147F9312>I<126012F012F81278 1218A31230A2126012C01280050C799312>II<128012C012601230121812 1C120C120EA21207A7120EA2120C121C12181230126012C0128008197C9612>I<1207A3 EAE738EAFFF8EA7FF0EA1FC0A2EA7FF0EAFFF8EAE738EA0700A30D0E7E9012>II<126012F012F8127812181230A212E012C0050979 8312>II<126012F0A212600404798312>I<13181338A21370A2 13E0A2EA01C0A3EA0380A2EA0700A2120EA25AA35AA25AA25AA25A0D1A7E9612>II<1206A2120E121E12FE12EE120EACEAFFE0A20B147D9312>III<12E0EAFFFEA2 EAE0181338EA007013E013C01201EA0380A2EA0700A4120EA512040F157F9412>55 DII<126012F0A212601200A6126012F0A21260040E798D12>I<126012F0A2126012 00A6126012F0A212701230A2126012C012800413798D12>I<13381378EA01F0EA03E0EA 0F80EA1F00123C12F85A7E123C121FEA0F80EA03E0EA01F0EA007813380D117E9212>I< EAFFFEA2127FC7FCA3EA7FFE12FFA20F097F8E12>I<124012E07E127C7EEA0F80EA07C0 EA01E0EA00F8137813F8EA01E0EA07C0EA0F80EA3E005A12F05A12400D137E9312>I65 DII69 DI73 D75 DII79 D I82 DII<38FE3F80A238380E00AE6C5A6C5AEA07F06C5A111480 9312>I89 DII<12C07E A21270A27EA27EA37EA27EA2EA0380A2EA01C0A3EA00E0A21370A21338A213180D1A7E96 12>II97 D<12F8A21238A4EA3BE0 EA3FF0EA3C38EA381C130C130EA4130C131CEA3C38EA3FF0EA1BC00F147F9312>II< 13F8A21338A4EA07B8EA1FF8EA3878EA7038126012E0A41260EA70781238EA1FFEEA0FBE 0F147F9312>II<137E13FFEA01C7EA03821380A2EA7FFE12FFEA0380AA EA3FF8A21014809312>II<12F8A212 38A4EA39E0EA3FF0EA3E38123C1238A8EAFE3EA20F147F9312>I<1206120FA21206C7FC A3127FA21207AAEAFFF0A20C157D9412>I<12F8A21238A4EA3BFCA2EA38F0EA39E0EA3B C0EA3F80A213C0EA3DE0123813701338EAFC7EA20F147F9312>107 DIIIII114 DI<1206120EA3EA7FF812FFEA0E00A7131CA3EA07F8EA01E00E127F 9112>IIIIIII<13F81201EA0380EA0700A8120E12FCA2120E7EA8EA0380EA01F812000D1A7E96 12>I<127812FC120E7EA8EA0380EA01F8A2EA0380EA0700A8120E12FC12780D1A7E9612> 125 D E /Fh 37 123 df<90383FE3F83901F03F1C3903C03E3E0007137CEA0F80151C15 00A5B612C0A2390F807C00AE397FE1FFC0A21F1D809C1C>11 D<127812FCA4127806067D 850D>46 D<1360EA01E0120F12FF12F31203B3A2387FFF80A2111B7D9A18>49 DI< EA03F8EA1FFEEA3C1FEB0F80387C07C0127E127C123838000F80A2EB1E005BEA03F8EA00 1EEB0F80EB07C0A214E01230127812FCA214C038780F80EB1F00EA1FFEEA07F8131B7E9A 18>II66 D<90381FE0209038FFF8E03803F80F3807C003380F 800148C7FC123E1560127E127C00FC1400A8007C1460127E123E15C07E390F8001803907 C003003803F80E3800FFFCEB1FE01B1C7D9B22>I69 D77 D79 D82 D<3807F820381FFEE0EA3C07EA 7801EA700012F01460A26C130012FEEAFFE0EA7FFE6C7E1480000F13C06C13E0EA007FEB 03F01301130012C0A214E07E38F001C0EAFC0338EFFF00EA83FC141C7D9B1B>I<007FB5 12E0A238781F81007013800060146000E0147000C01430A400001400B03807FFFEA21C1C 7E9B21>I97 DIIII<137F3801 E3803803C7C0EA0787120FEB8380EB8000A5EAFFF8A2EA0F80AEEA7FF8A2121D809C0F> I<3803F8F0380E0F38121E381C0730003C1380A4001C1300EA1E0FEA0E0EEA1BF80010C7 FC1218A2EA1FFF14C06C13E04813F0387801F838F00078A300701370007813F0381E03C0 3807FF00151B7F9118>II<121E123FA4121EC7FCA6B4FCA2121FAEEAFFE0A20B1E7F9D0E>I107 DI<39FF0FC0 7E903831E18F3A1F40F20780D980FC13C0A2EB00F8AB3AFFE7FF3FF8A225127F9128>I< 38FF0FC0EB31E0381F40F0EB80F8A21300AB38FFE7FFA218127F911B>II<38FF3F80EBE1E0381F80F0EB0078147C143C143EA6143C147C 1478EB80F0EBC1E0EB3F0090C7FCA6EAFFE0A2171A7F911B>I114 DI<1203A45AA25AA2EA3FFC12FFEA1F00A9130CA4EA0F08EA0798EA03F00E1A7F9913>I< 38FF07F8A2EA1F00AC1301120F380786FFEA01F818127F911B>I<39FF8FF8FEA2391F03 E030A201831370000FEBF0601386D807C613C0EBCEF8EBEC790003EB7D80EBF83D0001EB 3F00A2497E0000131EEBE00EA21F127F9122>119 D<38FFC7FCA2381F8180EA0F833807 C700EA03EEEA01FC5B1200137C13FEEA01DFEA039F38070F80380607C0380C03E038FF07 FCA216127F9119>I<38FFC1FCA2381F0060EB80E0000F13C013C03807C180A23803E300 A2EA01F713F6EA00FE5BA21378A21330A21370EA706012F85BEAF9800073C7FC123E161A 7F9119>I<383FFF80383C1F00EA303F133E485A13FC5BEA01F01203485AEBC180EA0F81 121F1303003E1300EA7E07EA7C0FB5FC11127F9115>I E /Fi 55 124 df<1218123CA31204A21208A21210122012401280060C779C0D>39 D43 D<12181238127812381208A21210A212201240A21280050C7D 830D>II<1230127812F0126005047C830D>I<14031407140E14 0C141C141814381430147014E014C013011480130314005B1306130E5B13181338133013 70136013E05B1201485A90C7FC5A1206120E120C121C121812385A126012E05AA218297F 9E15>I<133C13C6EA0183EA030312061480120E120C121C1400485AA4EA700EA4485AA3 5BA21330485A12E0EA60C0EA7180001EC7FC111D7B9B15>I<13021306130C131C137CEA 039CEA0038A41370A413E0A4EA01C0A4EA0380A41207EAFFF00F1C7C9B15>I<133C13C3 38010180120214C0EA0441A21208A338108380A238110700EA0E06C65A5B5B13C048C7FC 12061208485A13021220EA4006EA7E0CEAC7F81283EA80E0121D7C9B15>I<133EEBC180 EA0101380200C05A1340EA0841A3EB8380EA070338000700130EEA01F8EA0038130CA213 0EA41270485A12805B1330EA4060EA21C0001FC7FC121D7C9B15>III<130FEB308013C0EA01831203 90C7FC1206120E120C121C13F0EA3B18EA3C0C12381278EA700EA3EA601C12E0A35BA25B EA60605BEA2180001EC7FC111D7B9B15>I<131E1361EB8180EA0180380300C0A2380601 80A3380703001386EA03CC13F01201EA0378EA063CEA081EEA180E1230EA6006A3485AA2 5BEA60105BEA30C0000FC7FC121D7C9B15>56 D<133C13C6EA0183EA03031206120E000C 1380121C1400A2485AA35B130EEA181EA2EA0C6CEA079CEA001C1318133813305BEAE0C0 A2EA81800086C7FC127C111D7B9B15>I<1206120FA212061200AA1230127812F0126008 127C910D>I<1418A21438A21478A214B8130114381302143CEB041CA213081318131013 20A2EB7FFCEB401C1380120113001202A2487F120C001C131EB4EBFFC01A1D7E9C1F>65 D<903803F02090381E0C6090383002E09038E003C03801C001EA038048C7FC000E148012 1E121C123C15005AA35AA41404A35C12705C6C5B00185B6C485AD80706C7FCEA01F81B1E 7A9C1E>67 D<48B512E038003C00013813601540A35BA214201500495AA214C013FF3801 C080A43803810113801402A248485AA2140C5C000E1378B55A1B1C7D9B1C>69 D<48B512C038003C01EB38001580A35BA214201500495AA214C013FF3801C080A4D80381 C7FC1380A348C8FCA45AEAFFF01A1C7D9B1B>I<903803F02090381E0C6090383002E090 38E003C03801C001EA038048C7FC000E1480121E121C123C15005AA35AA2903801FFC090 38001E00141CA400705BA27E001813786C139038070710D801F8C7FC1B1E7A9C20>I<38 01FFC038003C001338A45BA45BA4485AA4485AA448C7FCA45AEAFFE0121C7E9B10>73 D<3801FFE038003C001338A45BA45BA4485AA438038008A31410EA07001430146014E038 0E03C0B5FC151C7D9B1A>76 DI<3901FC03FE39001C0070013C13 60012E1340A301471380A3EB43809038838100A2138114C1380101C2A2EB00E2A2000213 E41474A3481338A3000C1318001C1310EAFF801F1C7D9B1F>II<3801FF FC38003C079038380380EC01C0A3EB7003A31580EBE0071500140E14383801FFE001C0C7 FCA3485AA448C8FCA45AEAFFE01A1C7D9B1C>I<3801FFF838003C0EEB3807EC0380A3EB 7007A3EC0F00EBE00E5C1470EBFFC0EA01C014601470A2EA0380A4380700F01540A21580 48137839FFE07900C7121E1A1D7D9B1E>82 DI<001FB512C0381C070138300E 0000201480126012405B1280A2000014005BA45BA45BA4485AA41203EA7FFE1A1C799B1E >I<397FF0FF80390F001C00000E13181410A3485BA4485BA4485BA44848C7FCA31302A2 5BA2EA6008EA3030EA1040EA0F80191D779B1F>I<3901FF81FE39001E00F0011C136001 1E1380EB0E011500EB0F026D5A5C1490EB03A014C01301A28013021304497EEB10701320 EB60381340EB803C3801001C12020006131E121E39FF80FFC01F1C7E9B1F>88 D97 D<123F1207A2120EA45AA4EA39C0EA3E60EA3830A2EA7038A4EAE0 70A3136013E0EAC0C012C1EA6180EA6300123C0D1D7B9C13>IIIII<13F3EA018FEA030FEA0607EA0E0E120C121CA2EA381CA413381230A2EA1878 13F0EA0F701200A213E0A2EAC0C012E1EAC300127E101A7D9113>III108 D<393C1E078039266318C0394683A0E0384703C0008E13 80A2120EA2391C0701C0A3EC0380D8380E1388A2EC0708151039701C032039300C01C01D 127C9122>IIIIIII<13C01201A3EA0380A4EAFFE0EA0700A3120EA45AA4EA3840A313 80EA1900120E0B1A7D990E>II<381E0183382703871247148338870701A2 120EA2381C0E02A31404EA180C131C1408001C1310380C26303807C3C018127C911C> 119 DI I123 D E /Fj 38 123 df<90380FF83F90397FFDFFC03A01F81F E3E03903E03F87EA07C0D80F801307ED03C06EC7FCA6B612FCA2260F801FC7FCB2397FF0 FFF0A223237FA221>11 D<1238127C12FE12FFA2127F123B1203A212071206A2120C121C 12181270122008117CA210>39 D<1238127C12FEA3127C123807077C8610>46 D<13181378EA01F812FFA21201B3A7387FFFE0A213207C9F1C>49 DI<13FE3807FFC0380F07E0381E03F0123FEB81F8A3EA1F 0314F0120014E0EB07C0EB1F803801FE007F380007C0EB01F014F8EB00FCA2003C13FE12 7EB4FCA314FCEA7E01007813F8381E07F0380FFFC03801FE0017207E9F1C>I<14E01301 1303A21307130F131FA21337137713E7EA01C71387EA03071207120E120C121812381270 12E0B512FEA2380007E0A7EBFFFEA217207E9F1C>I<00101320381E01E0381FFFC01480 14005B13F8EA1BC00018C7FCA4EA19FCEA1FFF381E0FC0381807E01303000013F0A214F8 A21238127C12FEA200FC13F0A2387007E0003013C0381C1F80380FFF00EA03F815207D9F 1C>I<1470A214F8A3497EA2497EA3EB06FF80010E7FEB0C3FA201187F141F01387FEB30 0FA201607F140701E07F90B5FCA239018001FCA200038090C7FCA20006147FA23AFFE00F FFF8A225227EA12A>65 DIIIIII76 D79 DI82 D<007FB61280A2397E03F80F0078140700701403006014 0100E015C0A200C01400A400001500B3A20003B512F8A222227EA127>84 D87 D97 D99 DI<13FE3807FF80380F 87C0381E01E0003E13F0EA7C0014F812FCA2B5FCA200FCC7FCA3127CA2127E003E13186C 1330380FC0703803FFC0C6130015167E951A>I<3803FC1E380FFF7F381F0F8F383E07CF 383C03C0007C13E0A5003C13C0EA3E07381F0F80EBFF00EA13FC0030C7FCA21238383FFF 806C13F06C13F84813FCEA380048133E00F0131EA40078133C007C137C383F01F8380FFF E00001130018217E951C>103 DI<121C123E127FA3123E121CC7FCA7B4FCA2121FB2 EAFFE0A20B247EA310>I<3AFF07F007F090391FFC1FFC3A1F303E303E01401340496C48 7EA201001300AE3BFFE0FFE0FFE0A22B167E9530>109 D<38FF07E0EB1FF8381F307CEB 403CEB803EA21300AE39FFE1FFC0A21A167E951F>I<13FE3807FFC0380F83E0381E00F0 003E13F848137CA300FC137EA7007C137CA26C13F8381F01F0380F83E03807FFC03800FE 0017167E951C>I<38FF0FE0EB3FF8381FF07CEB803E497E1580A2EC0FC0A8EC1F80A290 38803F00EBC03EEBE0FCEB3FF8EB0FC090C8FCA8EAFFE0A21A207E951F>I114 DI<487EA412 03A21207A2120F123FB5FCA2EA0F80ABEB8180A5EB8300EA07C3EA03FEEA00F811207F9F 16>I<38FF01FEA2381F003EAF147E14FE380F81BE3907FF3FC0EA01FC1A167E951F>I<39 FFE01FE0A2390F800600A2EBC00E0007130CEBE01C00031318A26C6C5AA26C6C5AA2EB7C C0A2137F6D5AA26DC7FCA2130EA21B167F951E>I<387FFFF0A2387C03E0387007C0EA60 0F38E01F8000C01300133E137EC65A5B485A00031330EA07E013C0380F8070121F383F00 60003E13E0EA7C03B5FCA214167E9519>122 D E /Fk 4 122 df15 D<133C13E0EA01C013801203AD13005A121C12F0121C12077E1380AD120113C0EA00E013 3C0E297D9E15>102 D<12F0121C12077E1380AD120113C0EA00E0133C13E0EA01C01380 1203AD13005A121C12F00E297D9E15>I<12021207A61202A3EA7270EAFFF8EA7270EA02 00A21207B11202A60D267E9C12>121 D E /Fl 12 114 df<38078010EA1FC0383FE020 EA7FF03860304038C01080128038000900A2130AA3130CA21308A31318A35BA45BA21340 141B7F9115>13 D<126012F0A2126004047C830C>58 D<126012F0A212701210A41220A2 12401280040C7C830C>I<140CA2141CA2143C147C145C149C148EEB010EA213021304A2 1308A213101320EB3FFEEB4007A21380EA0100A21202A21206121E39FF807FF01C1D7F9C 1F>65 D<3801FFE038003C001338A45BA45BA4485AA438038002A31404EA0700140C1418 1438000E13F0B5FC171C7E9B1C>76 D<3801FFFE39003C03C090383800E015F01570A249 13F0A3EC01E001E013C0EC0780EC1E00EBFFF03801C03080141CA2EA0380A43807003C15 08A2151048131E39FFE00E20C7EA07C01D1D7E9B20>82 DI97 D<123F1207A2120EA45AA4EA39E0EA3A30EA3C1812381270131CA3EAE038A31330 1370136013C01261EA2300121E0E1D7E9C12>II110 D113 D E /Fm 77 125 df<126012F0AF12601200A4126012F0A212600419779816>33 DII<13C01201A3EA07F0EA1F FC48B4FCEA7DCF38F1C78012E1A338F1C300EA79C0127FEA1FF0EA07FCEA01FE13CFEBC7 80EAF1C3A3EAE1C712F13879DF00EA3FFE6C5AEA07E0EA01C0A2120011207E9C16>I38 D<1218123C123E121E120EA3121E121C123C127812F01260070D799816>I<13E01201EA 07C013005A121E5A123812781270A312F05AA77E1270A312781238123C7E7E7E13C0EA01 E012000B217A9C16>I<12E07E127C121C121E7EEA0780120313C01201A313E01200A712 0113C0A3120313801207EA0F00121E121C127C12F05A0B217C9C16>III<1238127C127EA2123E120E121E 123C127C12F81260070B798416>II<127012F8A3127005057884 16>IIIIII<137C13FC13DC1201EA039CA2EA071C120F120E121E123C1238 127812F0B512E0A338001C00A53801FFC0A313197F9816>II<13F8EA03FEEA0FFFEA1F0F123E123CEA78060070C7FC12F0EAF3F8EA EFFE12FFEAF80F38F00780A2EAE00312F0A21270EA7807EB0F006C5AEA1FFEEA0FF8EA03 E011197E9816>I<12E0B51280A338E00F00131EEA001C5B137813705BA2485AA3485AA4 48C7FCA7111A7E9916>III<127012F8A312701200A8127012F8A312700512789116>I<1238 127CA312381200A81238127CA3123C121C123C123812F812F012600618799116>III<12C012F012FC123EEA0F806C7EEA01F06C7E133EEB1F801307131FEB3E 0013F8485AEA07C0485A003EC7FC12FC12F012C011157E9616>II<13E0487EA213B0A2EA03B8A31318EA071CA5EA0E0EA2EA0FFEA2 487EEA1C07A3387F1FC000FF13E0007F13C013197F9816>65 D<3801F180EA07FF5AEA1F 0FEA3C0712781303127000F0C7FC5AA77E387003801278A2EA3C07381F0F00EA0FFE6C5A EA01F011197E9816>67 DI<387FFFC0B5FC7EEA1C 01A490C7FCA2131CA2EA1FFCA3EA1C1CA290C7FC14E0A5EA7FFFB5FC7E13197F9816>I< B512E0A3EA1C00A41400A2131CA2EA1FFCA3EA1C1CA290C7FCA6B47E7F5B13197F9816> I<387F1FC038FFBFE0387F1FC0381C0700A7EA1FFFA3EA1C07A9387F1FC038FFBFE0387F 1FC013197F9816>72 DI<387F0FE038FF8F F0387F0FE0381C0780EB0F00130E5B133C5B5B5BEA1DF0121F7F1338EA1E1C121C7FA27F A2EB0380387F07E038FF8FF0387F07E01419809816>75 DI<38FC07E0EAFE0FA2383A0B80EA3B1BA513BBEA39B3A413F3 EA38E3A21303A538FE0FE0A313197F9816>I<387E1FC038FF3FE0387F1FC0381D070013 87A313C7A2121CA213E7A31367A21377A21337A31317EA7F1FEAFF9FEA7F0F13197F9816 >III82 DI<387FFFE0B5FC A2EAE0E0A400001300AFEA07FC487E6C5A13197F9816>I<387F07F038FF8FF8387F07F0 381C01C0B0380E0380A23807070013FF6C5AEA00F81519809816>I<387F1F80133F131F 380E1E00131CEA073C1338EA03B813F012015B120012017F120313B81207131CA2EA0E0E A2487E387F1FC000FF13E0007F13C013197F9816>88 D<38FE0FE0EAFF1FEAFE0F381C07 00A2EA0E0EA26C5AA3EA03B8A2EA01F0A26C5AA8EA03F8487E6C5A13197F9816>I91 D<12C07EA21270A27EA27EA27EA27EA26C7E A26C7EA26C7EA21370A27FA27FA27FA27FA2EB0380A2130111207E9C16>II<120C121E123C1278127012F012E0A312F012F81278 1230070D789B16>96 DI<127E12FE127E120EA4 133EEBFF80000F13C0EB83E01301380E00F0A21470A414F0000F13E01301EB83C013FF00 0E1300EA063C1419809816>II<133F5B7F1307A4EA03C7EA0FF7 EA3FFFEA3C1F487E487EA212E0A412F05BEA781FEA7C3F383FFFE0381FF7F03807C7E014 197F9816>II<131FEB7F8013FFEA01E7EBC30013C0 A2EA7FFFB5FCA2EA01C0ACEA3FFE487E6C5A11197F9816>I<3803E3C0380FFFE05A381E 3CC0383C1E00EA380EA3EA3C1E6C5AEA1FFC5BEA3BE00038C7FCA2EA1FFC13FF4813C0EA 780338F001E0EAE000A3EAF001387C07C0383FFF80380FFE00EA03F8131C7F9116>I<12 7E12FE127E120EA4133C13FF000F138013871303A2120EA9387FC7F038FFE7F8387FC7F0 1519809816>II108 D<38F9C38038FFEFC0EBFFE0EA3E 7CEA3C78EA3870AA38FE7CF8A2EB3C781512809116>IIIII<38FF0FC0EB3FE0137F3807F040EBE0005B5BA290C7 FCA7EAFFFCA313127F9116>II<12035AA4EA 7FFFB5FCA20007C7FCA75BEB0380A2130713873803FF005BEA00F811177F9616>I<387E 1F80EAFE3FEA7E1FEA0E03AA1307EA0F0FEBFFF06C13F83803E3F01512809116>I<38FF 1FE013BF131F38380380A413E33819F300A213B3EA1DB7A4EA0F1EA313127F9116>119 D<387F1FC0133F131F380F1C00EA073CEA03B813F012016C5A12017FEA03B8EA073C131C EA0E0E387F1FC038FF3FE0387F1FC013127F9116>I<387F1FC038FF9FE0387F1FC0381C 0700120E130EA212075BA2EA039CA21398EA01B8A2EA00F0A35BA3485A1279127BEA7F80 6CC7FC123C131B7F9116>I<383FFFC05AA238700780EB0F00131EC65A5B485A485AEA07 8048C7FC381E01C0123C1278B5FCA312127F9116>I<12E0B3AE0320779C16>124 D E /Fn 10 58 df<121FEA3180EA60C0EA4040EAC060A8EA4040EA60C0EA3180EA1F00 0B107F8F0F>48 D<120C123C12CC120CACEAFF8009107E8F0F>I<121FEA6180EA40C0EA 806012C01200A213C0EA0180EA030012065AEA10201220EA7FC012FF0B107F8F0F>I<12 1FEA2180EA60C0A2120013801201EA0F00EA00801340136012C0A2EA8040EA6080EA1F00 0B107F8F0F>I<1203A25A5A120B121312331223124312C3EAFFE0EA0300A4EA1FE00B10 7F8F0F>III<1240EA7FE013C0EA8080A2EA010012025AA2 120C1208A21218A50B117E900F>I<121FEA3180EA60C0A3EA7180EA3F00120FEA3380EA 61C0EAC060A3EA4040EA6080EA1F000B107F8F0F>I<121FEA3180EA60C0EAC0401360A3 EA40E01221EA1E6012001340EA60C01380EA4300123E0B107F8F0F>I E /Fo 66 124 df11 D<13FCEA0782EA0E07121C130290C7FCA4B5FCEA1C07AC38FF1FE013 17809614>I<13FFEA0707120E121CA6B5FCEA1C07AC38FFBFE01317809614>I<12011202 1204120C1218A21230A212701260A312E0AA1260A312701230A21218A2120C1204120212 0108227D980E>40 D<12801240122012301218A2120CA2120E1206A31207AA1206A3120E 120CA21218A2123012201240128008227E980E>I<126012F0A212701210A21220A21240 A2040A7D830A>44 DI<126012F0A2126004047D830A>I<130813 181330A31360A313C0A3EA0180A3EA0300A21206A35AA35AA35AA35AA35AA20D217E9812 >I<12035AB4FC1207B1EA7FF00C157E9412>49 DII<1330A2137013F01201 1370120212041208121812101220124012C0EAFFFEEA0070A5EA03FE0F157F9412>II I<1240EA7FFE13FC13F8EAC008EA80101320EA00401380A2EA0100A25A12021206A2120E A512040F167E9512>I57 D61 D<13101338A3135CA3138EA3EA0107A200 031380EA0203A23807FFC0EA0401A2380800E0A21218003813F038FE03FE17177F961A> 65 DIIIIII73 D<38FF80FE381C0078146014401480EB0100130613085B13381378139C EA1D0E121EEA1C07EB0380EB01C0A2EB00E014701478147C38FF80FF18177F961B>75 DI<00FEEB03F800 1E14C000171305A338138009A23811C011A33810E021A2EB7041A3EB3881A2EB1D01A213 0EA2123839FE040FF81D177F9620>I<00FC13FE001E1338001F13101217EA1380EA11C0 A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00F014701430123800FE13 1017177F961A>I<13FCEA0303380E01C0381C00E0481370003013300070133800601318 00E0131CA700701338A200301330003813706C13E0380E01C038030300EA00FC16177E96 1B>II82 DI<387FFFF83860381800401308A200801304A300001300 AF3807FFC016177F9619>I<38FF80FE383C0038001C1310A26C1320A26C1340A3380380 80A213C100011300A2EA00E2A213F61374A21338A3131017177F961A>86 D<38FF83FC381F01E0380E00807EEB8100EA0382EA01C213E4EA00E81378A21338137C13 5E138EEA0187EB0780EA0203380601C0000413E0EA0C00001C13F038FF03FE17177F961A >88 D<12FCA212C0B3AB12FCA206217D980A>91 D<12FCA2120CB3AB12FCA2062180980A >93 D97 D<12FC121CA813F8EA1F06EA1C031480130114C0A4148013031400 EA1B0EEA10F81217809614>II<137E130EA8EA07CEEA1C3EEA300E1270126012E0A412 601270EA301EEA182E3807CFC012177F9614>IIII<12FC121CA8137CEA1D8EEA1E07121CAA38FF9FE01317809614>I<121812 3CA212181200A5127C121CAC12FF081780960A>I<1203EA0780A2EA0300C7FCA5EA1F80 1203AF1243EAE30012E7127C091D82960B>I<12FC121CA8EB3F80EB1C00131813205B13 C0EA1FE0EA1CF0137013787F7FA238FF3FC01217809613>I<12FC121CB3A3EAFF800917 80960A>I<38FC7C1F391D8E6380391E0781C0001C1301AA39FF9FE7F81D0E808D1E>IIIII< EAFCF0EA1D38121EEA1C101300A9EAFF800D0E808D0E>II<1208A31218 A21238EAFF80EA3800A71340A4EA1C80EA0F000A147F930E>III<38FCFE7C383838381410381C3C20A2134C380E4E40A2138638 078780A2130300031300A2160E7F8D19>IIIII E /Fp 1 4 df<120CA2EACCC012EDEA 7F80EA0C00EA7F80EAEDC012CCEA0C00A20A0B7D8B10>3 D E /Fq 10 58 df<120FEA30C0EA6060A2EA4020EAC030A9EA4020EA6060A2EA30C0EA0F000C13 7E9211>48 D<120C121C12EC120CAFEAFFC00A137D9211>I<121FEA60C01360EAF07013 301260EA0070A2136013C012011380EA02005AEA08101210EA2020EA7FE012FF0C137E92 11>II<136013E0A2EA016012021206120C1208121012 20126012C0EAFFFCEA0060A5EA03FC0E137F9211>III<1240EA7FFC13F8EA401012801320EA00401380EA0100 A25A12021206A2120EA512040E147E9311>II< 120FEA3080EA6040EA4060EAC0201330A31240EA6070EA30B0EA0F30120013201360EAE0 401380EA4100123E0C137E9211>I E /Fr 76 124 df11 D<137E3801C180EA0301380703C0120EEB018090C7FCA5B512C0EA0E01B0387F87F8151D 809C17>II< 90383F07E03901C09C18380380F0D80701133C000E13E00100131892C7FCA5B612FC390E 00E01CB03A7FC7FCFF80211D809C23>I34 D<126012F012F812681208A31210A212201240 1280050C7C9C0C>39 D<13401380EA0100120212065AA25AA25AA212701260A312E0AC12 60A312701230A27EA27EA27E12027EEA008013400A2A7D9E10>I<7E12407E7E12187EA2 7EA27EA213801201A313C0AC1380A312031300A21206A25AA25A12105A5A5A0A2A7E9E10 >I<1306ADB612E0A2D80006C7FCAD1B1C7E9720>43 D<126012F0A212701210A41220A2 12401280040C7C830C>II<126012F0A2126004047C830C>I48 D<12035A123F12C71207B3A4EA0F80EAFFF80D1C7C9B 15>III<13 0CA2131C133CA2135C13DC139CEA011C120312021204120C1208121012301220124012C0 B512C038001C00A73801FFC0121C7F9B15>II<13F0EA030CEA0604EA0C0EEA181E1230130CEA7000A21260EAE3 E0EAE430EAE818EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA1818EA0C30EA 03E0101D7E9B15>I<1240387FFF801400A2EA4002485AA25B485AA25B1360134013C0A2 12015BA21203A41207A66CC7FC111D7E9B15>III<126012F0A212601200AA126012F0 A2126004127C910C>I<126012F0A212601200AA126012F0A212701210A41220A2124012 80041A7C910C>I<1306A3130FA3EB1780A3EB23C0A3EB41E0A3EB80F0A200017FEB0078 EBFFF83803007C0002133CA20006133E0004131EA2000C131F121E39FF80FFF01C1D7F9C 1F>65 DI<90381F8080EBE061380180 1938070007000E13035A14015A00781300A2127000F01400A8007014801278A212386CEB 0100A26C13026C5B380180083800E030EB1FC0191E7E9C1E>IIII<90381F 8080EBE0613801801938070007000E13035A14015A00781300A2127000F01400A6ECFFF0 EC0F80007013071278A212387EA27E6C130B380180113800E06090381F80001C1E7E9C21 >I<39FFF3FFC0390F003C00ACEBFFFCEB003CAD39FFF3FFC01A1C7E9B1F>III76 DII< EB3F80EBE0E03803803848487E000E7F487F003C148000381303007814C0A20070130100 F014E0A8007014C000781303A200381480003C1307001C14006C130E6C5B6C6C5A3800E0 E0EB3F801B1E7E9C20>II82 D<3807E080EA1C19EA3005EA7003EA600112E01300A36C13007E127CEA7FC0EA 3FF8EA1FFEEA07FFC61380130FEB07C0130313011280A300C01380A238E00300EAD002EA CC0CEA83F8121E7E9C17>I<007FB512C038700F010060130000401440A200C014201280 A300001400B1497E3803FFFC1B1C7F9B1E>I<39FFF07FC0390F000E001404B3A26C5B13 8000035B12016C6C5AEB70C0011FC7FC1A1D7E9B1F>I<39FFE00FF0391F0003C06CEB01 8015006D5A00071302A26C6C5AA36C6C5AA213F000005BA2EBF830EB7820A26D5AA36D5A A2131F6DC7FCA21306A31C1D7F9B1F>I<3AFFE0FFE0FF3A1F001F003C001E011E13186C 011F1310A3D807801420EC2780A2D803C01440EC43C0A213E00001903881E080A33A00F1 00F100A3017913FA017A137AA2013E137C013C133CA301181318A3281D7F9B2B>I<397F F0FFC0390FC03E0038078018EA03C0EBE01000015BEBF06000001340EB7880137D013DC7 FC7F131F7F80A2EB13C0EB23E01321EB41F0EBC0F8EB80783801007C48133C00027F0006 131F001FEB3F8039FFC0FFF01C1C7F9B1F>I<12FEA212C0B3B312FEA207297C9E0C>91 D I<12FEA21206B3B312FEA20729809E0C>I97 D<12FC121CAA137CEA1D86EA1E03381C018014C0130014E0A614C013011480381E0300EA 1906EA10F8131D7F9C17>II<133F1307AAEA03E7EA0C17EA180F487E12 70126012E0A61260127012306C5AEA0C373807C7E0131D7E9C17>II<13F8EA018CEA071E1206EA0E0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C 0D>II<12FC121CAA137C1387EA1D03001E1380121CAD38FF9FF0141D 7F9C17>I<1218123CA21218C7FCA712FC121CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA 00C01300A7EA0FE01200B3A21260EAF0C012F1EA6180EA3E000B25839C0D>I<12FC121C AAEB3FC0EB0F00130C13085B5B5B13E0121DEA1E70EA1C781338133C131C7F130F148038 FF9FE0131D7F9C16>I<12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C83883839 1D019018001EEBE01C001C13C0AD3AFF8FF8FF8021127F9124>IIIIIII<1204A4120CA212 1C123CEAFFE0EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD 1307120CEA0E1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A26C 5AA3EA0388A213D8EA01D0A2EA00E0A3134013127F9116>I<39FF3FCFE0393C0F038038 1C07011500130B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB80 30000013201B127F911E>I<387F8FF0380F03801400EA0702EA0384EA01C813D8EA00F0 1370137813F8139CEA010E1202EA060738040380381E07C038FF0FF81512809116>I<38 FF07E0383C0380381C0100A2EA0E02A26C5AA3EA0388A213D8EA01D0A2EA00E0A31340A2 5BA212F000F1C7FC12F31266123C131A7F9116>I II E /Fs 40 122 df<49B4FC011F13C090387F81E0EBFC013901 F807F01203EA07F0A4EC01C091C8FCA3EC3FF8B6FCA33807F003B3A33A7FFF3FFF80A321 2A7FA925>12 D<130E131E137EEA07FE12FFA212F81200B3AB387FFFFEA317277BA622> 49 DII<140E141E143E147E14 FEA213011303EB077E130EA2131C1338137013E0A2EA01C0EA0380EA0700120EA25A5A5A 5AB612F8A3C7EAFE00A890387FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C 5C14C091C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215 E0A21218127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C61380 1B277DA622>II<1238123E003FB512F0A34814E015C0158015003870000EA25C485B5C5CEA 00015C495A130791C7FC5B5B131E133EA2137E137CA213FCA41201A76C5A13701C297CA8 22>I65 D<91387FE003903907FFFC07 011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A16 0F485A1607127FA290C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C 14786CB4EB01F090397FF007C0011FB512800107EBFE009038007FF028297CA831>67 DIII<91387FE003903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FF D801FC7F484880484880484880485A82485A82127FA290CAFC5AA892B512F87E7F030013 00123FA26C7EA26C7E6C7E6C7E6C7E6CB45B90387FF007011FB5129F0107EBFE0F903900 7FF0032D297CA835>I73 D82 D<01FF13C0000313E1000F13F9381F80FF383F003F 003E130F481307A200FC1303A214017EA26C90C7FC13C0EA7FFCEBFFE06C13F86C13FE80 000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E01303A46C14E0A26C13076C 14C0B4EB0F80EBE01F00E3B5120000E113FC38C01FF01C297CA825>I87 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801FC3FEA 0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803F8031E1B7E9A21 >97 DIIIII<90387F80F03901FFE3 F83907C0FE1C390F807C7C381F003E151048EB3F00A66C133EA26C6C5A6C6C5A3805FFE0 380C7F8048C8FC121CA2121E381FFFF814FF6C14C06C14E06C14F0120F383E000748EB01 F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB5120038007FF01E287E9A22>I< EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EBE80701F813F013F0A213E0B0 39FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0A3EA1FC0EA0F80EA0700C7FC A7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I107 DI<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80FC49038F101FC9039 C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B7D9A38>I<38FFC0 7E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE3FFFA320 1B7D9A25>II<38FFE1FE9038E7FF809038FE0FE0390FF803F09038F001F8 01E013FC140015FEA2157FA8157E15FEA215FC140101F013F89038F803F09038FC0FE090 38EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FFC3E0EBC7F8EBCC7C38 0FD8FE13D0A213F0EBE07C1400B0B5FCA3171B7E9A1B>114 D<3803FE30380FFFF0EA3E 03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6FC EB07FC130000E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B> I<1370A413F0A312011203A21207381FFFE0B5FCA23807F000AD1470A7000313E03801F8 C0EA00FFEB3F0014267FA51A>I<39FFE07FF0A3000F1307B2140FA2000713173903F067 FF3801FFC738007F87201B7D9A25>I<3BFFFC7FFC1FFCA33B0FE00FE001C02607F007EB 0380A201F8EBF0070003160015F82601FC0F130EA29039FE1FFC1E0000011C131C15FE90 39FF387E3C017F1438EC787F6D486C5AA29138E01FF0011F5CA26D486C5AA36D486C5AA2 2E1B7F9A31>119 D<39FFFC1FFEA33907F00780D803F813006C6C5AEBFE1E00005BEB7F 78EB3FF85C6D5A130F6D7E80130F497EEB3DFEEB38FFEB787F9038F03F80D801E013C039 03C01FE0EB800F39FFF03FFFA3201B7F9A23>I<39FFFE07FFA33907F000E0A2EBF80100 0314C0A23901FC0380A2EBFE07000014006D5AEB7F0EA2EB3F9CA214FC6D5AA26D5AA213 075CA26D5AA25CA21307003890C7FC127CEAFE0EA25B5BEA7C70EA3FE0EA0F8020277F9A 23>I E /Ft 14 123 df97 D99 D II<13F338038B8038060700120E120C121CEA380EA4EA301CA3EA183C5BEA 07B8EA0038A25B1260EAE0E0EAC1C0007FC7FC11177E8F12>103 D<1203120712061200A61238124C124E128E129CA2121C1238A212701272A212E212E412 64123808197C980C>105 D<121F1207A3120EA4121CA41238A41270A412E4A412E81230 081A7D990A>108 D110 DII115 D<1206120EA45AA2EAFFC0EA1C005AA45AA412E1A312 E212E412380A177C960D>II122 D E /Fu 54 124 df<13FCEA0182EA0703EA0607EA0E0290C7FCA5B5FCEA0E07AE387F0F E0131A809915>12 D<90387E1F803901C17040390703C0600006EB80E0000E14401500A5 B612E0380E0380AE397F8FE3FC1E1A809920>14 D<1380EA010012025A120C120812185A A35AA412E0AA1260A47EA37E1208120C12047E7EEA008009267D9B0F>40 D<7E12407E7E12181208120C7EA37EA41380AA1300A41206A35A1208121812105A5A5A09 267E9B0F>I<126012F0A212701210A31220A212401280040B7D830B>44 DI<126012F0A2126004047D830B>I50 DI<1330A2137013F0A2EA0170120312021204120C12081210123012 20124012C0B5FCEA0070A6EA07FF10187F9713>I<1240EA7FFE13FCA2EA4008EA8010A2 1320EA0040A213801201A213005AA45AA612020F197E9813>55 D<126012F0A212601200 A8126012F0A2126004107D8F0B>58 D<126012F0A212601200A8126012F0A212701210A3 1220A21240128004177D8F0B>I<130CA3131EA2133F1327A2EB4380A3EB81C0A348C67E A213FF38020070A20006137800041338A2487FA2001C131EB4EBFFC01A1A7F991D>65 D67 DII71 D<38FFE7FF380E0070AB380FFFF0380E0070AC38FFE7FF181A7E991D>II<39FFE07F80390E001E00141814105C5C5C49C7FC13025B5B 131C132E134E1387380F0380120E6D7E6D7EA21470A28080143E39FFE0FF80191A7E991E >75 DI80 D82 DI<007FB5FC38701C0700401301A200C01480008013 00A300001400B13803FFE0191A7F991C>I<3AFF83FF0FF03A3C007801C0001CEC0080A2 6CEC0100A2149C6C1402A2EB010EA2D803815BEB8207A2D801C25B9038C40388A2D800E4 1390A29038E801D0017813E0A2EB7000A201305B01201340241A7F9927>87 D<12FEA212C0B3AF12FEA207257D9B0B>91 D<12FEA21206B3AF12FEA20725809B0B>93 D97 D<12FC121CA913F8EA1F0EEA1E07381C0380130114C0A6EB038014 00EA1E07EA1B0CEA10F0121A7F9915>II<137E130EA9EA03CEEA0C3EEA380E12301270 12E0A612601270EA381EEA1C2E3807CFC0121A7F9915>IIII<12FC121CA913F8EA1D0CEA1E0EA2121CAB38FF9F C0121A7F9915>I<1218123CA21218C7FCA612FC121CAEEAFF80091A80990A>II<12FC121C A9EB3F80EB1E00131813105B5BEA1DC0EA1FE0121C1370137813387F131E131F38FF3FC0 121A7F9914>I<12FC121CB3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0 A2001C1301AB39FF9FE7F81D107F8F20>IIII114 DI<1204A3120CA2121C123CEAFFC0EA 1C00A81320A5EA0E40EA03800B177F960F>II<38FF1F80383C0600EA1C04A2EA1E0CEA0E08A26C5AA21390EA03A0A2EA01 C0A36C5A11107F8F14>I<39FF3F9F80393C0E070000381306381C16041317001E130C38 0E23081488000F13983807419014D03803C1E01380A200015BEB004019107F8F1C>I<38 FF3F80383C1C00EA1C18EA0E106C5A13606C5A12017F1203EA0270487E1208EA181CEA38 1E38FC3FC012107F8F14>I<38FF1F80383C0600EA1C04A2EA1E0CEA0E08A26C5AA21390 EA03A0A2EA01C0A36C5AA248C7FCA212E112E212E4127811177F8F14>I123 D E /Fv 16 118 df<1303497EA3497EA2EB1BE0A3EB31F0A2EB60F8A2EBE0 FCEBC07CA248487EEBFFFE487FEB001FA20006EB0F80A2000E14C039FFC07FFCA21E1A7F 9921>65 D76 D80 D97 D<12FEA2121EA7137F381FC3C0EB00E0001E13F01478 A2147CA51478A214F0001F13E0381D83C038187F00161A7F9919>II< EA03F0EA0E1C487EEA3C071278148012F8A2B5FC00F8C7FCA21278A2383C0180381C0300 EA0E06EA03FC11117F9014>101 D<3807E3C0381C3CE0EA381C38781EC01400A4EA381C 6C5AEA27E00020C7FCA21230EA3FFE381FFF8014C0EA700338E000E0A4387001C0383C07 803807FC0013197F9016>103 D<123C127EA4123CC7FCA4127EA2121EADEAFF80A2091B 7F9A0D>105 D<39FE1F01F0903863C63C391E81C81C391F01F01EA2001E13E0AA3AFFCF FCFFC0A222117F9025>109 DII114 DI<1206A4120EA2121EEA3FF0 12FFEA1E00A81318A5EA0F30EA03E00D187F9711>I<38FE0FE0A2EA1E01AB1303A2380F 05FCEA03F916117F9019>I E /Fw 1 4 df<1202A3EAC218EAF278EA3AE0EA0F80A2EA3A E0EAF278EAC218EA0200A30D0E7E8E12>3 D E /Fx 34 122 df<127012F812FCA21274 1204A41208A21210A212201240060F7C840E>44 D<127012F8A3127005057C840E>46 D<13801203120F12F31203B3A9EA07C0EAFFFE0F217CA018>49 D<13021306130EA2131E A2132E134EA2138EA2EA010E1202A21204A212081210A21220A212401280B512F838000E 00A7131F3801FFF015217FA018>52 D<00101380381E0700EA1FFF5B13F8EA13E00010C7 FCA613F8EA130EEA1407381803801210380001C0A214E0A4127012F0A200E013C01280EA 4003148038200700EA1006EA0C1CEA03F013227EA018>I57 D<497EA3497EA3EB05E0A2EB0DF01308A2497E1478A2497EA3497EA3497EA290B5FC3901 000780A24814C000021303A24814E01401A2000CEB00F0A2003EEB01F839FF800FFF2023 7EA225>65 DI<903807E0109038381830EBE0063901C00170390380 00F048C7FC000E1470121E001C1430123CA2007C14101278A200F81400A812781510127C 123CA2001C1420121E000E14407E6C6C13803901C001003800E002EB381CEB07E01C247D A223>II<9038 07F00890383C0C18EBE0023901C001B839038000F848C71278481438121E15185AA2007C 14081278A200F81400A7EC1FFF0078EB00F81578127C123CA27EA27E7E6C6C13B86C7E39 00E0031890383C0C08903807F00020247DA226>71 D80 D<3803F020380C0C60EA1802383001E0EA70000060136012E0A21420A36C1300A212 78127FEA3FF0EA1FFE6C7E0003138038003FC0EB07E01301EB00F0A214707EA46C1360A2 6C13C07E38C8018038C60700EA81FC14247DA21B>83 D<39FFFC07FF390FC000F86C4813 701520B3A5000314407FA2000114806C7E9038600100EB3006EB1C08EB03F020237EA125 >85 D<3BFFF03FFC03FE3B1F8007E000F86C486C4813701720A26C6C6C6C1340A32703C0 02F01380A33B01E004780100A33A00F0083C02A39039F8183E06903978101E04A2137C90 393C200F08A390391E400790A390390F8003E0A36D486C5AA36D5C010213002F237FA132 >87 D97 D<120E12FE121E120EAB131FEB 61C0EB8060380F0030000E1338143C141C141EA7141C143C1438000F1370380C8060EB41 C038083F0017237FA21B>II<14E0130F130113 00ABEA01F8EA0704EA0C02EA1C01EA38001278127012F0A7127012781238EA1801EA0C02 38070CF03801F0FE17237EA21B>II<133C13C6EA018F1203130FEA0700A9EAFFF8EA0700B21380EA7FF8102380A20F>I< 121C123EA3121CC7FCA8120E12FE121E120EB1EAFFC00A227FA10E>105 D<120E12FE121E120EB3ADEAFFE00B237FA20E>108 D<390E1FC07F3AFE60E183803A1E 807201C03A0F003C00E0A2000E1338AF3AFFE3FF8FFE27157F942A>I<380E1F8038FE60 C0381E80E0380F0070A2120EAF38FFE7FF18157F941B>III< EA0E3CEAFE46EA1E8FEA0F0F13061300120EAD120FEAFFF010157F9413>114 DI<1202A41206A3120E121E12 3EEAFFF8EA0E00AB1304A6EA07081203EA01F00E1F7F9E13>I<000E137038FE07F0EA1E 00000E1370AD14F0A238060170380382783800FC7F18157F941B>I<38FFC1FE381E0078 000E13301420A26C1340A238038080A33801C100A2EA00E2A31374A21338A3131017157F 941A>I<39FF8FF8FF391E01E03C001CEBC018120EECE010A239070260201470A2390384 30401438A23901C81880141CA23900F00D00140FA2EB6006A320157F9423>I<38FFC1FE 381E0078000E13301420A26C1340A238038080A33801C100A2EA00E2A31374A21338A313 10A25BA35B12F05B12F10043C7FC123C171F7F941A>121 D E /Fy 20 124 df50 D<1403A34A7EA24A7EA3EC17E01413A2EC23F01421A2EC40F8A3EC807CA2 0101137EEC003EA20102133F81A2496D7EA3496D7EA2011880011FB5FCA29039200003F0 1501A249801500A249147CA348C87EA248153F825AD81F80EC3F80D8FFE0903803FFFCA2 2E327EB132>65 D<91383FE001903901FFF803903807F01E90391F800307013EC7128701 78144F49142F4848141F4848140F485A000F150790C8FC481503121E123E003C1501127C A30078150012F8AB1278127C1601A2123C123E121E001F15027E6D1406000715046C6C14 086C7E6C6C141001781420013E14C090391F800380903907F00F00903801FFFC9038003F E028337CB130>67 D69 D71 D77 D82 D<90387F80203801FFE03907C07860380F001C001EEB 06E048130300381301007813001270156012F0A21520A37E1500127C127E7E13C0EA1FF8 6CB47E6C13F86C7FC613FF010F1380010013C0EC1FE01407EC03F01401140015F8A26C14 78A57E15706C14F015E07E6CEB01C000ECEB038000C7EB070038C1F01E38807FFCEB0FF0 1D337CB125>I86 D<13FE380303C0380C00E00010137080003C133C003E13 1C141EA21208C7FCA3EB0FFEEBFC1EEA03E0EA0F80EA1F00123E123C127C481404A3143E A21278007C135E6CEB8F08390F0307F03903FC03E01E1F7D9E21>97 D99 D101 D<120FEA1F80A4EA0F00C7FCABEA078012FFA2120F1207B3A6 EA0FC0EAFFF8A20D307EAF12>105 D108 D<380780FE39FF83078090388C03C0390F9001E0EA07A06E7E13C0A2 5BB3A2486C487E3AFFFC1FFF80A2211F7E9E25>110 D I<380783E038FF8C18EB907C120FEA07A0EBC0381400A35BB3487EEAFFFEA2161F7E9E19 >114 D<3801FC10380E0330381800F048137048133012E01410A37E6C1300127EEA3FF0 6CB4FC6C13C0000313E038003FF0EB01F813006C133CA2141C7EA27E14186C1338143000 CC136038C301C03880FE00161F7E9E1A>I<1340A513C0A31201A212031207120F381FFF E0B5FC3803C000B01410A80001132013E000001340EB78C0EB1F00142C7FAB19>I123 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 284 369 a Fy(RE2C)21 b({)h(A)f(More)h(V)-6 b(ersatile)23 b(Scanner)e(Generator)472 490 y Fx(P)o(eter)15 b(Bum)o(bulis)209 b(Donald)17 b(D.)f(Co)o(w)o(an)272 548 y(Computer)g(Science)e (Departmen)o(t)h(and)i(Computer)e(Systems)g(Group)692 606 y(Univ)o(ersit)o(y)e(of)k(W)l(aterlo)q(o)1175 588 y Fw(\003)782 704 y Fx(April)e(15,)i(1994)849 895 y Fv(Abstract)120 960 y Fu(It)f(is)g(usually)j(claimed)f(that)e(lexical)j(analysis)f (routines)g(are)e(still)i(co)q(ded)f(b)o(y)f(hand,)i(despite)g(the)e (widespread)62 1005 y(a)o(v)n(ailabil)q(i)q(t)o(y)h(of)d(scanner)i (generators,)f(for)f(e\016ciency)i(reasons.)23 b(While)16 b(e\016ciency)g(is)f(a)f(consideration)q(,)j(there)e(exist)62 1051 y(freely)k(a)o(v)n(ailable)j(scanner)d(generators)g(suc)o(h)g(as)g (GLA)f([7])g(that)g(can)h(generate)g(scanners)h(that)e(are)h(faster)f (than)62 1097 y(most)g(hand-co)q(ded)h(ones.)30 b(Ho)o(w)o(ev)o(er,)18 b(most)g(generated)g(scanners)g(are)g(tailored)h(for)e(a)g(particular)j (en)o(vironmen)o(t,)62 1142 y(and)c(retargetting)h(these)e(scanners)i (to)e(other)h(en)o(vironmen)o(ts,)h(if)f(p)q(ossible,)h(is)f(usually)i (complex)f(enough)f(to)f(mak)o(e)62 1188 y(a)h(hand-co)q(ded)h(scanner) f(more)g(app)q(ealing.)26 b(In)16 b(this)g(pap)q(er)g(w)o(e)f(describ)q (e)i(RE2C,)e(a)g(scanner)i(generator)f(that)f(not)62 1234 y(only)e(generates)f(scanners)h(whic)o(h)f(are)g(faster)f(\(and)h (usually)i(smaller\))f(than)f(those)g(pro)q(duced)h(b)o(y)f(an)o(y)g (other)g(scanner)62 1279 y(generator)i(kno)o(wn)g(to)f(the)g(authors,)g (includin)q(g)j(GLA,)c(but)i(also)g(adapt)f(easily)i(to)e(an)o(y)h(en)o (vironmen)o(t.)62 1371 y(Categories)19 b(and)f(Sub)r(ject)g (Descriptors:)27 b(D.3.2)17 b([)p Fv(Programming)j(Languages)p Fu(]:)25 b(Language)19 b(Classi\014cations)i({)62 1416 y Ft(sp)n(e)n(cialize)n(d)11 b(applic)n(atio)o(n)g(languages)o Fu(;)f(D.3.4)j([)p Fv(Programming)h(Languages)p Fu(]:)j(Pro)q(cessors) 62 1508 y(General)e(T)m(erms:)h(Algorithms,)e(Languages,)h(P)o (erformance)62 1599 y(Additional)h(Key)d(W)m(ords)h(and)g(Phrases:)j (Lexical)e(analysis,)g(scanner)f(generator)-42 1736 y Fs(1)67 b(In)n(tro)r(duction)-42 1827 y Fr(Lexical)14 b(analysis)g(routines)h(are)g(still)f(often)g(co)q(ded)i(b)o(y)e(hand)g (despite)i(the)f(widespread)g(a)o(v)n(ailabilit)o(y)c(of)j(scanner)i (gener-)-42 1877 y(ators.)k(F)m(or)14 b(example,)e(while)i(most)f(Unix) h(systems)g(ha)o(v)o(e)g(a)g(scanner)i(generator)f(installed)f(\(t)o (ypically)f(LEX)h([15)o(])g(or)g(\015ex)-42 1927 y([16]\),)d(few)i (Unix)f(applications)f(use)i(a)f(mec)o(hanically)e(generated)k (scanner.)19 b(One)13 b(commonly)c(cited)k(reason)g(for)e(not)i(using) -42 1977 y(LEX-generated)k(scanners)f(is)f(p)q(erformance:)20 b(they)15 b(can)g(b)q(e)g(10)g(times)f(slo)o(w)o(er)g(than)h(equiv)n (alen)o(t)f(hand-co)q(ded)i(scanners)-42 2026 y([13].)h(As)d(a)g (result,)g(there)h(has)f(b)q(een)h(considerable)f(researc)o(h)i(in)o (to)d(impro)o(ving)e(the)j(p)q(erformance)g(of)f(mec)o(hanically)e (gen-)-42 2076 y(erated)17 b(scanners)f([16)o(,)f(7,)f(9].)21 b(GLA)15 b([7)o(],)g(one)g(suc)o(h)h(scanner)g(generator,)g(can)f(pro)q (duce)h(scanners)h(that)e(are)h(faster)f(than)-42 2126 y(most)h(hand-co)q(ded)h(scanners.)29 b(Ho)o(w)o(ev)o(er,)17 b(the)h(use)f(of)f(hand-co)q(ded)i(scanners)g(is)f(still)f(prev)n(alen) o(t.)27 b(One)17 b(p)q(ossibilit)o(y)f(is)-42 2176 y(that)e(this)g(is)g (due)h(to)e(the)i(di\016cult)o(y)e(of)g(adapting)g(the)h(generated)i (scanners)f(to)f(sp)q(eci\014c)h(applications.)21 2226 y(Most)g(scanner)g(generators)h(are)f(tailored)f(to)g(a)h(particular)f (en)o(vironmen)o(t.)19 b(In)14 b(fact,)g(the)i(trend)f(in)f(recen)o(t)i (y)o(ears)f(has)-42 2276 y(b)q(een)i(to)e(in)o(tegrate)g(scanner)i (generators)f(with)f(compiler)f(to)q(olkits.)21 b(F)m(or)15 b(example,)f(GLA)h(is)g(part)g(of)g(the)g(Eli)g(compiler)-42 2325 y(construction)k(system)f([8)o(],)g(and)g(Rex)f([9])g(is)h(part)g (of)f(the)h(GMD)f(T)m(o)q(olb)q(o)o(x)g(for)g(Compiler)f(Construction) 1688 2310 y Fq(1)1707 2325 y Fr(.)30 b(Scanners)p -42 2362 780 2 v 4 2389 a Fp(\003)22 2401 y Fo(P)o(ermission)9 b(to)j(cop)o(y)e(without)h(fee)g(all)g(or)g(part)g(of)g(this)g (material)e(is)j(gran)o(ted)d(pro)o(vided)h(that)g(the)h(copies)f(are)h (not)g(made)f(or)i(distributed)-42 2440 y(for)g(direct)e(commercial)f (adv)n(an)o(tage,)g(the)i(A)o(CM)j(cop)o(yrigh)o(t)9 b(notice)i(and)g(the)g(title)g(of)h(the)f(publication)e(and)i(its)g (date)g(app)q(ear,)f(and)h(notice)g(is)-42 2480 y(giv)o(en)g(that)g (cop)o(ying)f(is)i(b)o(y)f(p)q(ermission)e(of)j(the)f(Asso)q(ciation)f (for)h(Computing)f(Mac)o(hinery)m(.)15 b(T)m(o)d(cop)o(y)f(otherwise,)f (or)i(to)f(republish,)f(requires)-42 2519 y(a)k(fee)f(and/or)f(sp)q (eci\014c)g(p)q(ermission.)19 b(Cop)o(yrigh)o(t)12 b(1994)h(b)o(y)g (the)g(Asso)q(ciation)f(for)h(Computing)e(Mac)o(hinery)m(,)h(Inc.)22 b(T)m(o)14 b(app)q(ear)e(in)h(LOPLAS)-42 2558 y(2\(1{4\).)5 2586 y Fn(1)22 2598 y Fo(Also)f(kno)o(wn)e(as)i(Co)q(c)o(ktail)e (\(Compiler-Compi)o(ler-)o(T)m(o)q(olb)q(o)n(x)f(Karlsruhe\).)923 2748 y Fr(1)p eop %%Page: 2 2 2 1 bop -42 195 a Fr(generated)21 b(b)o(y)d(these)i(to)q(ols)f(assume)f (the)i(existence)g(of)e(a)h(library)f(of)g(supp)q(ort)h(mo)q(dules)f (for)h(error)g(handling,)g(input)-42 245 y(bu\013ering,)c(sym)o(b)q(ol) d(table)i(managemen)o(t,)d(and)j(similar)e(functions.)18 b(While)c(these)h(supp)q(ort)g(mo)q(dules)e(simplify)f(the)i(task)-42 295 y(of)c(implemen)o(ting)c(a)k(compiler)f(or)h(in)o(terpreter,)i (they)e(mak)o(e)f(adaptation)g(to)h(other)g(purp)q(oses)i(more)d (di\016cult.)16 b(Adaptation)-42 345 y(to)e(other)h(en)o(vironmen)o(ts) e(is)h(also)f(made)g(more)g(di\016cult)g(b)q(ecause)j(often)e (assumptions)f(are)i(made)d(ab)q(out)i(the)h(input)f(and)-42 394 y(restrictions)j(are)e(placed)g(on)g(tok)o(ens)g(in)g(order)g(to)g (ac)o(hiev)o(e)g(b)q(etter)i(p)q(erformance.)k(RE2C)14 b(go)q(es)i(to)f(the)g(other)h(extreme:)-42 444 y(it)e(concen)o(trates) i(solely)d(on)h(generating)g(co)q(de)h(for)e(matc)o(hing)f(regular)i (expressions.)21 494 y(RE2C)f(is)h(successful)h(at)f(its)g(task:)k(not) 13 b(only)g(do)q(es)i(it)e(pro)q(duce)i(scanners)h(whic)o(h)e(are)g (faster)g(than)g(those)g(created)i(b)o(y)-42 544 y(other)g(scanner)h (generators)f(but,)f(surprisingly)m(,)f(they)i(are)g(usually)e(smaller) f(as)j(w)o(ell.)21 b(F)m(urther,)15 b(RE2C)g(do)q(es)h(not)f(mak)o(e) -42 594 y(an)o(y)i(assumptions)e(ab)q(out)h(the)h(input)g(or)f(place)h (an)o(y)f(restrictions)i(on)e(tok)o(ens.)26 b(T)m(o)16 b(a)g(large)g(degree,)i(the)g(p)q(erformance)-42 643 y(and)d(\015exibilit)o(y)d(of)i(RE2C-generated)h(scanners)h(is)f(due)f (to)h(a)f(no)o(v)o(el)f(metho)q(d)h(for)g(determining)f(when)i(to)f (re\014ll)g(a)g(bu\013er)-42 693 y(whic)o(h)g(a)o(v)o(oids)f(the)i (complications)c(in)o(tro)q(duced)k(b)o(y)f(the)g(sen)o(tinel)h(metho)q (d)e([1)o(].)21 743 y(The)e(follo)o(wing)d(sections)j(of)f(this)h(pap)q (er)g(describ)q(e)i(RE2C)d(scanner)i(sp)q(eci\014cations,)f(discuss)h (ho)o(w)e(these)i(sp)q(eci\014cations)-42 793 y(are)21 b(con)o(v)o(erted)g(in)o(to)f(scanners,)j(and)d(giv)o(e)f(p)q (erformance)h(results)h(ac)o(hiev)o(ed)g(b)o(y)f(our)g(implemen)o (tatio)o(n)d(\(including)j(a)-42 843 y(comparison)13 b(with)g(GLA\).)-42 980 y Fs(2)67 b(Scanner)24 b(Sp)r(eci\014cations) -42 1071 y Fr(An)14 b(RE2C)g(source)h(\014le)f(consists)h(of)e(C[14)o (])g(or)h(C++[4])842 1056 y Fq(2)874 1071 y Fr(co)q(de)g(in)o(terlea)o (v)o(ed)g(with)g(commen)o(ts)e(of)h(the)i(form)d Fm(/*!re2c)20 b Fl(:)7 b(:)g(:)-42 1121 y Fm(*/)15 b Fr(con)o(taining)f(scanner)i(sp) q(eci\014cations.)23 b(These)16 b(sp)q(eci\014cations)g(are)g(replaced) g(with)e(generated)j(co)q(de)e(that)g(is)g(in)o(v)o(ok)o(ed)-42 1170 y(simply)d(b)o(y)i(\\falling)d(in)o(to")i(the)i(commen)o(ts)d(as)i (illustrated)g(in)f(Figure)h(1)g(and)f(in)h(App)q(endix)g(A)1481 1155 y Fq(3)1500 1170 y Fr(.)469 1254 y Fm(#define)20 b(YYCURSOR)42 b(p)469 1304 y(unsigned)20 b(char)h(*scan)p 887 1304 14 2 v 14 w(uint\(unsigned)e(char)i(*p\))p Fk(f)469 1353 y Fm(/*!re2c)556 1403 y([0-9]+)195 b Fk(f)p Fm(return)20 b(p;)p Fk(g)556 1453 y Fm([\\)o(000-\\)o(377])87 b Fk(f)p Fm(return)20 b(NULL;)p Fk(g)469 1503 y Fm(*/)469 1553 y Fk(g)681 1634 y Fr(Figure)14 b(1:)k(A)c(simple)f(scanner.)21 1733 y(A)i(scanner)h(sp)q(eci\014cation)f(tak)o(es)g(the)g(form)e(of)h (a)h(list)f(of)g(rules,)h(eac)o(h)g(rule)g(consisting)g(of)f(a)g (regular)h(expression)h([10)o(])-42 1783 y(and)g(an)g(action)f (expressed)k(in)c(executable)i(co)q(de.)25 b(Figure)16 b(2)g(illustrates)g(a)g(trivial)e(RE2C)h(scanner)j(sp)q(eci\014cation)e (that)-42 1833 y(will)c(b)q(e)h(used)h(as)f(an)f(example)g(throughout)g (this)h(pap)q(er.)36 b(Eac)o(h)14 b(call)d(to)i(the)g(co)q(de)h (generated)g(from)d(a)h(sp)q(eci\014cation)i(will)416 1926 y Fm("print")201 b Fk(f)22 b Fm(return)e(PRINT;)49 b(/*)21 b(rule)g(5)h(*/)f Fk(g)416 1975 y Fm([a-z])o(+)224 b Fk(f)22 b Fm(return)e(ID;)115 b(/*)21 b(rule)g(4)h(*/)f Fk(g)416 2025 y Fm([0-9])o(+)224 b Fk(f)22 b Fm(return)e(DEC;)93 b(/*)21 b(rule)g(3)h(*/)f Fk(g)416 2075 y Fm("0x")g([0-9a-f])n(+)50 b Fk(f)22 b Fm(return)e(HEX;)93 b(/*)21 b(rule)g(2)h(*/)f Fk(g)416 2125 y Fm([\\000-\\)o(377])114 b Fk(f)22 b Fm(return)e(ERR;)93 b(/*)21 b(rule)g(1)h(*/)f Fk(g)108 2214 y Fr(Figure)15 b(2:)20 b(Sample)13 b(sp)q(eci\014cation.)22 b Fm([)p Fl(a)p Fm(-)p Fl(b)p Fm(])14 b Fr(matc)o(hes)h(an)o(y)f(c)o(haracter)i (b)q(et)o(w)o(een)g Fl(a)f Fr(and)g Fl(b)p Fr(,)f(inclusiv)o(ely)m(.) 108 2264 y(The)i(last)f(rule,)g(for)g(example,)e(will)h(matc)o(h)g(an)o (y)g(eigh)o(t)h(bit)g(c)o(haracter.)23 b(Rules)15 b(are)g(listed)h(in)e (order)i(of)108 2314 y(precedence)q(.)-42 2414 y(\014rst)d(determine)g (the)f(longest)h(p)q(ossible)f(pre\014x)h(of)f(the)h(remaining)d(input) i(that)g(matc)o(hes)g(one)g(of)g(the)h(regular)f(expressions)-42 2463 y(and)i(will)f(then)h(execute)i(the)e(action)g(in)f(the)i(\014rst) g(applicable)e(rule.)p -42 2498 780 2 v 5 2525 a Fn(2)22 2537 y Fo(Retargetting)8 b(RE2C)k(to)f(a)h(di\013eren)o(t)d(language)g (is)i(straigh)o(tforw)o(ard.)5 2564 y Fn(3)22 2576 y Fo(RE2C-generated)e(scanners)g(require)h(no)h(additional)d(supp)q(ort)i (co)q(de.)923 2748 y Fr(2)p eop %%Page: 3 3 3 2 bop 138 1062 a @beginspecial 53 @llx 268 @lly 435 @urx 486 @ury 3820 @rwi @setspecial %%BeginDocument: scanner.eps /AutoFlatness false def % -------------- POSTSCRIPT PROLOG FOR CORELDRAW 3.X ------ % Copyright 1992 Corel Corporation. All rights reserved. /wCorelDict 300 dict def wCorelDict begin/bd{bind def}bind def /ld{load def}bd/xd{exch def}bd/_ null def /$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def /$n _ def/$o 0 def/$fil 0 def/$bkg false def /$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def /$N _ def/$O 0 def/$PF false def/$ctm matrix currentmatrix def /$ptm matrix def/$ttm matrix def/$stm matrix def /$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd /$dsf xd/$sdf false def/$SDF false def/$Scra 0.0 def /$sv 0 def/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld /@np/newpath ld/@sv{/$sv save def}bd/@rs{$sv restore}bd /@ss{exch $Scra add exch load setscreen}bd AutoFlatness{/$cpx ([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n) def /@err1{$cpx print flush newpath}bd/@ifl{dup currentflat exch sub 10 gt {@err1 exit}{currentflat 2 add setflat}ifelse}bd /@fill/fill ld/fill{currentflat{{@fill}stopped{@ifl}{exit}ifelse }bind loop setflat}bd/@eofill/eofill ld/eofill{currentflat{{@eofill} stopped{@ifl}{exit}ifelse}bind loop setflat}bd /@clip/clip ld/clip{currentflat{{@clip}stopped{initclip @ifl}{exit }ifelse}bind loop setflat}bd/@eoclip/eoclip ld /eoclip{currentflat{{@eoclip}stopped{initclip @ifl}{exit}ifelse }bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke} stopped{@ifl}{exit}ifelse}bind loop setflat}bd}if /InRange{3 -1 roll 2 copy le{pop}{exch pop}ifelse 2 copy ge{pop}{exch pop}ifelse}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub 2 div}bd /@lin{exch pop abs 1 exch sub}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd /setcmykcolor where{pop}{/setcmykcolor{4 1 roll 3{3 index add 1 @MN 1 exch sub 3 1 roll}repeat setrgbcolor pop}bd}ifelse/setoverprint{/$op xd}bd /currentoverprint{$op}bd/setsepcolor{1 exch sub setgray}bd /checksepcolor{1 exch sub dup setgray 1 eq exch 1 eq and not}bd /setprocesscolor{ColorSeparationMode 0 eq{setcmykcolor}{ 0 4 $ink sub index exch pop 5 1 roll 4{pop}repeat setsepcolor}ifelse}bd/findcmykcustomcolor{5 array astore}bd /setcustomcolor where{pop}{/setcustomcolor{ColorSeparationMode 0 eq{ exch aload pop pop 4{4 index mul 4 1 roll}repeat 5 -1 roll pop setcmykcolor}{exch aload pop CurrentInkName eq{4 index}{0}ifelse 6 1 roll 5{pop}repeat setsepcolor}ifelse}bd}ifelse/colorimage where{pop}{ /colorimage{pop pop pop pop pop{currentfile $dat readhexstring pop pop} repeat pop}bd}ifelse/@tc{dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd/@scc{1 eq setoverprint dup _ eq{pop setprocesscolor pop}{findcmykcustomcolor exch setcustomcolor}ifelse ColorSeparationMode 0 eq{true}{ currentgray 1 eq currentoverprint and not}ifelse}bd /@sft{/$tx $tllx $pxf add dup $tllx gt{$pwid sub}if def /$ty $tury $pyf sub dup $tury lt{$phei add}if def}bd /@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd /@ep{{cvx exec}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if $phei sub $ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add $llx le{/$in false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl 0 $phei rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 roll 3 index sub translate /$ctm matrix currentmatrix def @ep pop pop pop pop}{pop pop}ifelse @rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{ dup $llx gt{$pwid sub}{exit}ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1 roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul $tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop 0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/@pf{@gs $ctm setmatrix $pm concat @stb eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd /$wid $turx $tllx sub def/$hei $tury $tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc{eofill}if}{$t $c $m $y $k $n $o @scc{ $tllx $tlly translate $wid $hei scale <00> 8 1 false [ 8 0 0 1 0 0 ]{}imagemask /$bkg true def}if}ifelse @gr $wid 0 gt $hei 0 gt and{ $pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd/$tlx $wid $pwid div ceiling 1 add def /$tly $hei $phei div ceiling 1 add def $psx 0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@dlt{ColorSeparationMode 0 eq{ /$dc $toc $tot mul $frc $frt mul dup/$c xd sub $fst 1 sub div def /$dm $tom $tot mul $frm $frt mul dup/$m xd sub $fst 1 sub div def /$dy $toy $tot mul $fry $frt mul dup/$y xd sub $fst 1 sub div def /$dk $tok $tot mul $frk $frt mul dup/$k xd sub $fst 1 sub div def true}{$frt $frc $frm $fry $frk $frn $o @scc dup{/$frk 1 currentgray sub def}{/$frk 0 def}ifelse $tot $toc $tom $toy $tok $ton $o @scc dup{/$tok 1 currentgray sub def}{ /$tok 0 def}ifelse or dup{/$c 0 def/$m 0 def/$y 0 def/$k $frk def /$dc 0 def/$dm 0 def/$dy 0 def/$dk $tok $frk sub $fst 1 sub div def}if }ifelse}bd/@ftl{1 index 4 index sub dup $pad mul dup/$pdw xd 2 mul sub $fst div/$wid xd 2 index sub/$hei xd pop translate $c $m $y $k 4 copy ColorSeparationMode 0 ne {1 exch sub setgray pop pop pop}{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill $pdw 0 translate $fst{4 copy ColorSeparationMode 0 ne {1 exch sub setgray pop pop pop}{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $wid $hei lineto $wid 0 lineto 0 0 lineto fill $wid 0 translate $dk add 4 1 roll $dy add 4 1 roll $dm add 4 1 roll $dc add 4 1 roll}repeat $dk sub 4 1 roll $dy sub 4 1 roll $dm sub 4 1 roll $dc sub 4 1 roll ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} {setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill }bd/@ftr{1 index 4 index sub dup $rox mul/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst div/$wid xd 4 index add $roh add exch 5 index add $row add exch translate pop pop pop pop currentflat dup 5 mul setflat $c $m $y $k 4 copy ColorSeparationMode 0 ne {1 exch sub setgray pop pop pop}{setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill 1.0 $pad 2 mul sub dup scale $fst{4 copy ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} {setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill /$hei $hei $wid sub def $dk add 4 1 roll $dy add 4 1 roll $dm add 4 1 roll $dc add 4 1 roll}repeat pop pop pop pop setflat}bd/@ff{@gs @dlt{$ctm setmatrix eoclip newpath Bbllx Bblly moveto Bbllx Bbury lineto Bburx Bbury lineto Bburx Bblly lineto $fan rotate pathbbox newpath $fty 1 eq{@ftr}{@ftl}ifelse}if @gr @np}bd/@Pf{@sv ColorSeparationMode 0 eq $ink 3 eq or{0 J 0 j [] 0 d $t $c $m $y $k $n $o @scc pop $ctm setmatrix 72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec}{1 setgray eofill}ifelse @rs @np}bd/g{1 exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def }bd/G{1 exch sub/$K xd/$C 0 def/$M 0 def/$Y 0 def/$T 1 def/$N _ def}bd /k{/$k xd/$y xd/$m xd/$c xd/$t 1 def/$n _ def/$fil 0 def}bd /K{/$K xd/$Y xd/$M xd/$C xd/$T 1 def/$N _ def}bd /x{/$t xd/$n xd/$k xd/$y xd/$m xd/$c xd/$fil 0 def}bd /X{/$T xd/$N xd/$K xd/$Y xd/$M xd/$C xd}bd /d/setdash ld/i{dup 0 ne{setflat}{pop}ifelse}bd /j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit ld /w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd /c/curveto ld/C/c ld/v{4 -2 roll 2 copy 6 -2 roll curveto}bd /V/v ld/y{2 copy curveto}bd/Y/y ld/l/lineto ld /L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld /N/newpath ld/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc {eofill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc{ matrix currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/W{eoclip}bd /p{/$pm xd 7{pop}repeat/$pyf xd/$pxf xd/$pn xd /$fil 1 def}bd/P{11{pop}repeat}bd/u{}bd/U{}bd /A{pop}bd/q/@gs ld/Q/@gr ld/E{5 array astore exch cvlit exch def}bd/`{}bd/~{}bd/@{}bd/&{}bd /CorelDrawReencodeVect [ 16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl 16#88/circumflex/perthousand/Scaron/guilsinglleft/OE 16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash 16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis 16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section 16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron 16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered 16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown 16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla 16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis 16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply 16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls 16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla 16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis 16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide 16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis ] def/@cc{currentfile $dat readhexstring pop}bd /@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd /Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq/$vectpat xd/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd /$pn xd}bd/@P{/$fil 3 def/$Psn xd array astore /$Prm xd}bd/@k{/$fil 2 def/$roy xd/$rox xd/$pad xd /$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$tok xd/$toy xd/$tom xd/$toc xd /$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def/$ton _ def/$tot 1 def }bd/@x{/$fil 2 def/$roy xd/$rox xd/$pad xd /$fty xd/$fan xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd/$toc xd /$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd}bd /@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3 index 3 index l clip pop pop pop pop}bd/@i{@sm @gs @ii 6 index 1 ne{/$frg true def pop pop}{1 eq{$T $C $M $Y $K $N $O @scc/$frg xd}{/$frg false def }ifelse 1 eq{@gs $ctm setmatrix $t $c $m $y $k $n $o @scc{eofill}if @gr}if}ifelse/$frg $frg $bkg or def @np/$ury xd/$urx xd/$lly xd/$llx xd /$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string def $frg{$SDF{$SCF $SCA $SCP @ss}if $llx $lly translate $urx $llx sub $ury $lly sub scale $wid $hei abs $bts 1 eq{false}{$bts}ifelse [ $wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load $bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{@cc pop}repeat}ifelse @gr $ctm setmatrix}def/@M{@sv}bd/@N{/@cc{}def 1 eq{12 -1 roll neg 12 1 roll @I}{13 -1 roll neg 13 1 roll @i}ifelse @rs}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd /$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def $llx $lly translate $urx $llx sub $ury $lly sub scale $wid $hei abs $bts [ $wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse] /@cc load false $ncl colorimage @gr $ctm setmatrix}bd /z{exch findfont exch scalefont setfont}bd /ZB{9 dict dup begin 4 1 roll/FontType 3 def /FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{Encoding exch/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}put/Metrics 256 dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup/$char exch/Encoding get 3 index get def dup/Metrics get $char get aload pop setcachedevice begin Encoding exch get CharStrings exch get end exec}def end definefont pop}bd/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3 1 roll put CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup maxlength 2 add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}ifelse}forall pop dup dup/Encoding get 256 array copy dup/$fe xd /Encoding exch put dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type eq{exch pop}{ $fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict dup/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3 index length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3 -1 roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop}bd/@ftx{{currentpoint 3 -1 roll (0) dup 3 -1 roll 0 exch put dup @gs true charpath $ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch moveto }forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq {/@@txt/@Pf ld @ftx}{$t $c $m $y $k $n $o @scc{show}{pop}ifelse}ifelse }ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd /@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc{{currentpoint 3 -1 roll (0) dup 3 -1 roll 0 exch put dup @gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3 -1 roll add exch moveto }forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd /@tm{/$textsave save def @sm concat}bd/e{/t{@te}def}bd /r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}def}bd /@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix /$ttm matrix def $textsave restore}bd/@t{/$stm $stm currentmatrix def 3 1 roll moveto $ttm concat t $stm setmatrix}def /@n{/$ttm exch matrix rotate def}bd/@s{}bd /@l{}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd /$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd /$SCA xd/$SCF xd}if}bd/@D{3 copy @ss/$dsp xd /$dsa xd/$dsf xd}bd/@j{@sv @np}bind def/@J{@rs}bind def /@sep{/ColorSeparationMode where{pop}{/ColorSeparationMode 0 def /CurrentInkName (Composite) def}ifelse ColorSeparationMode 0 eq{ /CurrentInkName (Composite) def}if/CurrentInkName where{pop}{ /CurrentInkName (Composite) def}ifelse CurrentInkName (Composite) eq {/$ink -1 def}{CurrentInkName (Cyan) eq{/$ink 0 def}{ CurrentInkName (Magenta) eq{/$ink 1 def}{CurrentInkName (Yellow) eq {/$ink 2 def}{CurrentInkName (Black) eq{/$ink 3 def}{/$ink 4 def }ifelse}ifelse}ifelse}ifelse}ifelse}bd @sep /@whi{@gs -72000 dup moveto -72000 72000 lineto 72000 dup lineto 72000 -72000 lineto closepath 1 setgray fill @gr}bd/@neg{ [{1 exch sub}/exec cvx currenttransfer/exec cvx] cvx settransfer @whi}bd/@reg{[] 0 d 0 setgray .3 setlinewidth 2 copy 5.4 0 360 arc closepath 2 copy moveto 9 0 rlineto 2 copy moveto -9 0 rlineto 2 copy moveto 0 9 rlineto moveto 0 -9 rlineto stroke}bd/leftbracket{(\050)}def /rightbracket{(\051)}def 11.4737 setmiterlimit 1.00 setflat /$fst 128 def [ 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 229 229 291 457 457 732 543 182 275 275 322 480 229 275 229 229 457 457 457 457 457 457 457 457 457 457 229 229 480 480 480 457 836 543 543 592 592 543 504 639 592 229 408 543 457 686 592 639 543 639 592 543 504 592 543 771 543 543 504 229 229 229 387 457 275 457 457 408 457 457 229 457 457 182 182 408 182 686 457 457 457 457 275 408 229 457 408 592 408 408 408 275 213 275 480 750 750 750 750 457 275 818 457 457 275 818 750 275 818 750 750 750 750 182 182 275 275 229 457 818 275 818 750 275 771 750 750 750 750 275 457 457 457 457 148 457 275 605 299 457 480 750 605 750 750 750 750 750 275 750 441 750 275 750 299 457 750 750 750 504 543 543 543 543 543 543 818 592 543 543 543 543 229 229 229 229 750 592 639 639 639 639 639 750 639 592 592 592 592 543 750 504 457 457 457 457 457 457 732 408 457 457 457 457 229 229 229 229 750 457 457 457 457 457 457 750 504 457 457 457 457 408 750 408 ] CorelDrawReencodeVect /_Helvetica-Narrow /Helvetica-Narrow Z [ 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 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] CorelDrawReencodeVect /_Courier /Courier Z @sv /$ctm matrix currentmatrix def @sv 106.13 392.62 110.02 399.38 @E [0.07199 0.00000 0.00000 0.07199 106 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (0) @t T 160.70 392.69 163.30 399.31 @E [0.07199 0.00000 0.00000 0.07199 160 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (1) @t T 214.06 392.69 217.94 399.24 @E [0.07199 0.00000 0.00000 0.07199 214 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (2) @t T 268.06 392.54 271.94 399.24 @E [0.07199 0.00000 0.00000 0.07199 268 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (3) @t T 321.98 392.47 325.94 399.10 @E [0.07199 0.00000 0.00000 0.07199 322 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (4) @t T 375.98 392.40 379.94 399.10 @E [0.07199 0.00000 0.00000 0.07199 376 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (5) @t T 159.98 446.69 163.94 453.38 @E [0.07199 0.00000 0.00000 0.07199 160 446] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (6) @t T 106.06 338.83 110.09 345.38 @E [0.07199 0.00000 0.00000 0.07199 106 338] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (7) @t T 159.98 338.62 163.94 345.46 @E [0.07199 0.00000 0.00000 0.07199 160 338] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (8) @t T 106.13 284.62 110.02 291.46 @E [0.07199 0.00000 0.00000 0.07199 106 284] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (9) @t T 157.97 284.69 166.10 291.53 @E [0.07199 0.00000 0.00000 0.07199 158 285] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (10) @t T 104.54 446.69 111.53 453.31 @E [0.07199 0.00000 0.00000 0.07199 104 446] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (11) @t T 112.54 440.93 114.55 445.97 @E [0.07199 0.00000 0.00000 0.07199 112 440] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (1) @t T 166.46 278.93 169.49 283.97 @E [0.07199 0.00000 0.00000 0.07199 166 278] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (2) @t T 112.46 332.86 115.49 337.90 @E [0.07199 0.00000 0.00000 0.07199 112 332] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (3) @t T 166.46 332.86 169.49 337.90 @E [0.07199 0.00000 0.00000 0.07199 166 332] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (3) @t T 328.46 386.93 331.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 328 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 274.46 386.93 277.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 274 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 220.46 386.93 223.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 220 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 166.46 386.93 169.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 166 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 166.46 440.93 169.56 445.97 @E [0.07199 0.00000 0.00000 0.07199 166 440] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 382.46 386.78 385.56 391.90 @E [0.07199 0.00000 0.00000 0.07199 382 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (5) @t T 94.54 382.54 121.61 409.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 409.46 m 115.49 409.46 121.61 403.42 121.61 396.00 c 121.61 388.58 115.49 382.54 108.07 382.54 c 100.66 382.54 94.54 388.58 94.54 396.00 c 94.54 403.42 100.66 409.46 108.07 409.46 c @c S 94.54 274.54 121.61 301.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 301.46 m 115.49 301.46 121.61 295.42 121.61 288.00 c 121.61 280.58 115.49 274.54 108.07 274.54 c 100.66 274.54 94.54 280.58 94.54 288.00 c 94.54 295.42 100.66 301.46 108.07 301.46 c @c S 94.54 328.61 121.61 355.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 355.54 m 115.49 355.54 121.61 349.49 121.61 342.07 c 121.61 334.66 115.49 328.61 108.07 328.61 c 100.66 328.61 94.54 334.66 94.54 342.07 c 94.54 349.49 100.66 355.54 108.07 355.54 c @c S 95.83 329.98 120.17 354.31 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 354.31 m 114.62 354.31 120.17 348.91 120.17 342.14 c 120.17 335.45 114.62 329.98 108.00 329.98 c 101.30 329.98 95.83 335.45 95.83 342.14 c 95.83 348.91 101.30 354.31 108.00 354.31 c @c S 148.46 328.54 175.54 355.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 355.46 m 169.42 355.46 175.54 349.42 175.54 342.00 c 175.54 334.58 169.42 328.54 162.00 328.54 c 154.58 328.54 148.46 334.58 148.46 342.00 c 148.46 349.42 154.58 355.46 162.00 355.46 c @c S 149.76 329.90 174.10 354.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 161.93 354.24 m 168.55 354.24 174.10 348.84 174.10 342.07 c 174.10 335.38 168.55 329.90 161.93 329.90 c 155.23 329.90 149.76 335.38 149.76 342.07 c 149.76 348.84 155.23 354.24 161.93 354.24 c @c S 148.46 436.54 175.54 463.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 463.46 m 169.42 463.46 175.54 457.42 175.54 450.00 c 175.54 442.58 169.42 436.54 162.00 436.54 c 154.58 436.54 148.46 442.58 148.46 450.00 c 148.46 457.42 154.58 463.46 162.00 463.46 c @c S 149.76 437.90 174.10 462.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 161.93 462.24 m 168.55 462.24 174.10 456.84 174.10 450.07 c 174.10 443.38 168.55 437.90 161.93 437.90 c 155.23 437.90 149.76 443.38 149.76 450.07 c 149.76 456.84 155.23 462.24 161.93 462.24 c @c S 94.54 436.54 121.61 463.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 463.46 m 115.49 463.46 121.61 457.42 121.61 450.00 c 121.61 442.58 115.49 436.54 108.07 436.54 c 100.66 436.54 94.54 442.58 94.54 450.00 c 94.54 457.42 100.66 463.46 108.07 463.46 c @c S 95.83 437.90 120.17 462.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 462.24 m 114.62 462.24 120.17 456.84 120.17 450.07 c 120.17 443.38 114.62 437.90 108.00 437.90 c 101.30 437.90 95.83 443.38 95.83 450.07 c 95.83 456.84 101.30 462.24 108.00 462.24 c @c S 148.46 382.54 175.54 409.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 409.46 m 169.42 409.46 175.54 403.42 175.54 396.00 c 175.54 388.58 169.42 382.54 162.00 382.54 c 154.58 382.54 148.46 388.58 148.46 396.00 c 148.46 403.42 154.58 409.46 162.00 409.46 c @c S 149.76 383.90 174.10 408.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 161.93 408.24 m 168.55 408.24 174.10 402.84 174.10 396.07 c 174.10 389.38 168.55 383.90 161.93 383.90 c 155.23 383.90 149.76 389.38 149.76 396.07 c 149.76 402.84 155.23 408.24 161.93 408.24 c @c S 148.54 274.61 175.61 301.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.07 301.54 m 169.49 301.54 175.61 295.49 175.61 288.07 c 175.61 280.66 169.49 274.61 162.07 274.61 c 154.66 274.61 148.54 280.66 148.54 288.07 c 148.54 295.49 154.66 301.54 162.07 301.54 c @c S 149.83 275.98 174.17 300.31 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 300.31 m 168.62 300.31 174.17 294.91 174.17 288.14 c 174.17 281.45 168.62 275.98 162.00 275.98 c 155.30 275.98 149.83 281.45 149.83 288.14 c 149.83 294.91 155.30 300.31 162.00 300.31 c @c S 202.46 382.46 229.54 409.39 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 216.00 409.39 m 223.42 409.39 229.54 403.34 229.54 395.93 c 229.54 388.51 223.42 382.46 216.00 382.46 c 208.58 382.46 202.46 388.51 202.46 395.93 c 202.46 403.34 208.58 409.39 216.00 409.39 c @c S 203.76 383.83 228.10 408.17 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 215.93 408.17 m 222.55 408.17 228.10 402.77 228.10 396.00 c 228.10 389.30 222.55 383.83 215.93 383.83 c 209.23 383.83 203.76 389.30 203.76 396.00 c 203.76 402.77 209.23 408.17 215.93 408.17 c @c S 256.46 382.39 283.54 409.32 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 270.00 409.32 m 277.42 409.32 283.54 403.27 283.54 395.86 c 283.54 388.44 277.42 382.39 270.00 382.39 c 262.58 382.39 256.46 388.44 256.46 395.86 c 256.46 403.27 262.58 409.32 270.00 409.32 c @c S 257.76 383.76 282.10 408.10 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 269.93 408.10 m 276.55 408.10 282.10 402.70 282.10 395.93 c 282.10 389.23 276.55 383.76 269.93 383.76 c 263.23 383.76 257.76 389.23 257.76 395.93 c 257.76 402.70 263.23 408.10 269.93 408.10 c @c S 310.46 382.32 337.54 409.25 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 324.00 409.25 m 331.42 409.25 337.54 403.20 337.54 395.78 c 337.54 388.37 331.42 382.32 324.00 382.32 c 316.58 382.32 310.46 388.37 310.46 395.78 c 310.46 403.20 316.58 409.25 324.00 409.25 c @c S 311.76 383.69 336.10 408.02 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 323.93 408.02 m 330.55 408.02 336.10 402.62 336.10 395.86 c 336.10 389.16 330.55 383.69 323.93 383.69 c 317.23 383.69 311.76 389.16 311.76 395.86 c 311.76 402.62 317.23 408.02 323.93 408.02 c @c S 364.46 382.25 391.54 409.18 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 378.00 409.18 m 385.42 409.18 391.54 403.13 391.54 395.71 c 391.54 388.30 385.42 382.25 378.00 382.25 c 370.58 382.25 364.46 388.30 364.46 395.71 c 364.46 403.13 370.58 409.18 378.00 409.18 c @c S 365.76 383.62 390.10 407.95 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 377.93 407.95 m 384.55 407.95 390.10 402.55 390.10 395.78 c 390.10 389.09 384.55 383.62 377.93 383.62 c 371.23 383.62 365.76 389.09 365.76 395.78 c 365.76 402.55 371.23 407.95 377.93 407.95 c @c S 121.54 395.86 148.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 121.54 396.00 m 147.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 144.00 398.52 m 147.96 396.00 L 144.00 393.48 L S @J 175.54 395.86 202.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 175.54 396.00 m 201.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 198.00 398.52 m 201.96 396.00 L 198.00 393.48 L S @J 229.54 395.86 256.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 229.54 396.00 m 255.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 252.00 398.52 m 255.96 396.00 L 252.00 393.48 L S @J 283.54 395.86 310.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 283.54 396.00 m 309.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 306.00 398.52 m 309.96 396.00 L 306.00 393.48 L S @J 337.54 395.86 364.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 337.54 396.00 m 363.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 360.00 398.52 m 363.96 396.00 L 360.00 393.48 L S @J 125.57 268.56 143.86 284.98 @E [0.07198 0.00000 0.00000 0.07199 125 278] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 0 -125 (a) @t 60 -125 (-) @t 120 -125 (f) @t 180 -125 (\135) @t T 121.54 287.86 148.54 288.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 121.54 288.00 m 147.17 288.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 144.00 290.52 m 147.96 288.00 L 144.00 285.48 L S @J 121.54 341.86 148.54 342.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 121.54 342.00 m 147.17 342.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 144.00 344.52 m 147.96 342.00 L 144.00 339.48 L S @J 107.86 301.54 108.14 328.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 328.54 m 108.00 302.90 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 110.52 306.14 m 108.00 302.18 L 105.48 306.14 L S @J 107.86 355.54 108.14 382.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 382.54 m 108.00 356.90 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 110.52 360.14 m 108.00 356.18 L 105.48 360.14 L S @J 107.86 409.54 108.14 436.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 409.54 m 108.00 435.17 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 105.41 432.00 m 108.00 435.96 L 110.59 432.00 L S @J 117.00 405.00 153.00 441.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 117.00 405.00 m 152.06 440.06 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 147.96 439.63 m 152.64 440.64 L 151.70 436.03 L S @J 117.00 351.00 153.00 387.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 117.00 387.00 m 152.06 351.94 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 151.63 356.04 m 152.64 351.43 L 148.03 352.44 L S @J 166.39 341.93 196.63 377.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 173.38 346.82 m 177.48 347.47 182.59 350.42 186.77 354.60 c 193.75 361.58 196.63 370.22 193.18 373.68 c 189.72 377.14 181.08 374.33 174.10 367.34 c 169.92 363.17 166.90 358.06 166.39 353.95 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 169.34 356.90 m 166.39 353.30 L 164.30 357.62 L S @J 166.39 450.72 196.63 485.93 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 173.38 455.62 m 177.48 456.26 182.59 459.22 186.77 463.39 c 193.75 470.38 196.63 479.02 193.18 482.47 c 189.72 485.93 181.08 483.12 174.10 476.14 c 169.92 471.96 166.90 466.85 166.39 462.74 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 169.34 465.70 m 166.39 462.10 L 164.30 466.42 L S @J 166.39 287.93 196.63 323.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 173.38 292.82 m 177.48 293.47 182.59 296.42 186.77 300.60 c 193.75 307.58 196.63 316.22 193.18 319.68 c 189.72 323.14 181.08 320.33 174.10 313.34 c 169.92 309.17 166.90 304.06 166.39 299.95 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 169.34 302.90 m 166.39 299.30 L 164.30 303.62 L S @J 166.61 396.00 198.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 182.30 396.00 m 190.94 396.00 198.00 408.17 198.00 423.00 c 198.00 437.83 190.94 450.00 182.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 185.54 447.41 m 181.58 450.00 L 185.54 452.59 L S @J 220.61 396.00 252.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 236.30 396.00 m 244.94 396.00 252.00 408.17 252.00 423.00 c 252.00 437.83 244.94 450.00 236.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 239.54 447.41 m 235.58 450.00 L 239.54 452.59 L S @J 274.61 396.00 306.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 290.30 396.00 m 298.94 396.00 306.00 408.17 306.00 423.00 c 306.00 437.83 298.94 450.00 290.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 293.54 447.41 m 289.58 450.00 L 293.54 452.59 L S @J 328.61 396.00 360.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 344.30 396.00 m 352.94 396.00 360.00 408.17 360.00 423.00 c 360.00 437.83 352.94 450.00 344.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 347.54 447.41 m 343.58 450.00 L 347.54 452.59 L S @J 382.54 396.00 413.93 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 398.23 396.00 m 406.87 396.00 413.93 408.17 413.93 423.00 c 413.93 437.83 406.87 450.00 398.23 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 401.47 447.41 m 397.51 450.00 L 401.47 452.59 L S @J 391.54 395.86 398.23 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 391.54 396.00 m 398.23 396.00 L S 175.54 449.86 398.23 450.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 398.23 450.00 m 175.54 450.00 L S 139.46 385.27 144.43 391.03 @E [0.07199 0.00000 0.00000 0.07199 139 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (p) @t T 188.93 386.93 193.90 390.96 @E [0.07199 0.00000 0.00000 0.07199 188 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (r) @t T 242.93 386.93 247.61 392.76 @E [0.07199 0.00000 0.00000 0.07199 242 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (i) @t T 296.93 386.93 301.97 391.03 @E [0.07199 0.00000 0.00000 0.07199 296 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (n) @t T 350.93 386.86 355.82 392.18 @E [0.07199 0.00000 0.00000 0.07199 350 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (t) @t T 98.93 364.39 103.46 370.22 @E [0.07199 0.00000 0.00000 0.07199 98 364] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (0) @t T 98.93 310.46 103.97 314.42 @E [0.07199 0.00000 0.00000 0.07199 98 310] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (x) @t T 125.50 331.78 146.66 338.76 @E [0.07199 0.00000 0.00000 0.07199 125 332] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 240 0 (\135) @t T 134.50 367.78 155.66 374.76 @E [0.07199 0.00000 0.00000 0.07199 134 368] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (1) @t 120 0 (-) @t 180 0 (9) @t 240 0 (\135) @t T 134.28 416.74 166.46 424.73 @E [0.07199 0.00000 0.00000 0.07199 134 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (p) @t T 197.28 417.31 229.46 424.73 @E [0.07199 0.00000 0.00000 0.07199 197 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (r) @t T 251.28 417.31 283.18 424.73 @E [0.07199 0.00000 0.00000 0.07199 251 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (i) @t T 305.28 417.31 337.54 424.73 @E [0.07199 0.00000 0.00000 0.07199 305 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (n) @t T 359.28 417.31 391.39 424.73 @E [0.07199 0.00000 0.00000 0.07199 359 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (t) @t T 413.50 417.31 434.66 424.15 @E [0.07199 0.00000 0.00000 0.07199 413 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t T 193.03 475.78 214.20 482.62 @E [0.07199 0.00000 0.00000 0.07199 193 476] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t T 193.03 367.78 214.20 374.76 @E [0.07199 0.00000 0.00000 0.07199 193 368] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 240 0 (\135) @t T 192.74 313.78 227.45 320.76 @E [0.07199 0.00000 0.00000 0.07199 193 314] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 240 0 (a) @t 300 0 (-) @t 360 0 (f) @t 420 0 (\135) @t T 52.70 412.56 107.21 429.41 @E [0.07199 0.00000 0.00000 0.07199 53 422] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (\134) @t 120 0 (0) @t 180 0 (0) @t 240 0 (0) @t 300 0 (-) @t 360 0 (\134) @t 420 0 (3) @t 480 0 (7) @t 540 0 (7) @t 600 0 (\135) @t 660 0 (\134) @t 0 -125 (\133) @t 60 -125 (0) @t 120 -125 (-) @t 180 -125 (9) @t 240 -125 (a) @t 300 -125 (-) @t 360 -125 (z) @t 420 -125 (\135) @t T 54.00 391.54 94.54 401.83 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 54.00 396.65 m 55.51 398.16 56.52 401.83 58.54 401.18 c 62.50 399.89 63.29 392.18 67.54 392.18 c 71.71 392.18 72.29 401.18 76.54 401.18 c 80.71 401.18 81.50 393.55 85.54 392.18 c 87.48 391.54 88.27 396.58 90.00 396.65 C 93.17 396.65 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 90.00 399.17 m 93.96 396.65 L 90.00 394.13 L S @J @rs @rs end %%EndDocument @endspecial 108 1136 a Fr(Figure)21 b(3:)32 b(A)20 b(DF)-5 b(A)21 b(for)f(the)i(sample)d(sp)q(eci\014cation)j(in)e(Figure)g(2.)39 b(State)21 b(0)f(is)h(the)g(start)g(state.)108 1186 y(Accepting)d (states)g(are)g(lab)q(eled)e(with)h(the)g(n)o(um)o(b)q(er)f(of)g(the)i (rule)f(that)g(they)g(matc)o(h.)26 b(F)m(or)16 b(example,)108 1236 y(state)i(10)d(accepts)j(rule)f(2.)25 b(T)m(ransitions)16 b(di\013ering)g(only)g(b)o(y)g(lab)q(el)f(are)i(represen)o(ted)i(with)d (the)h(same)108 1286 y(arc.)i(F)m(or)12 b(example,)f(state)j(0)e(has)h (transitions)g(to)f(state)i(6)e(on)h(all)e(of)i(the)g(follo)o(wing)d(c) o(haracters:)19 b Fm(a)p Fr(,)13 b Fl(:)7 b(:)g(:)n Fr(,)108 1336 y Fm(o)p Fr(,)14 b Fm(q)p Fr(,)f Fl(:)7 b(:)g(:)12 b Fm(z)p Fr(.)21 1469 y(RE2C)i(is)g(di\013eren)o(t)h(from)e(most)g (other)i(scanner)h(generators)f(in)f(that)h(the)g(user)g(m)o(ust)f(pro) o(vide)g(the)h(input)f(bu\013ering)-42 1519 y(mec)o(hanism)i(for)h(the) i(scanner;)h(the)f(generated)g(co)q(de)g(simply)c(assumes)j(that)g(the) g(user)h(has)f(de\014ned)h(three)g(p)q(oin)o(ters:)-42 1569 y Fm(YYCURSOR)p Fr(,)9 b Fm(YYLIMIT)g Fr(and)h Fm(YYMARKER)p Fr(,)e(and)i(a)h(routine)f Fm(YYFILL\()p Fl(n)p Fm(\))p Fr(.)15 b(Before)d(executing)f(the)g(generated)h(co)q(de,)f Fm(YYCURSOR)-42 1619 y Fr(and)h Fm(YYLIMIT)d Fr(m)o(ust)h(b)q(e)i(set)g (to)g(p)q(oin)o(t)e(to)h(the)h(\014rst)g(and)f(one)h(past)f(the)h(last) f(c)o(haracter)i(in)e(the)g(bu\013er,)i(resp)q(ectiv)o(ely)m(.)18 b(After)-42 1669 y(a)f(tok)o(en)g(is)f(recognized,)i(and)f(b)q(efore)g (an)o(y)f(action)g(is)h(executed,)i Fm(YYCURSOR)c Fr(is)h(set)i(to)e(p) q(oin)o(t)g(to)h(just)g(past)g(the)g(tok)o(en.)-42 1718 y Fm(YYFILL)d Fr(will)g(b)q(e)i(called)f(as)g(the)h(bu\013er)h(needs)f (\014lling;)e(at)h(least)h Fl(n)f Fr(additional)e(input)i(c)o (haracters)i(should)e(b)q(e)h(pro)o(vided.)-42 1768 y(When)g Fm(YYFILL)d Fr(is)i(called,)f Fm(YYCURSOR)f Fr(will)h(p)q(oin)o(t)g(to) h(the)g(next)h(c)o(haracter)g(to)f(b)q(e)g(scanned)h(and)f Fm(YYMARKER)p Fr(,)d(if)i(set,)i(will)-42 1818 y(p)q(oin)o(t)f(to)f(a)g (p)q(ossible)h(bac)o(ktrac)o(king)g(p)q(oin)o(t)f(in)g(the)h(bu\013er.) 21 b Fm(YYFILL)14 b Fr(m)o(ust)f(up)q(date)j Fm(YYLIMIT)p Fr(,)c(and)j(p)q(ossibly)f Fm(YYCURSOR)-42 1868 y Fr(and)f Fm(YYMARKER)f Fr(b)q(efore)h(returning.)18 b(T)o(ypically)12 b Fm(YYCURSOR)p Fr(,)f Fm(YYLIMIT)p Fr(,)g Fm(YYMARKER)p Fr(,)f(and)j Fm(YYFILL\()p Fl(n)p Fm(\))e Fr(will)h(b)q(e)h(de\014ned)h (as)-42 1918 y(macros.)-42 2034 y Fj(2.1)56 b(Things)19 b(That)g(RE2C)f(Do)r(esn't)g(Pro)n(vide)-42 2111 y Fr(RE2C)11 b(do)q(esn't)h(pro)o(vide)f(man)o(y)e(things)j(a)o(v)n(ailable)d(in)h (more)h(con)o(v)o(en)o(tional)f(scanner)j(generators)f(including)e (default)h(rules,)-42 2160 y(end-of-input)17 b(pseudo-tok)o(ens,)i(and) e(bu\013er)i(managemen)o(t)14 b(routines.)29 b(All)17 b(of)f(these)j(m)o(ust)d(b)q(e)i(supplied)g(b)o(y)f(the)h(user.)-42 2210 y(Rather)10 b(than)g(b)q(eing)f(a)g(handicap,)h(this)g(allo)o(ws)e (RE2C-generated)i(scanners)h(to)f(b)q(e)g(tailored)f(to)g(almost)f(an)o (y)h(en)o(vironmen)o(t.)-42 2260 y(F)m(or)k(example,)f(the)i(scanner)h (de\014ned)f(in)f(Figure)h(1)f(compiles)f(in)o(to)h(32)g(b)o(ytes)h(of) e(i486)h(co)q(de)h(\(using)f(W)m(atcom)e(C)j(9.5\);)e(the)-42 2310 y(same)g(size)h(as)f(an)g(equiv)n(alen)o(t)g(hand-co)q(ded)h (routine.)k(Most)c(other)g(scanner)g(generators)h(cannot)e(pro)q(duce)h (scanners)h(that)-42 2360 y(are)k(comp)q(etitiv)o(e)e(with)g(hand-co)q (ded)i(analyzers)f(in)f(this)h(case.)28 b(F)m(urther,)18 b(it)f(is)g(not)f(o)o(v)o(erly)h(di\016cult)f(to)h(implem)o(en)o(t)e(a) -42 2409 y(more)c(traditional)f(scanner)j(using)f(RE2C.)e(F)m(or)h (example,)g(App)q(endix)h(A)f(con)o(tains)h(the)g(supp)q(ort)h(co)q(de) f(for)f(the)i(C)e(scanner)-42 2459 y(b)q(enc)o(hmark)o(ed)j(in)f(T)m (able)g(1.)k(Note)d(that)g(this)f(co)q(de)h(allo)o(ws)f(for)g (arbitrarily)f(long)h(con)o(tiguous)g(tok)o(ens)h(and)f(pro)o(vides)h (line)-42 2509 y(and)g(column)e(n)o(um)o(b)q(er)i(information.)923 2748 y(3)p eop %%Page: 4 4 4 3 bop -42 195 a Fs(3)67 b(Generating)23 b(Directly)h(Executable)g (Scanners)-42 286 y Fr(As)14 b(demonstrated)g(b)o(y)f(GLA)g([7)o(])g (generating)h(directly)g(executable)g(co)q(de)g(instead)g(of)f(tables)h (can)f(result)i(in)e(m)o(uc)o(h)f(faster)-42 336 y(scanners.)20 b(Ho)o(w)o(ev)o(er,)13 b(to)g(ac)o(hiev)o(e)h(this)f(sp)q(eed,)h (GLA-generated)h(scanners)f(mak)o(e)e(some)g(assumptions)h(ab)q(out)g (the)h(input)-42 386 y(and)i(place)g(certain)g(restrictions)g(on)g(tok) o(ens)680 371 y Fq(4)699 386 y Fr(.)23 b(In)15 b(this)h(section)g(w)o (e)g(will)e(sho)o(w)h(ho)o(w)g(to)h(generate)g(directly)g(executable) -42 435 y(scanners)22 b(whic)o(h)d(not)g(only)g(a)o(v)o(oid)f(suc)o(h)i (restrictions,)h(but)f(are)g(also)e(faster)i(and)f(usually)g(smaller.) 33 b(The)19 b(approac)o(h)-42 485 y(presen)o(ted)f(here)f(has)f(the)g (added)g(b)q(ene\014t)h(that)f(ev)o(en)g(faster)h(scanners)g(can)f(b)q (e)g(easily)f(b)q(e)i(created,)g(at)e(the)i(exp)q(ense)g(of)-42 535 y(increased)f(co)q(de)e(size,)h(b)o(y)e(using)h(a)f(tec)o(hnique)i (akin)e(to)h(lo)q(op)f(unrolling.)-42 651 y Fj(3.1)56 b(Constructing)19 b(a)g(DF)-6 b(A)-42 728 y Fr(The)15 b(\014rst)g(step)g(in)f(generating)h(a)f(directly)g(executable)h (scanner)h(is)e(to)g(construct)i(a)e(DF)-5 b(A)15 b(that)f(recognizes)i (the)e(regular)-42 778 y(expressions)g(in)e(the)h(sp)q(eci\014cation.) 18 b(Figure)12 b(3)g(presen)o(ts)i(a)e(DF)-5 b(A)13 b(that)f (recognizes)h(the)g(regular)f(expressions)i(in)e(Figure)g(2.)-42 828 y(One)18 b(p)q(ossible)f(algorithm)e(for)h(constructing)i(suc)o(h)g (a)e(DF)-5 b(A)18 b(can)f(b)q(e)g(found)g(in)f([1].)26 b(Giv)o(en)16 b(suc)o(h)i(a)f(DF)-5 b(A,)16 b(the)i(task)f(of)p -42 864 780 2 v 5 891 a Fn(4)22 903 y Fo(These)11 b(assumptions)e(and)h (restrictions)f(are)i(discussed)e(in)j(more)e(detail)g(in)h(Sections)e (3.3.1)i(and)f(5.1.)923 2748 y Fr(4)p eop %%Page: 5 5 5 4 bop -42 195 a Fr(scanning)14 b(the)h(input)f(can)g(b)q(e)g (expressed)i(as)e(follo)o(ws:)125 278 y(Starting)i(from)g(the)i(start)g (state,)g(mo)o(v)o(e)e(from)f(state)j(to)f(state)h(along)e(transitions) i(lab)q(eled)f(with)g(con-)62 328 y(secutiv)o(e)f(c)o(haracters)h(from) c(the)i(input.)21 b(When)15 b(no)f(further)i(transitions)f(can)g(b)q(e) g(made,)e(bac)o(ktrac)o(k)i(to)g(the)62 378 y(last)h(accepting)g (state,)h(sa)o(y)f Fl(q)q Fr(.)24 b(The)16 b(path)g(to)f Fl(q)i Fr(sp)q(ells)g(the)f(next)g(tok)o(en)g(and)g(the)g(rule)h(asso)q (ciated)f(with)g Fl(q)62 428 y Fr(determines)e(the)h(co)q(de)g(to)e(b)q (e)i(executed.)-42 511 y(As)d(a)e(result,)h(the)h(problem)d(of)h (generating)h(scanners)h(essen)o(tially)f(reduces)h(to)f(the)g(problem) e(of)h(generating)h(an)f(executable)-42 560 y(represen)o(tation)16 b(for)d(a)h(DF)-5 b(A.)-42 677 y Fj(3.2)56 b(Generating)18 b(Co)r(de)-42 753 y Fr(If)g(w)o(e)g(assume)g(that)g(the)h(input)f(is)g (en)o(tirely)g(con)o(tained)g(in)g(a)f(single)h(bu\013er)h(then)g (generating)f(co)q(de)h(for)f(the)g(DF)-5 b(A)19 b(is)-42 803 y(relativ)o(ely)13 b(straigh)o(tforw)o(ard,)f(as)h(is)g (illustrated)g(b)o(y)f(the)i(co)q(de)g(templates)e(in)h(Figure)g(4.)35 b(Note)14 b(that)f(the)g(only)g(di\013erence)p 575 863 717 2 v 575 912 2 50 v 856 897 a Fi(Pr)n(olo)n(gue)p 1290 912 V 575 914 717 2 v 575 964 2 50 v 720 949 a Fm(int)21 b(yyaccept;)p 1290 964 V 575 1014 V 720 999 a(goto)g(M)p Fi(start)p Fm(;)p 1290 1014 V 575 1063 V 720 1049 a(fin:)g(YYCURSOR)f (=)i(YYMARKER;)p 1290 1063 V 575 1113 V 720 1098 a(switch\(yyaccept\))p Fk(f)p 1290 1113 V 575 1163 V 807 1148 a Fl(:)7 b(:)g(:)p 1290 1163 V 575 1213 V 602 1198 a Fm(A)p Fl(n)p Fm(:)93 b(case)21 b Fl(n)p Fm(:)43 b Fi(action)p Fr(\()p Fl(n)p Fr(\))p Fm(;)p 1290 1213 V 575 1263 V 807 1248 a Fl(:)7 b(:)g(:)p 1290 1263 V 575 1313 V 720 1298 a Fk(g)p 1290 1313 V 575 1362 V 720 1347 a Fi(c)n(o)n(de)15 b(for)g(states)p 1290 1362 V 575 1364 717 2 v 204 1370 720 2 v 204 1420 2 50 v 346 1405 a(Co)n(de)g(for)f(ac)n(c)n(epting)h(state)p 921 1420 V 204 1421 720 2 v 204 1471 2 50 v 230 1456 a Fm(L)p Fl(q)q Fm(:)50 b(++YYCURSOR;)p 921 1471 V 204 1521 V 344 1506 a(yyaccept)20 b(=)h Fi(rule)p Fr(\()p Fl(q)q Fr(\))p Fm(;)p 921 1521 V 204 1571 V 344 1556 a(YYMARKER)f(=)h(YYCURSOR;)p 921 1571 V 204 1621 V 230 1606 a(M)p Fl(q)q Fm(:)50 b(switch\(*YYCURSO)o(R\))p Fk(f)p 921 1621 V 204 1670 V 431 1655 a Fl(:)7 b(:)g(:)p 921 1670 V 204 1720 V 387 1705 a Fm(case)21 b Fl(c)p Fm(:)43 b(goto)21 b(L)p Fi(goto)q Fr(\()p Fl(q)q(;)7 b(c)p Fr(\))p Fm(;)p 921 1720 V 204 1770 V 431 1755 a Fl(:)g(:)g(:)p 921 1770 V 204 1820 V 387 1805 a Fm(default:)42 b(goto)21 b(fin;)p 921 1820 V 204 1870 V 344 1855 a Fk(g)p 921 1870 V 204 1871 720 2 v 944 1370 V 944 1420 2 50 v 1045 1405 a Fi(Co)n(de)15 b(for)g(non-ac)n(c)n(epting)h(state)p 1662 1420 V 944 1421 720 2 v 944 1471 2 50 v 971 1456 a Fm(L)p Fl(q)q Fm(:)49 b(++YYCURSOR;)p 1662 1471 V 944 1521 V 1662 1521 V 944 1571 V 1662 1571 V 944 1621 V 971 1606 a(M)p Fl(q)q Fm(:)g(switch\(*YYCURSOR\))p Fk(f)p 1662 1621 V 944 1670 V 1172 1655 a Fl(:)7 b(:)g(:)p 1662 1670 V 944 1720 V 1128 1705 a Fm(case)21 b Fl(c)p Fm(:)43 b(goto)21 b(L)p Fi(goto)p Fr(\()p Fl(q)q(;)7 b(c)p Fr(\))p Fm(;)p 1662 1720 V 944 1770 V 1172 1755 a Fl(:)g(:)g(:)p 1662 1770 V 944 1820 V 1128 1805 a Fm(default:)42 b(goto)21 b(fin;)p 1662 1820 V 944 1870 V 1084 1855 a Fk(g)p 1662 1870 V 944 1871 720 2 v 108 1946 a Fr(Figure)g(4:)30 b(Directly)20 b(executable)h(scanner.)38 b(The)20 b(co)q(de)h (generated)g(for)f(a)g(scanner)h(consists)g(of)f(a)108 1996 y(prologue)12 b(follo)o(w)o(ed)f(b)o(y)h(co)q(de)i(for)e(eac)o(h)h (state.)18 b Fi(start)11 b Fr(is)i(the)g(start)g(state.)18 b Fi(action)p Fr(\()p Fl(n)p Fr(\))13 b(denotes)h(the)f(co)q(de)108 2045 y(asso)q(ciated)h(with)e(rule)h Fl(n)p Fr(,)f Fi(goto)p Fr(\()p Fl(q)q(;)7 b(c)p Fr(\))12 b(denotes)i(the)f(state)g(reac)o(hed) h(from)d(state)i Fl(q)h Fr(along)d(the)i(transition)108 2095 y(lab)q(eled)18 b(with)e Fl(c)h Fr(and)g Fi(rule)p Fr(\()p Fl(q)q Fr(\))g(denotes)i(the)e(rule)h(asso)q(ciated)g(with)e (state)i Fl(q)q Fr(.)28 b Fm(yyaccept)16 b Fr(is)h(used)h(to)108 2145 y(sa)o(v)o(e)d(bac)o(ktrac)o(king)e(information.)i(The)g Fm(M)p Fr(-lab)q(els)e(will)f(b)q(e)j(used)g(in)e(section)i(3.4.2.)-42 2245 y(b)q(et)o(w)o(een)j(the)f(templates)f(for)g(accepting)g(and)h (non-accepting)f(states)i(is)e(that)g(the)h(accepting)g(states)g(ha)o (v)o(e)f(additional)-42 2294 y(co)q(de)e(to)f(sa)o(v)o(e)g(bac)o(ktrac) o(king)f(information.)j(Figure)e(5)g(sho)o(ws)g(co)q(de)h(that)f(migh)o (t)d(b)q(e)k(generated)g(for)f(state)g(1)g(in)f(Figure)h(3.)-42 2460 y Fj(3.3)56 b(Bu\013ering)-42 2537 y Fr(Complications)13 b(arise)i(when)g(the)g(input)g(is)g(not)f(con)o(tained)h(in)g(a)f (single)g(bu\013er:)21 b(additional)13 b(co)q(de)j(is)e(needed)j(for)d (\014lling)-42 2587 y(the)h(bu\013er)g(as)f(necessary)m(.)923 2748 y(5)p eop %%Page: 6 6 6 5 bop 647 188 a Fm(L1:)49 b(++YYCURSOR;)762 238 y(yyaccept)20 b(=)i(4;)762 288 y(YYMARKER)e(=)i(YYCURSOR;)647 338 y(M1:)49 b(switch\(*YYCURSOR\))p Fk(f)806 388 y Fm(case)21 b('a':)43 b(goto)21 b(L6;)849 438 y Fl(:)7 b(:)g(:)806 487 y Fm(case)21 b('q':)43 b(goto)21 b(L6;)806 537 y(case)g('r':)43 b(goto)21 b(L2;)806 587 y(case)g('s':)43 b(goto)21 b(L6;)849 637 y Fl(:)7 b(:)g(:)806 687 y Fm(case)21 b('z':)43 b(goto)21 b(L6;)806 736 y(default:)42 b(goto)21 b(fin;)762 786 y Fk(g)690 876 y Fr(Figure)14 b(5:)k(Co)q(de)c(for)g(state)g(1.)505 968 y Fm(L6:)50 b(++YYCURSOR;)621 1018 y(if\(YYLIMIT)19 b(==)j(YYCURSOR\))e(YYFILL\(1\);)621 1068 y(yyaccept)g(=)h(4;)621 1118 y(YYMARKER)f(=)h(YYCURSOR;)505 1168 y(M6:)50 b(switch\(*YYCURSO)o (R\))p Fk(f)708 1217 y Fl(:)7 b(:)g(:)621 1267 y Fk(g)690 1357 y Fr(Figure)14 b(6:)k(Co)q(de)c(for)g(state)g(6.)-42 1489 y Fh(3.3.1)48 b(The)16 b(Sen)o(tinel)c(Metho)q(d)-42 1566 y Fr(Most)20 b(scanner)g(generators)g(use)g(the)g(sen)o(tinel)f (metho)q(d)g([1)o(])f(to)h(determine)g(when)h(the)f(bu\013er)i(needs)f (\014lling.)32 b(In)19 b(the)-42 1616 y(simplest)d(case,)h(a)f(sym)o(b) q(ol)f(that)h(do)q(es)i(not)e(app)q(ear)h(in)f(v)n(alid)f(input)h(is)g (c)o(hosen)h(as)g(the)g(sen)o(tinel)g(c)o(haracter.)26 b(An)17 b(extra)-42 1666 y(state)12 b(is)f(added)g(to)g(the)h(DF)-5 b(A)11 b(and)g(transitions)f(to)h(this)g(state)h(on)f(the)g(sen)o (tinel)h(sym)o(b)q(ol)d(are)i(added)g(to)g(the)h(original)d(states.)-42 1715 y(When)16 b(the)g(DF)-5 b(A)16 b(arriv)o(es)f(in)g(this)h(new)f (state)i(it)e(is)g(time)f(to)h(re\014ll)g(the)h(bu\013er.)23 b(After)16 b(the)g(bu\013er)h(is)e(re\014lled,)g(scanning)-42 1765 y(m)o(ust)h(b)q(e)g(restarted)i(in)e(the)h(previous)f(state.)26 b(Unfortunately)m(,)16 b(this)g(is)g(not)g(p)q(ossible)g(with)g(the)h (approac)o(h)f(outlined)g(in)-42 1815 y(Figure)j(4:)26 b(the)19 b(necessary)h(information)15 b(is)j(simply)e(not)i(a)o(v)n (ailable.)28 b(Co)q(de)19 b(could)f(b)q(e)g(added)h(to)f(eac)o(h)g (state)h(to)f(sa)o(v)o(e)-42 1865 y(the)e(necessary)g(information)c (but)j(this)g(w)o(ould)e(result)j(in)e(slo)o(w)o(er)h(and)f(larger)h (scanners.)22 b(GLA)14 b(solv)o(es)h(this)f(problem)g(b)o(y)-42 1915 y(ensuring)i(that)g(the)f(sen)o(tinel)h(only)f(gets)g(inserted)i (b)q(et)o(w)o(een)g(tok)o(ens:)k(if)14 b(this)i(is)f(the)h(case,)g(the) g(scanner)g(can)g(alw)o(a)o(ys)e(b)q(e)-42 1964 y(restarted)k(from)c (the)j(start)f(state.)25 b(T)m(o)15 b(ensure)i(that)f(the)h(sen)o (tinel)f(only)f(gets)i(inserted)g(b)q(et)o(w)o(een)g(tok)o(ens,)f(GLA)g (allo)o(ws)-42 2014 y(newline)g(\(ASCI)q(I)g(LF\))g(c)o(haracters)h(to) f(app)q(ear)g(only)f(at)g(the)h(end)g(of)f(a)h(tok)o(en)g(and)f (disallo)o(ws)f(the)i(bu\013ering)g(of)f(partial)-42 2064 y(lines)39 2049 y Fq(5)58 2064 y Fr(.)-42 2172 y Fh(3.3.2)48 b(Bu\013ering)-42 2249 y Fr(RE2C-generated)17 b(scanners)h(c)o(hec)o(k)f(if)e(the)i(bu\013er)g(needs)g(\014lling)e (simply)f(b)o(y)i(comparing)e Fm(YYCURSOR)g Fr(and)i Fm(YYLIMIT)p Fr(.)e(A)-42 2298 y(metho)q(d)d(inspired)g(b)o(y)g(the)h (mec)o(hanism)d(used)j(to)f(guard)g(against)g(stac)o(k)g(o)o(v)o (er\015o)o(w)g(in)g([17)o(])1365 2283 y Fq(6)1394 2298 y Fr(is)g(used)i(to)e(reduce)h(the)g(amoun)o(t)-42 2348 y(of)i(c)o(hec)o(king.)21 2398 y(Chec)o(ks)j(are)g(only)f(inserted)h (in)f(certain)h(k)o(ey)f(states.)27 b(These)18 b(c)o(hec)o(ks)g(simply) c(ensure)k(that)e(there)i(is)e(enough)h(input)-42 2448 y(in)g(the)g(bu\013er)h(for)f(the)h(scan)f(to)g(pro)q(ceed)h(un)o(til)e (the)i(next)f(k)o(ey)g(state.)28 b(F)m(or)17 b(example,)f(in)g(the)i (DF)-5 b(A)17 b(of)f(Figure)h(3)g(it)g(is)-42 2498 y(su\016cien)o(t)e (to)e(c)o(hec)o(k)i(that)f(there)h(are)g(at)e(least)h(6)g(c)o (haracters)h(in)f(the)g(bu\013er)h(when)f(it)g(starts,)g(and)g(that)g (there)h(is)f(at)f(least)-42 2547 y(one)i(c)o(haracter)g(in)e(the)i (bu\013er)g(when)f(the)h(DF)-5 b(A)14 b(is)g(in)f(states)j(6,)d(8,)g (or)h(10.)k(No)13 b(other)i(c)o(hec)o(ks)g(are)g(required.)k(The)14 b(c)o(hec)o(ks)-42 2597 y(inserted)i(in)d(k)o(ey)h(states)h(are)f(of)g (the)g(form)923 2748 y(6)p eop %%Page: 7 7 7 6 bop 62 195 a Fm(if\(\(YYLIMIT)20 b(-)h(YYCURSOR\))f(<)i Fl(n)p Fm(\))f(YYFILL\()p Fl(n)p Fm(\);)-42 278 y Fr(where)c Fl(n)f Fr(is)f(the)i(maxim)n(um)11 b(n)o(um)o(b)q(er)k(of)g(c)o (haracters)i(that)f(can)g(b)q(e)g(consumed)g(b)q(efore)g(another)g(k)o (ey)g(state)g(is)g(reac)o(hed.)-42 328 y(F)m(or)e(example,)e(Figure)i (6)g(sho)o(ws)g(the)g(co)q(de)h(generated)g(for)f(state)h(6)e(in)h (Figure)g(3.)21 378 y(A)h(set)g(of)f(k)o(ey)h(states)h(can)f(b)q(e)g (determined)g(b)o(y)f(disco)o(v)o(ering)h(the)g(strongly-connected)h (comp)q(onen)o(ts)e(\(SCCs\))i(of)e(the)-42 428 y(DF)-5 b(A.)12 b(An)h(SCC)f(is)f(a)h(maxima)o(l)d(subset)k(of)f(states)h(suc)o (h)g(that)f(there)h(exists)g(a)f(path)g(from)e(an)o(y)i(state)g(in)g (the)h(subset)g(to)f(an)o(y)-42 477 y(other.)24 b(The)16 b(set)g(of)f(k)o(ey)h(states)g(consists)h(of)e(all)f(of)h(the)h(states) h(in)e(non-trivial)f(SCCs,)h(together)i(with)e(the)h(start)g(state.)-42 527 y(Note)d(that)f(for)g(eac)o(h)g(SCC)g Fl(S)r Fr(,)h(w)o(e)f (actually)g(only)f(ha)o(v)o(e)h(to)g(include)g(a)f(subset)j(of)d (states)j(of)d Fl(S)k Fr(suc)o(h)e(that)f(when)g(the)h(subset)-42 577 y(is)f(remo)o(v)o(ed,)f Fl(S)k Fr(b)q(ecomes)d(acyclic.)17 b(Indeed,)c([17)o(])e(describ)q(es)j(a)e(simple)e(heuristic)j(for)e(c)o (ho)q(osing)h(suc)o(h)g(a)g(subset.)18 b(Ho)o(w)o(ev)o(er,)-42 627 y(since)c(in)f(practice)h(most)d(of)i(the)g(\(non-trivial\))f(SCCs) h(encoun)o(tered)i(will)c(consist)j(of)e(a)h(single)g(state)g(the)h (curren)o(t)g(v)o(ersion)-42 677 y(of)f(RE2C)g(simply)e(includes)j(all) d(states)k(in)e(non-trivial)e(SCCs)943 662 y Fq(7)962 677 y Fr(.)18 b(An)13 b(algorithm)e(giv)o(en)h(in)h([3)o(])g(w)o(as)g (used)h(to)f(compute)g(the)-42 726 y(SCCs.)-42 843 y Fj(3.4)56 b(Optimizations)-42 919 y Fr(Ev)o(en)17 b(go)q(o)q(d)f (optimizing)e(C)i(compilers)f(can)i(b)q(e)g(coaxed)f(in)o(to)g (generating)g(m)o(uc)o(h)f(smaller)g(and)h(sligh)o(tly)f(faster)i(co)q (de)g(if)-42 969 y(some)c(transformations)g(are)h(\014rst)h(applied)e (to)h(the)g(generated)i(co)q(de.)-42 1077 y Fh(3.4.1)48 b(Eliminatin)o(g)13 b(Bac)o(ktrac)o(king)-42 1154 y Fr(Consider)19 b(state)g(1)f(in)g(the)h(DF)-5 b(A)18 b(in)g(Figure)g(3.)31 b(Note)19 b(that)f(since)h(all)e(of)h(the)h(transitions)f(from)e(state) j(1)f(reac)o(h)h(only)-42 1203 y(accepting)f(states,)h(bac)o(ktrac)o (king)f(information)c(do)q(es)k(not)f(need)i(to)e(b)q(e)h(sa)o(v)o(ed)g (if)e(the)i(co)q(de)g(for)f(the)h Fm(default)e Fr(case)j(is)-42 1253 y(c)o(hanged)h(to)e(go)g(directly)h(to)g(the)g(co)q(de)h(asso)q (ciated)f(with)f(state)i(1.)32 b(The)19 b(result)h(of)e(this)h (optimization)d(is)i(sho)o(wn)h(in)-42 1303 y(Figure)d(7.)48 b(More)17 b(generally)m(,)e(this)h(optimization)d(can)j(b)q(e)g (applied)f(to)h(all)f(accepting)h(states)h(whic)o(h)f(ha)o(v)o(e)g (transitions)647 1396 y Fm(L1:)49 b(++YYCURSOR;)647 1446 y(M1:)g(switch\(*YYCURSOR\))p Fk(f)806 1495 y Fm(case)21 b('a':)43 b(goto)21 b(L6;)849 1545 y Fl(:)7 b(:)g(:)806 1595 y Fm(case)21 b('q':)43 b(goto)21 b(L6;)806 1645 y(case)g('r':)43 b(goto)21 b(L2;)806 1695 y(case)g('s':)43 b(goto)21 b(L6;)849 1744 y Fl(:)7 b(:)g(:)806 1794 y Fm(case)21 b('z':)43 b(goto)21 b(L6;)806 1844 y(default:)42 b(goto)21 b(A4;)762 1894 y Fk(g)419 1983 y Fr(Figure)14 b(7:)k(Co)q(de)c(for)g(state)g(1)g(with)g(bac)o(ktrac)o(king)f (eliminated.)-42 2083 y(only)h(to)f(accepting)i(states.)-42 2191 y Fh(3.4.2)48 b(Optimizing)12 b Fm(switch)p Fh(es)-42 2268 y Fr(Most)21 b(C)g(compilers)f(will)f(generate)j(either)f(a)g (jump)e(table)h(or)h(a)g(set)g(of)f Fm(if)g Fr(statemen)o(ts)h(for)g(a) f Fm(switch)g Fr(statemen)o(t)-42 2317 y(dep)q(ending)e(on)e(the)i (distribution)e(of)g(the)i Fm(case)e Fr(lab)q(els.)26 b(In)17 b(man)o(y)e(compilers)h(the)h(decision)g(as)g(to)g(whic)o(h)g (metho)q(d)f(to)-42 2367 y(use)j(is)f(biased)f(to)o(w)o(ards)h (generating)g(jump)e(tables)i(since)g(in)g(most)e(cases)j(this)f (results)h(in)e(faster)h(alb)q(eit)f(larger)h(co)q(de.)-42 2417 y(Ho)o(w)o(ev)o(er,)c(exp)q(erience)h(with)e(directly)h (executable)h(scanners)g(has)e(sho)o(wn,)g(that)g(replacing)h(man)o(y)d (of)i(these)h(jump)e(tables)p -42 2452 780 2 v 5 2478 a Fn(5)22 2490 y Fo(If)f(the)g(input)f(con)o(tains)g(no)h(newlines,)f (a)h(GLA)h(scanner)e(will)h(attempt)f(to)h(bu\013er)f(the)g(en)o(tire)g (input)h(stream.)5 2518 y Fn(6)22 2530 y Fo(The)h(problem)d(of)i (detecting)e(stac)o(k)h(o)o(v)o(er\015o)o(w)g(in)i(LR)f(parsers)f(is)i (probably)d(b)q(est)i(left)f(to)h(hardw)o(are)f(mec)o(hanisms)f([12)o (].)5 2558 y Fn(7)22 2569 y Fo(It)i(should)f(b)q(e)h(noted)f(that)g (\014nding)f(the)i(minimal)e(set)i(of)g(states)f(to)h(remo)o(v)o(e)f (from)g(an)h(SCC)h(in)f(order)f(to)h(render)f(it)h(acyclic)e(is)j (equiv)n(alen)o(t)-42 2609 y(to)g(the)e(FEEDBA)o(CK)j(VER)m(TEX)h(SET)d (problem)f(whic)o(h)h(is)g(NP-complete)e([6].)923 2748 y Fr(7)p eop %%Page: 8 8 8 7 bop -42 195 a Fr(with)12 b Fm(if)g Fr(statemen)o(ts)g(results)h(in) f(scanners)i(whic)o(h)d(are)i(m)o(uc)o(h)e(smaller,)f(and)i (surprisingly)m(,)f(in)h(some)f(cases)i(sligh)o(tly)e(faster)-42 245 y(as)h(w)o(ell)78 230 y Fq(8)96 245 y Fr(.)17 b(As)c(a)e(result,)h (the)h(capabilit)o(y)d(of)h(replacing)g(a)h Fm(switch)e Fr(statemen)o(t)i(with)f Fm(if)g Fr(statemen)o(ts)h(w)o(as)g(added)g (to)f(RE2C.)21 295 y(RE2C)j(bases)j(its)e(decision)g(on)g(whether)i(to) e(generate)i(a)d Fm(switch)g Fr(statemen)o(t)i(or)f(to)g(replace)h(it)f (with)g Fm(if)p Fr(s)g(solely)g(on)-42 345 y(the)j(densit)o(y)162 329 y Fq(9)198 345 y Fr(of)f(the)g Fm(switch)f Fr(statemen)o(t.)27 b(It)18 b(is)e(surprising)i(that)f(suc)o(h)h(a)e(simple)g(heuristic)i (w)o(orks)f(w)o(ell.)27 b(F)m(or)16 b(more)-42 394 y(esoteric)h (applications)e(in)g(whic)o(h)h(the)g(input)f(alphab)q(et)h(is)f(not)h (a)f(simple)f(in)o(terv)n(al)h(RE2C)g(has)g(the)i(adv)n(an)o(tage)d(in) h(that)-42 444 y(there)f(is)e(no)g(pro)o(vision)f(for)h(don't)f(care)i (en)o(tries)g(in)f(a)g Fm(switch)f Fr(statemen)o(t:)17 b(if)11 b(no)h Fm(case)f Fr(matc)o(hes)h(none)g(of)f(the)i(statemen)o (ts)-42 494 y(in)i(the)g Fm(switch)e Fr(m)o(ust)g(b)q(e)i(executed.)22 b(Ho)o(w)o(ev)o(er,)15 b(for)f(the)h(examples)f(in)g(T)m(able)f(1)h (this)h(is)f(not)h(so:)k(RE2C)14 b(simply)f(do)q(es)i(a)-42 544 y(b)q(etter)j(job)d(of)g(generating)g(co)q(de)i(for)e Fm(switch)f Fr(statemen)o(ts)i(than)g(the)g(compiler.)21 b([18)o(],)15 b([11)o(],)g(and)h([2)o(])f(also)g(address)i(the)-42 594 y(problem)c(of)g(generating)h(go)q(o)q(d)g(co)q(de)h(for)e Fm(switch)g Fr(statemen)o(ts.)-42 702 y Fh(Replacing)18 b Fm(switch)p Fh(es)g(with)g Fm(if)p Fh(s)41 b Fr(When)17 b(replacing)g(a)f Fm(switch)g Fr(statemen)o(t)h(with)g Fm(if)f Fr(statemen)o(ts,)i(it)f(is)f(useful)i(to)-42 751 y(sort)g(the)f Fm(case)p Fr(s)f(b)o(y)h(lab)q(el)f(and)g(then)h (group)g(them)f(according)h(to)f(rule)h(in)o(to)f(subranges,)i(as)f (illustrated)f(in)g(Figure)h(8.)-42 801 y(RE2C)c(replaces)h(a)f Fm(switch)f Fr(with)g(either)i(a)f(linear)f(or)h(binary)g(searc)o(h,)h (dep)q(ending)f(on)g(the)h(n)o(um)o(b)q(er)e(of)g(subranges)i(in)f(the) 467 894 y Fm(switch\(*YYCURSOR\))p Fk(f)511 944 y Fm(case)21 b('\\)o(000':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('/':)115 b(goto)21 b(L11;)576 994 y(case)g('0':)431 b(goto)21 b(L7;)576 1043 y(case)g('1':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('9':)115 b(goto)21 b(L8;)576 1093 y(case)g(':':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('`':)115 b(goto)21 b(L11;)576 1143 y(case)g('a':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('o':)115 b(goto)21 b(L6;)576 1193 y(case)g('p':)431 b(goto)21 b(L1;)576 1243 y(case)g('r':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('z':)115 b(goto)21 b(L6;)577 1292 y(case)g(')p Fk(f)p Fm(':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('\\377':)49 b(goto)21 b(L11;)467 1342 y Fk(g)672 1432 y Fr(Figure)14 b(8:)j Fm(switch)c Fr(for)g(state)i(0.)-42 1531 y Fm(switch)p Fr(.)i(If)d(there)h(are)f(only)f(a)h(few)g(subranges)h(a)e(linear)h (searc)o(h)h(is)f(generated;)g(otherwise,)h(a)e(binary)h(searc)o(h)h (is)f(used.)21 1581 y(Figure)f(9)f(and)g(Figure)h(10)f(sho)o(w)h (linear)f(and)h(binary)f(searc)o(hes,)i(resp)q(ectiv)o(ely)m(,)g(that)f (could)f(b)q(e)h(used)h(to)e(replace)52 b(the)607 1674 y Fm(if\(*YYCURSOR)19 b(<=)i('/'\))g(goto)g(L11;)607 1724 y(if\(*YYCURSOR)e(<=)i('0'\))g(goto)g(L7;)607 1773 y(if\(*YYCURSOR)e(<=)i('9'\))g(goto)g(L8;)607 1823 y(if\(*YYCURSOR)e (<=)i('`'\))g(goto)g(L11;)607 1873 y(if\(*YYCURSOR)e(==)i('p'\))g(goto) g(L1;)607 1923 y(if\(*YYCURSOR)e(<=)i('z'\))g(goto)g(L6;)607 1973 y(goto)g(L11;)477 2062 y Fr(Figure)14 b(9:)k(Linear)c(lo)q(okup)f (co)q(de)h(sequence)i(for)e(state)h(0.)p -42 2147 780 2 v 5 2173 a Fn(8)22 2185 y Fo(See)c(T)m(able)g(1)g(for)g(examples.)5 2213 y Fn(9)22 2225 y Fo(The)h(n)o(um)o(b)q(er)d(of)i(distinct)f (subranges)f(divided)g(b)o(y)i(the)g(total)f(n)o(um)o(b)q(er)g(of)h Fg(case)p Fo(s.)923 2748 y Fr(8)p eop %%Page: 9 9 9 8 bop 563 188 a Fm(if\(*YYCURSOR)19 b(<=)j('`'\))p Fk(f)650 238 y Fm(if\(*YYCURSOR)d(<=)j('/'\))f(goto)g(L11;)650 288 y(if\(*YYCURSOR)e(<=)j('0'\))f(goto)g(L7;)650 338 y(if\(*YYCURSOR)e(<=)j('9'\))f(goto)g(L8;)650 388 y(goto)g(L11;)563 438 y Fk(g)h Fm(else)f Fk(f)650 487 y Fm(if\(*YYCURSOR)e(==)j('p'\))f (goto)g(L1;)650 537 y(if\(*YYCURSOR)e(<=)j('z'\))f(goto)g(L6;)650 587 y(goto)g(L11;)563 637 y Fk(g)463 726 y Fr(Figure)14 b(10:)k(Binary)13 b(lo)q(okup)h(co)q(de)g(sequence)i(for)e(state)g(0.) -42 826 y Fm(switch)e Fr(in)g(Figure)h(8.)k(Note)d(in)e(particular)g (the)i(comparison)d(for)i(the)g(\\)p Fm(p)p Fr(")f(in)g(Figure)h(9.)k (This)c(optimization)d(eliminates)-42 876 y(a)k(comparison)f(eac)o(h)i (time)d(it)i(is)g(applied.)k(Also)c(note)h(that)f(no)g(comparisons)f (are)i(required)g(at)f(the)g(top)g(and)g(b)q(ottom)f(of)-42 925 y(the)i(range.)-42 1033 y Fh(Simplifyi)o(ng)j Fm(switch)p Fh(es)40 b Fr(As)19 b(a)f(general)g(rule,)i(b)q(etter)g(replacemen)o(t) e(co)q(de)h(can)g(b)q(e)g(generated)h(for)e(a)g Fm(switch)f Fr(if)h(it)-42 1083 y(con)o(tains)g(few)o(er)g(subranges.)31 b(One)18 b(w)o(a)o(y)f(of)g(reducing)h(the)g(n)o(um)o(b)q(er)f(of)g (subranges)i(in)e(a)g Fm(switch)p Fr(,)g(at)g(the)i(exp)q(ense)g(of)-42 1133 y(some)c(sp)q(eed,)j(is)d(to)h(lo)q(cate)g(a)f Fi(b)n(ase)h Fm(switch)f Fr(whic)o(h)g(is)h(v)o(ery)g(similar)d(and)j(then)g (replace)h(the)f(co)q(de)h(for)e(all)f(cases)k(whic)o(h)-42 1183 y(app)q(ear)d(iden)o(tically)d(in)i(the)g(base)h Fm(switch)d Fr(with)i(a)f Fm(goto)g Fr(to)h(\(the)h(co)q(de)f (generated)i(for\))d(the)i(base)f Fm(switch)p Fr(.)j(RE2C)c(uses)-42 1233 y(this)18 b(optimization)d(to)i(go)q(o)q(d)g(adv)n(an)o(tage)g (when)h(generating)g(co)q(de)g(in)f(the)h(transitions)g(of)f(states)i (used)f(for)f(matc)o(hing)-42 1282 y(k)o(eyw)o(ords.)i(F)m(or)12 b(example,)f(note)j(that)f(the)g Fm(switch)p Fr(es)f(for)h(states)h(1)f (through)g(4)f(di\013er)h(from)f(the)h Fm(switch)f Fr(of)g(state)i(6)e (only)-42 1332 y(on)i(\\)p Fm(r)p Fr(",)f(\\)p Fm(i)p Fr(",)g(\\)p Fm(n)p Fr(",)f(and)i(\\)p Fm(t)p Fr(",)f(resp)q(ectiv)o (ely)m(.)19 b(Figure)14 b(11)f(sho)o(ws)h(the)h(co)q(de)g(generated)g (for)e(these)j(states.)37 b(Another)15 b(w)o(a)o(y)560 1425 y Fm(L1:)49 b(++YYCURSOR;)560 1475 y(M1:)g(if\(*YYCURSOR)19 b(!=)j('r'\))f(goto)g(M6;)560 1525 y(L2:)49 b(++YYCURSOR;)560 1574 y(M2:)g(if\(*YYCURSOR)19 b(!=)j('i'\))f(goto)g(M6;)560 1624 y(L3:)49 b(++YYCURSOR;)560 1674 y(M3:)g(if\(*YYCURSOR)19 b(!=)j('n'\))f(goto)g(M6;)560 1724 y(L4:)49 b(++YYCURSOR;)560 1774 y(M4:)g(if\(*YYCURSOR)19 b(!=)j('t'\))f(goto)g(M6;)675 1824 y(goto)g(L5;)444 1913 y Fr(Figure)14 b(11:)j(Co)q(de)d(for)g (states)h(1{4)e(after)h(all)f(optimizations.)-42 2013 y(of)h(implemen)o(ting)d(this)j(optimization)e(is)i(to)g(construct)i(a) e(tunnel)g(automaton)f([9)o(])h(from)e(the)j(DF)-5 b(A,)14 b(and)g(then)h(generate)-42 2062 y(co)q(de)g(from)d(the)j(tunnel)f (automaton.)-42 2170 y Fh(Common)i(Sub)q(expression)d(Eliminatio)o(n)38 b Fr(Man)o(y)14 b(compilers)g(will)f(miss)g(the)i(fact)f(that)h Fm(*YYCURSOR)d Fr(in)i(Figures)h(9)-42 2220 y(and)e(10)f(should)h(b)q (e)g(loaded)f(in)o(to)g(a)h(register.)19 b(Most)13 b(can)f(b)q(e)i (coaxed)f(to)f(do)h(so)g(b)o(y)f(\014rst)i(assigning)e Fm(*YYCURSOR)e Fr(to)j(a)f(lo)q(cal)-42 2270 y(v)n(ariable.)-42 2407 y Fs(4)67 b(Exp)r(erimen)n(tal)25 b(Results)-42 2498 y Fr(T)m(able)16 b(1)h(compares)f(t)o(w)o(o)g(RE2C-generated)h(C)g (scanners)h(with)e(the)i(\(hand-co)q(ded\))f(lcc)g(scanner)h([5)o(])e (and)h(comparable)-42 2548 y(GLA-)f(and)g(\015ex-generated)i(scanners)f (on)f(a)g(v)n(ariet)o(y)g(of)f(platforms.)48 b(It)16 b(rep)q(orts)i(the)e(times)f(in)h(seconds)i(required)f(b)o(y)-42 2598 y(the)e(v)n(arious)e(scanners)i(to)e(scan)h(ab)q(out)g(170,000)e (lines)h(of)g(C)h(source.)19 b(The)14 b(5,607,820)d(b)o(yte)j(source)g (\014le)g(used)h(essen)o(tially)923 2748 y(9)p eop %%Page: 10 10 10 9 bop 707 452 a Fr(time)438 b(space)328 502 y(program)p 516 517 2 50 v 82 w(user)83 b(sys)76 b(total)p 975 517 V 82 w(text)j(data)d(bss)f(total)p 292 519 1284 2 v 860 554 a Fi(R4000)16 b(/)f(gc)n(c2.3.3)h(-O)p 292 570 V 317 605 a Fr(\015ex)e(-Cem)p 516 620 2 50 v 71 w(10.36)p 683 620 V 50 w(0.87)p 808 620 V 71 w(11.23)p 975 620 V 71 w(5200)p 1130 620 V 71 w(4192)p 1285 620 V 92 w(48)p 1420 620 V 72 w(9440)357 655 y(\015ex)h(-Cf)p 516 670 V 92 w(5.44)p 683 670 V 50 w(0.72)p 808 670 V 92 w(6.16)p 975 670 V 71 w(4688)p 1130 670 V 51 w(64384)p 1285 670 V 91 w(48)p 1420 670 V 51 w(69120)443 705 y(lcc)p 516 720 V 93 w(3.19)p 683 720 V 50 w(0.67)p 808 720 V 92 w(3.86)p 975 720 V 71 w(7328)p 1130 720 V 71 w(1216)p 1285 720 V 51 w(8256)p 1420 720 V 50 w(16800)438 754 y(gla)p 516 769 V 92 w(2.89)p 683 769 V 50 w(0.63)p 808 769 V 92 w(3.52)p 975 769 V 50 w(11552)p 1130 769 V 71 w(3056)p 1285 769 V 72 w(144)p 1420 769 V 50 w(14752)417 804 y(re2c)p 516 819 V 94 w(2.54)p 683 819 V 50 w(0.68)p 808 819 V 92 w(3.22)p 975 819 V 50 w(13264)p 1130 819 V 92 w(512)p 1285 819 V 113 w(0)p 1420 819 V 51 w(13776)373 854 y(re2c)g(-s)p 516 869 V 93 w(2.38)p 683 869 V 50 w(0.67)p 808 869 V 92 w(3.05)p 975 869 V 50 w(11056)p 1130 869 V 71 w(4528)p 1285 869 V 113 w(0)p 1420 869 V 51 w(15584)p 292 871 1284 2 v 737 906 a Fi(R4000)h(/)f(c)n(c2.11.2)g (-O)g(-Olimit)e(5000)p 292 922 V 317 957 a Fr(\015ex)h(-Cem)p 516 972 2 50 v 92 w(9.97)p 683 972 V 50 w(0.89)p 808 972 V 71 w(10.86)p 975 972 V 71 w(4704)p 1130 972 V 71 w(4240)p 1285 972 V 92 w(32)p 1420 972 V 72 w(8976)357 1007 y(\015ex)h(-Cf)p 516 1022 V 92 w(6.19)p 683 1022 V 50 w(0.72)p 808 1022 V 92 w(6.91)p 975 1022 V 71 w(4256)p 1130 1022 V 51 w(64432)p 1285 1022 V 91 w(32)p 1420 1022 V 51 w(68720)443 1057 y(lcc)p 516 1072 V 93 w(2.74)p 683 1072 V 50 w(0.72)p 808 1072 V 92 w(3.46)p 975 1072 V 71 w(9664)p 1130 1072 V 92 w(864)p 1285 1072 V 51 w(8256)p 1420 1072 V 50 w(18784)438 1106 y(gla)p 516 1121 V 92 w(2.46)p 683 1121 V 50 w(0.69)p 808 1121 V 92 w(3.15)p 975 1121 V 50 w(19232)p 1130 1121 V 71 w(2992)p 1285 1121 V 72 w(128)p 1420 1121 V 50 w(22352)417 1156 y(re2c)p 516 1171 V 94 w(2.97)p 683 1171 V 50 w(0.63)p 808 1171 V 92 w(3.60)p 975 1171 V 50 w(15088)p 1130 1171 V 92 w(528)p 1285 1171 V 113 w(0)p 1420 1171 V 51 w(15616)373 1206 y(re2c)g(-s)p 516 1221 V 93 w(2.94)p 683 1221 V 50 w(0.61)p 808 1221 V 92 w(3.55)p 975 1221 V 50 w(16080)p 1130 1221 V 51 w(11808)p 1285 1221 V 112 w(0)p 1420 1221 V 51 w(27888)p 292 1223 1284 2 v 849 1258 a Fi(SP)m(AR)o(C)g(/)g(gc)n (c2.3.3)g(-O)p 292 1274 V 317 1309 a Fr(\015ex)f(-Cem)p 516 1324 2 50 v 71 w(16.03)p 683 1324 V 50 w(2.78)p 808 1324 V 71 w(18.81)p 975 1324 V 71 w(8992)p 1130 1324 V 113 w(24)p 1285 1324 V 92 w(48)p 1420 1324 V 72 w(9064)357 1359 y(\015ex)h(-Cf)p 516 1374 V 92 w(7.84)p 683 1374 V 50 w(2.69)p 808 1374 V 71 w(10.53)p 975 1374 V 71 w(6560)p 1130 1374 V 51 w(62232)p 1285 1374 V 91 w(48)p 1420 1374 V 51 w(68840)443 1409 y(lcc)p 516 1424 V 93 w(4.46)p 683 1424 V 50 w(2.01)p 808 1424 V 92 w(6.47)p 975 1424 V 71 w(7800)p 1130 1424 V 92 w(384)p 1285 1424 V 51 w(8256)p 1420 1424 V 50 w(16440)438 1459 y(gla)p 516 1473 V 92 w(4.08)p 683 1473 V 50 w(1.56)p 808 1473 V 92 w(5.64)p 975 1473 V 50 w(10864)p 1130 1473 V 71 w(2168)p 1285 1473 V 72 w(136)p 1420 1473 V 50 w(13168)417 1508 y(re2c)p 516 1523 V 94 w(3.67)p 683 1523 V 50 w(1.76)p 808 1523 V 92 w(5.43)p 975 1523 V 50 w(13552)p 1130 1523 V 134 w(0)p 1285 1523 V 113 w(0)p 1420 1523 V 51 w(13552)373 1558 y(re2c)g(-s)p 516 1573 V 93 w(3.48)p 683 1573 V 50 w(1.70)p 808 1573 V 92 w(5.18)p 975 1573 V 50 w(15464)p 1130 1573 V 134 w(0)p 1285 1573 V 113 w(0)p 1420 1573 V 51 w(15464)p 292 1575 1284 2 v 880 1610 a Fi(i486)g(/)g(gc)n(c2.4.5)g (-O)p 292 1626 V 317 1661 a Fr(\015ex)f(-Cem)p 516 1676 2 50 v 71 w(21.86)p 683 1676 V 50 w(1.26)p 808 1676 V 71 w(23.12)p 975 1676 V 71 w(8536)p 1130 1676 V 113 w(20)p 1285 1676 V 92 w(24)p 1420 1676 V 72 w(8580)357 1711 y(\015ex)h(-Cf)p 516 1726 V 92 w(9.12)p 683 1726 V 50 w(1.18)p 808 1726 V 71 w(10.30)p 975 1726 V 71 w(6200)p 1130 1726 V 51 w(62228)p 1285 1726 V 91 w(24)p 1420 1726 V 51 w(68452)443 1761 y(lcc)p 516 1776 V 93 w(5.45)p 683 1776 V 50 w(1.22)p 808 1776 V 92 w(6.67)p 975 1776 V 71 w(5924)p 1130 1776 V 92 w(384)p 1285 1776 V 51 w(8240)p 1420 1776 V 50 w(14548)438 1811 y(gla)p 516 1825 V 92 w(5.11)p 683 1825 V 50 w(1.18)p 808 1825 V 92 w(6.29)p 975 1825 V 50 w(15496)p 1130 1825 V 71 w(2144)p 1285 1825 V 72 w(108)p 1420 1825 V 50 w(17748)417 1860 y(re2c)p 516 1875 V 94 w(4.73)p 683 1875 V 50 w(1.13)p 808 1875 V 92 w(5.86)p 975 1875 V 71 w(9800)p 1130 1875 V 134 w(0)p 1285 1875 V 113 w(0)p 1420 1875 V 72 w(9800)373 1910 y(re2c)g(-s)p 516 1925 V 93 w(4.85)p 683 1925 V 50 w(1.17)p 808 1925 V 92 w(6.02)p 975 1925 V 50 w(12968)p 1130 1925 V 134 w(0)p 1285 1925 V 113 w(0)p 1420 1925 V 51 w(12968)p 292 1927 1284 2 v 871 1962 a Fi(68020)h(/)f(gc)n(c1.40)h (-O)p 292 1978 V 317 2013 a Fr(\015ex)e(-Cem)p 516 2028 2 50 v 50 w(117.37)p 683 2028 V 50 w(5.89)p 808 2028 V 51 w(123.26)p 975 2028 V 70 w(7700)p 1130 2028 V 113 w(20)p 1285 2028 V 92 w(22)p 1420 2028 V 72 w(7742)357 2063 y(\015ex)h(-Cf)p 516 2078 V 71 w(50.93)p 683 2078 V 50 w(5.27)p 808 2078 V 71 w(56.20)p 975 2078 V 71 w(5388)p 1130 2078 V 51 w(62228)p 1285 2078 V 91 w(22)p 1420 2078 V 51 w(67638)443 2113 y(lcc)p 516 2128 V 72 w(33.28)p 683 2128 V 50 w(6.28)p 808 2128 V 71 w(39.56)p 975 2128 V 71 w(4956)p 1130 2128 V 92 w(384)p 1285 2128 V 51 w(8236)p 1420 2128 V 50 w(13576)438 2163 y(gla)p 516 2177 V 71 w(33.80)p 683 2177 V 50 w(4.20)p 808 2177 V 71 w(38.00)p 975 2177 V 50 w(13904)p 1130 2177 V 71 w(2144)p 1285 2177 V 72 w(106)p 1420 2177 V 50 w(16154)417 2212 y(re2c)p 516 2227 V 73 w(28.92)p 683 2227 V 50 w(2.91)p 808 2227 V 71 w(31.83)p 975 2227 V 71 w(8556)p 1130 2227 V 134 w(0)p 1285 2227 V 113 w(0)p 1420 2227 V 72 w(8556)373 2262 y(re2c)g(-s)p 516 2277 V 72 w(30.72)p 683 2277 V 50 w(3.19)p 808 2277 V 71 w(33.91)p 975 2277 V 71 w(9856)p 1130 2277 V 134 w(0)p 1285 2277 V 113 w(0)p 1420 2277 V 72 w(9856)513 2352 y(T)m(able)e(1:)18 b(Comparison)12 b(of)h(generated)j(C)d(scanners.)913 2748 y(10)p eop %%Page: 11 11 11 10 bop -42 195 a Fr(consists)15 b(of)d(10)h(copies)h(of)e(the)i (source)h(to)e(James)f(Clark's)h(SGML)f(parser,)i(sgmls)1263 180 y Fq(10)1297 195 y Fr(.)k(The)c(times)e(rep)q(orted)i(are)g(a)o(v)o (erages)-42 245 y(for)j(10)g(trials;)h(the)g(sizes)g(rep)q(orted)h (include)e(ev)o(erything)h(but)g(C)f(library)f(co)q(de)1251 230 y Fq(11)1287 245 y Fr(.)28 b(\015ex)18 b(pro)o(vides)f(a)g(n)o(um)o (b)q(er)g(of)g(table)-42 295 y(compression)e(options)g(including)f Fm(-Cem)g Fr(for)h(tables)g(optimized)f(for)h(space,)h(and)f Fm(-Cf)f Fr(for)h(tables)g(optimized)f(for)g(sp)q(eed.)-42 345 y(By)f(default,)e(RE2C)h(will)f(use)h(a)g(heuristic)h(to)f(decide)h (if)e(a)h Fm(switch)f Fr(should)h(b)q(e)g(replaced)h(with)f Fm(if)p Fr(s:)17 b(the)c Fm(-s)e Fr(option)h(forces)-42 394 y(RE2C)i(to)g(alw)o(a)o(ys)e(generate)k Fm(switch)p Fr(es.)21 444 y(T)m(o)21 b(mak)o(e)g(comparisons)g(more)g(meaningful,)h (all)e(seman)o(tic)i(pro)q(cessing)h(co)q(de)g(w)o(as)f(remo)o(v)o(ed)g (from)e(the)j(GLA-)-42 494 y(generated)d(and)f(lcc)f(scanners,)j(and)d (co)q(de)i(to)e(pro)o(vide)g(line)g(and)g(column)f(n)o(um)o(b)q(er)h (information)d(w)o(as)k(added)g(to)f(the)-42 544 y(RE2C)c(sp)q (eci\014cation.)19 b(The)14 b(remaining)e(di\013erences)k(of)d(note)h (b)q(et)o(w)o(een)i(the)e(scanners)i(include:)21 627 y Fk(\017)k Fr(The)15 b(\015ex-generated)g(scanners)h(do)d(not)h(pro)o (vide)g(line)f(or)h(column)e(n)o(um)o(b)q(er)i(information.)21 710 y Fk(\017)20 b Fr(The)15 b(GLA-generated)f(scanner)i(assumes)d (7-bit)h(input.)21 793 y(As)e(a)g(general)g(rule,)h(the)f (RE2C-generated)h(scanners)h(w)o(ere)f(the)f(fastest,)h(follo)o(w)o(ed) e(b)o(y)h(the)g(GLA-generated)h(scanner)-42 843 y(and)j(then)g(the)g (lcc)g(scanner.)24 b(The)15 b(\015ex-generated)i(scanners)h(w)o(ere)e (signi\014can)o(tly)e(slo)o(w)o(er.)23 b(Only)15 b(the)h (space-optimized)-42 892 y(\015ex)i(scanner)h(w)o(as)e(smaller)f(than)h (the)h(default)f(RE2C)g(scanner,)i(and)e(only)g(b)o(y)g(a)g(narro)o(w)g (margin.)26 b(There)19 b(are)e(some)-42 942 y(arc)o(hitectures,)j (notably)d(the)g(IBM)h(370,)f(on)g(whic)o(h)g(table)g(driv)o(en)g (scanners)i(will)d(probably)h(pro)q(duce)h(b)q(etter)h(results:)-42 992 y(IBM)c(370)e(compilers)g(t)o(ypically)f(generate)j(p)q(o)q(or)f (co)q(de)h(for)f(large)f(routines.)21 1042 y(The)22 b(v)n(arious)f (scanners)j(and)d(input)h(\014les)g(used)h(for)e(the)i(tests)g(are)f(a) o(v)n(ailable)e(for)h(anon)o(ymous)f(ftp)i(from)e Ff(csg.-)-42 1092 y(u)o(w)o(aterlo)q(o.ca)10 b Fr(in)f Ff(/pub/p)q (eter/re2c/sampler.ta)o(r.Z)p Fr(.)i(\015ex)f(is)f(a)o(v)n(ailable)e (for)i(anon)o(ymous)e(ftp)i(from)f Ff(ftp.uu.net)i Fr(as)f Ff(/pack)o(ages/-)-42 1142 y(gnu/\015ex-2.3.7.ta)o(r.Z)p Fr(,)14 b(GLA)h(is)g(a)o(v)n(ailable)e(for)i(anon)o(ymous)f(ftp)h(from) f Ff(ftp.cs.colo)o(rado.edu)i Fr(as)f(part)g(of)g(the)h(Eli)f(pac)o(k)n (age)-42 1191 y Ff(/pub/cs/distribs/eli/Eli3.4.2.ta)o(r.Z)p Fr(,)i(and)h(the)g(lcc)h(fron)o(t)e(end)i(is)f(a)o(v)n(ailable)e(for)h (anon)o(ymous)g(ftp)g(from)g Ff(p)o(rinceton.edu)-42 1241 y Fr(as)f Ff(/pub/lcc/lccfe-1.9.ta)o(r.Z)p Fr(.)g(An)f(alpha)g(v)o (ersion)g(of)g(RE2C)g(will)f(so)q(on)i(b)q(e)g(made)e(a)o(v)n(ailable)f (for)i(anon)o(ymous)f(ftp)h(from)-42 1291 y Ff(csg.u)o(w)o(aterlo)q (o.ca)g Fr(as)f Ff(/pub/p)q(eter/re2c/re2c-0.5.ta)o(r.Z)p Fr(.)-42 1428 y Fs(5)67 b(Related)23 b(W)-6 b(ork)-42 1519 y Fr(The)18 b(k)o(ey)g(to)f(the)h(p)q(erformance)f(and)g (\015exibilit)o(y)e(of)i(an)g(RE2C-generated)h(scanner)h(is)e(the)h (approac)o(h)f(used)h(to)f(deter-)-42 1569 y(mine)e(when)i(the)g (bu\013er)g(needs)g(\014lling.)23 b(In)o(terestingly)m(,)16 b(the)h(lcc)g(scanner)g([5)o(])f(uses)h(a)f(similar)e(approac)o(h)i (\(with)g(certain)-42 1619 y(concessions)g(to)e(k)o(eep)g(the)h(b)q(o)q (okk)o(eeping)e(manageable.\))-42 1735 y Fj(5.1)56 b(Comparison)18 b(With)g(GLA)-42 1812 y Fr(It)h(is)f(natural)f(to)h(compare)f(RE2C)h (to)g(GLA)f([7])g(as)h(it)g(also)f(generates)j(directly)f(executable)g (scanners.)32 b(RE2C)18 b(and)-42 1861 y(GLA)d(ha)o(v)o(e)g(man)o(y)e (di\013erences)k(simply)c(b)q(ecause)j(they)g(are)f(targeted)h(for)e (di\013eren)o(t)i(t)o(yp)q(es)g(of)e(users:)22 b(GLA)14 b(is)h(in)o(tended)-42 1911 y(for)g(p)q(eople)h(who)f(simply)e(wish)i (to)f(lev)o(erage)i(their)f(e\013orts)i(with)d(existing)h(to)q(ols)g (and)g(libraries;)g(RE2C)f(is)h(in)o(tended)h(for)-42 1961 y(p)q(eople)d(that)g(ha)o(v)o(e)f(more)g(sp)q(ecialized)h(needs)h (and)e(are)h(willing)d(to)j(pro)o(vide)f(their)h(o)o(wn)f(supp)q(ort)h (routines.)18 b(F)m(or)12 b(example,)-42 2011 y(GLA)h(pro)o(vides)h(a)f (go)q(o)q(d)f(bu\013ering)i(mec)o(hanism,)c(RE2C)j(users)i(m)o(ust)d (supply)h(their)h(o)o(wn.)j(These)d(di\013erences,)i(ho)o(w)o(ev)o(er,) -42 2061 y(are)f(not)f(unique)f(to)h(GLA)g(and)f(ha)o(v)o(e)h(b)q(een)h (addressed)h(for)d(the)i(most)e(part)h(in)f(previous)h(sections.)21 2111 y(Of)j(more)f(in)o(terest)i(is)f(the)h(di\013erences)i(in)c(the)i (co)q(de)g(that)f(RE2C)g(and)g(GLA)g(generate.)29 b(Scanners)18 b(generated)h(b)o(y)-42 2160 y(RE2C)14 b(and)g(GLA)f(di\013er)h (primarily)e(in)h(t)o(w)o(o)h(asp)q(ects:)19 b(ho)o(w)14 b(they)g(determine)g(when)h(the)f(bu\013er)h(needs)g(\014lling,)d(and)i (ho)o(w)-42 2210 y(they)h(generate)g(co)q(de)g(for)e Fm(switch)p Fr(es.)21 2260 y(GLA)d(uses)i(the)f(ASCI)q(I)g(NUL)f(c)o (haracter)i(as)f(the)g(sen)o(tinel)g(to)f(determine)h(when)g(the)g (bu\013er)g(needs)h(\014lling.)j(T)m(o)10 b(impro)o(v)o(e)-42 2310 y(the)j(sp)q(eed)h(and)e(reduce)i(the)f(size)g(of)e(the)i (generated)g(scanners)h(GLA)e(bu\013ers)i(only)d(complete)h(lines)g (and)g(restricts)i(tok)o(ens)-42 2360 y(to)d(those)g(that)f(do)g(not)g (con)o(tain)g(newline)g(\(ASCI)q(I)h(LF\))f(c)o(haracters)1013 2345 y Fq(12)1050 2360 y Fr(.)17 b(If)10 b(a)g(tok)o(en)g(with)g(an)g (em)o(b)q(edded)h(newline)f(c)o(haracter)-42 2409 y(\(suc)o(h)k(as)f(a) f(commen)o(t\))f(is)h(required)i(it)e(m)o(ust)f(b)q(e)j(recognized)g (with)e(an)g(auxiliary)f(scanner)j(written)f(in)f(C.)g(This)h(co)q(de)g (has)-42 2459 y(to)h(p)q(erform)f(the)i(bu\013ering-related)f(b)q(o)q (okk)o(eeping)g(that)g(is)g(done)g(automatically)d(b)o(y)i (GLA-generated)i(co)q(de.)p -42 2494 780 2 v -11 2521 a Fn(10)22 2532 y Fo(Av)n(ailable)10 b(for)h(anon)o(ymous)d(ftp)j(from) f Fe(ftp.uu.net)i Fo(as)f Fe(/pub/text-p)o(ro)q(cessing/sg)o(ml/sgmls-) o(1.1.)o(ta)o(r.Z)o Fo(.)-11 2560 y Fn(11)22 2572 y Fo(The)h (GLA-generated)c(scanner)i(sizes)h(also)f(do)h(not)g(include)f(the)g (size)h(of)g(an)g(error)g(rep)q(orting)e(mo)q(dule)g Fg(err.o)p Fo(.)-11 2600 y Fn(12)22 2612 y Fo(This)j(is)f(discussed)f (in)h(more)f(detail)g(in)h(Section)f(3.3.1.)913 2748 y Fr(11)p eop %%Page: 12 12 12 11 bop 21 195 a Fr(The)20 b(mec)o(hanism)e(RE2C)h(uses)i(to)f (re\014ll)g(the)g(bu\013er)h(eliminates)d(these)k(restrictions)f(and)e (y)o(et)i(allo)o(ws)d(RE2C)i(to)-42 245 y(generate)15 b(faster)f(and)g(smaller)e(scanners.)19 b(RE2C)13 b(also)g(allo)o(ws)g (b)q(oth)g(auxiliary)f(and)h(primary)f(scanners)j(to)f(b)q(e)g(sp)q (eci\014ed)-42 295 y(using)g(regular)g(expressions.)20 b(F)m(or)13 b(example,)f(App)q(endix)i(A)g(con)o(tains)g(an)g (auxiliary)e(scanner)j(for)f(commen)o(ts.)21 345 y(Lik)o(e)i(RE2C,)g (GLA)h(usually)f(replaces)i Fm(switch)p Fr(es)e(with)h Fm(if)p Fr(s.)27 b(Unlik)o(e)16 b(RE2C,)g(GLA)g(do)q(es)i(not)f(use)g (a)g Fm(case)p Fr(-based)-42 394 y(heuristic)f(to)f(decide)h(whic)o(h)f Fm(switch)p Fr(es)g(to)g(replace:)21 b(rather,)16 b(it)f(alw)o(a)o(ys)f (generates)j(a)e Fm(switch)e Fr(for)i(the)h(start)g(state)g(and)-42 444 y(uses)g Fm(if)p Fr(s)d(for)h(the)g(rest.)20 b(GLA)13 b(replaces)i Fm(switch)p Fr(es)f(with)f(co)q(de)i(sequences)h(of)e(the) g(form:)138 518 y Fm(if\(*YYCURSOR)20 b Fi(in)i Fl(S)505 524 y Fq(1)524 518 y Fm(\))f(goto)g(L)698 524 y Fq(1)717 518 y Fm(;)226 562 y(.)226 579 y(.)226 595 y(.)138 645 y(if\(*YYCURSOR)f Fi(in)i Fl(S)505 651 y Fd(n)528 645 y Fm(\))f(goto)g(L)702 651 y Fd(n)725 645 y Fm(;)-42 737 y Fr(Bit)12 b(v)o(ectors)h(are)f(used)h(for)e(all)f(mem)o(b)q (ership)g(tests)k(in)o(v)o(olving)9 b(sets)k(with)e(more)g(than)g(one)h (elemen)o(t.)17 b(As)12 b(an)g(optimization,)-42 787 y(if)k(a)f(state)i(has)f(a)g(transition)g(to)g(itself)f(the)i(test)g (as)f(to)g(whether)h(to)f(remain)f(in)g(the)i(same)e(state)i(or)f(not)g (is)g(p)q(erformed)-42 837 y(\014rst.)25 b(F)m(or)16 b(example,)e(Figure)i(12)f(sho)o(ws)i(the)f(GLA-generated)h(co)q(de)f (for)g(state)g(8)g(in)f(Figure)h(2)1506 822 y Fq(13)1541 837 y Fr(.)73 b(Note)16 b(the)g(use)h(of)291 926 y Fm(static)j (unsigned)g(char)h(yytable[])f(=)i Fk(f)291 976 y Fm(0x00,)e(0x00,)h (0x00,)g(0x00,)g(/*)65 b(0.)g(1.)g(2.)f(3.)22 b(*/)291 1025 y Fl(:)7 b(:)g(:)291 1075 y Fm(0x00,)20 b(0x00,)h(0x00,)g(0x00,)g (/*)43 b(,)g(-)h(.)f(/)22 b(*/)291 1125 y(0x01,)e(0x01,)h(0x01,)g (0x01,)g(/*)43 b(0)g(1)h(2)f(3)22 b(*/)291 1175 y(0x01,)e(0x01,)h (0x01,)g(0x01,)g(/*)43 b(4)g(5)h(6)f(7)22 b(*/)291 1225 y(0x01,)e(0x01,)h(0x00,)g(0x00,)g(/*)43 b(8)g(9)h(:)f(;)22 b(*/)291 1275 y(0x00,)e(0x00,)h(0x00,)g(0x00,)g(/*)43 b(<)g(=)h(>)f(?)22 b(*/)291 1324 y Fl(:)7 b(:)g(:)291 1374 y Fm(0x00,)20 b(0x00,)h(0x00,)g(0x00)g Fk(g)p Fm(;)g(/*)43 b(|)h Fk(g)108 b Fm(127.)21 b(*/)378 1419 y(.)378 1435 y(.)378 1452 y(.)291 1502 y(L8:)g(if\(yytable[\(*YYC)o(URSOR)o(++\)+0)o (])e(&)j(1<<0\))e(goto)h(L8;--YYCURSOR;)291 1552 y(goto)g(A3;)527 1631 y Fr(Figure)14 b(12:)j(GLA)d(co)q(de)h(for)e(state)i(8)e(in)h (Figure)g(2.)-42 1731 y(128)i(elemen)o(t)f(en)o(tries)i(for)e(the)i (bit)f(v)o(ectors)h(to)e(reduce)j(the)e(scanner)i(size:)k(A)16 b(GLA-generated)h(scanner)g(will)e(crash)h(or)-42 1781 y(otherwise)f(b)q(eha)o(v)o(e)g(unpredictably)f(if)f(a)h(non-ASCI)q(I)f (c)o(haracter)j(app)q(ears)e(in)g(the)g(source)1395 1766 y Fq(14)1432 1781 y Fr(.)21 1831 y(In)k(some)g(sense)j(the)e(results)h (of)e(Section)h(4)f(are)i(a)e(bit)g(misleading:)26 b(the)19 b(GLA)f(sp)q(eci\014cation)i(that)e(w)o(as)h(used)h(to)-42 1880 y(obtain)15 b(the)g(\014gures)h(in)e(T)m(able)g(1)h(is)g(not)f(a)h (t)o(ypical)f(GLA)g(sp)q(eci\014cation.)22 b(Usually)14 b(scanners)j(implem)o(en)o(ted)c(using)i(GLA)-42 1930 y(will)h(handle)i(k)o(eyw)o(ords)f(as)h(iden)o(ti\014ers)g(as)g(GLA)f (has)g(b)q(een)i(optimized)d(for)h(this)g([7)o(].)29 b(T)m(able)16 b(2)h(presen)o(ts)j(a)d(more)f(fair)-42 1980 y(comparison:)h(the)e(k)o(eyw)o(ord)f(matc)o(hing)e(rules)j(w)o (ere)g(remo)o(v)o(ed)e(from)f(b)q(oth)j(the)f(GLA)g(and)g(RE2C)f(sp)q (eci\014cations.)39 b(The)-42 2030 y(RE2C-generated)18 b(scanners)g(w)o(ere)f(still)e(faster)i(and)g(smaller)d(except)k(on)e (the)h(MIPS)g(R4000,)e(where)i(the)g(cc-compiled)-42 2080 y(GLA)d(scanner)h(w)o(as)f(sligh)o(tly)f(faster.)21 2130 y(Note)k(ho)o(w)o(ev)o(er,)g(that)g(the)g(RE2C)g(sp)q (eci\014cation)g(can)g(b)q(e)g(substan)o(tially)f(sp)q(ed)i(up)f(b)o(y) f(using)h(a)f(tec)o(hnique)i(akin)e(to)-42 2179 y(lo)q(op)e(unrolling.) i(Replacing)d(the)i(original)d(k)o(eyw)o(ord)h(matc)o(hing)f(rule)j(in) e(the)i(RE2C)e(sp)q(eci\014cation)1548 2164 y Fq(15)138 2252 y Fm(L)22 b(I*)435 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)-42 2345 y Fr(with)14 b(the)h(follo)o(wing)c(rules)p -42 2380 780 2 v -11 2407 a Fn(13)22 2419 y Fo(Actually)m(,)f(GLA)i(w)o (ould)f(generate)e(a)i Fg(while)f Fo(statemen)o(t.)j(Most)e(compilers)e (will)j(generate)d(the)i(same)f(ob)r(ject)g(co)q(de)g(for)h(b)q(oth.) -11 2446 y Fn(14)22 2458 y Fo(No)h(c)o(hec)o(ks)e(are)h(made)f(to)h (ensure)f(that)g(only)h(7-bit)f(c)o(haracters)f(app)q(ear)h(in)h(the)g (input.)-11 2486 y Fn(15)22 2498 y Fg(L)e Fo(=)i Fg([a-zA-Z)p 215 2498 11 2 v 10 w(])g Fo(and)g Fg(I)e Fo(=)i Fg([a-zA-Z)p 514 2498 V 10 w(0-9])n Fo(.)913 2748 y Fr(12)p eop %%Page: 13 13 13 12 bop 727 776 a Fr(time)387 b(space)380 826 y(program)p 557 841 2 50 v 61 w(user)72 b(sys)65 b(total)p 974 841 V 62 w(text)58 b(data)e(bss)64 b(total)p 355 842 1158 2 v 850 877 a Fi(R4000)16 b(/)f(gc)n(c2.3.3)g(-O)p 355 894 V 479 929 a Fr(gla)p 557 944 2 50 v 71 w(2.63)p 703 944 V 51 w(0.58)p 828 944 V 71 w(3.21)p 974 944 V 50 w(5040)p 1109 944 V 50 w(2496)p 1243 944 V 51 w(144)p 1357 944 V 71 w(7680)458 979 y(re2c)p 557 994 V 73 w(2.50)p 703 994 V 51 w(0.65)p 828 994 V 71 w(3.15)p 974 994 V 50 w(6448)p 1109 994 V 71 w(512)p 1243 994 V 92 w(0)p 1357 994 V 72 w(6960)414 1028 y(re2c)g(-s)p 557 1043 V 72 w(2.49)p 703 1043 V 51 w(0.67)p 828 1043 V 71 w(3.16)p 974 1043 V 50 w(4976)p 1109 1043 V 50 w(4224)p 1243 1043 V 92 w(0)p 1357 1043 V 72 w(9200)382 1078 y(re2c)g(-s)f Fk(y)p 557 1093 V 72 w Fr(2.08)p 703 1093 V 51 w(0.59)p 828 1093 V 71 w(2.67)p 974 1093 V 50 w(5792)p 1109 1093 V 50 w(4224)p 1243 1093 V 92 w(0)p 1357 1093 V 52 w(10016)p 355 1095 1158 2 v 726 1130 a Fi(R4000)i(/)f(c)n(c2.11.2)g(-O)g(-Olimit) e(5000)p 355 1146 V 479 1181 a Fr(gla)p 557 1196 2 50 v 71 w(2.43)p 703 1196 V 51 w(0.64)p 828 1196 V 71 w(3.07)p 974 1196 V 50 w(6512)p 1109 1196 V 50 w(2416)p 1243 1196 V 51 w(128)p 1357 1196 V 71 w(9056)458 1231 y(re2c)p 557 1246 V 73 w(2.93)p 703 1246 V 51 w(0.67)p 828 1246 V 71 w(3.60)p 974 1246 V 50 w(8048)p 1109 1246 V 71 w(528)p 1243 1246 V 92 w(0)p 1357 1246 V 72 w(8576)414 1281 y(re2c)i(-s)p 557 1296 V 72 w(3.04)p 703 1296 V 51 w(0.64)p 828 1296 V 71 w(3.68)p 974 1296 V 50 w(9952)p 1109 1296 V 50 w(2208)p 1243 1296 V 92 w(0)p 1357 1296 V 52 w(12160)p 355 1297 1158 2 v 838 1332 a Fi(SP)m(AR)o(C)g(/)g(gc)n(c2.3.3)g(-O)p 355 1349 V 479 1384 a Fr(gla)p 557 1399 2 50 v 71 w(4.08)p 703 1399 V 51 w(1.65)p 828 1399 V 71 w(5.73)p 974 1399 V 50 w(5472)p 1109 1399 V 50 w(1656)p 1243 1399 V 51 w(136)p 1357 1399 V 71 w(7264)458 1434 y(re2c)p 557 1449 V 73 w(3.77)p 703 1449 V 51 w(1.67)p 828 1449 V 71 w(5.44)p 974 1449 V 50 w(7008)p 1109 1449 V 113 w(0)p 1243 1449 V 92 w(0)p 1357 1449 V 72 w(7008)414 1483 y(re2c)g(-s)p 557 1498 V 72 w(3.66)p 703 1498 V 51 w(2.37)p 828 1498 V 71 w(6.03)p 974 1498 V 50 w(9112)p 1109 1498 V 113 w(0)p 1243 1498 V 92 w(0)p 1357 1498 V 72 w(9112)p 355 1500 1158 2 v 869 1535 a Fi(i486)g(/)g(gc)n(c2.4.5)g(-O)p 355 1551 V 479 1586 a Fr(gla)p 557 1601 2 50 v 71 w(5.04)p 703 1601 V 51 w(1.15)p 828 1601 V 71 w(6.19)p 974 1601 V 50 w(5368)p 1109 1601 V 50 w(1632)p 1243 1601 V 51 w(108)p 1357 1601 V 71 w(7108)458 1636 y(re2c)p 557 1651 V 73 w(4.75)p 703 1651 V 51 w(1.17)p 828 1651 V 71 w(5.92)p 974 1651 V 50 w(5448)p 1109 1651 V 113 w(0)p 1243 1651 V 92 w(0)p 1357 1651 V 72 w(5448)414 1686 y(re2c)g(-s)p 557 1701 V 72 w(5.06)p 703 1701 V 51 w(1.13)p 828 1701 V 71 w(6.19)p 974 1701 V 50 w(8248)p 1109 1701 V 113 w(0)p 1243 1701 V 92 w(0)p 1357 1701 V 72 w(8248)p 355 1703 1158 2 v 860 1737 a Fi(68020)h(/)f(gc)n(c1.40)h(-O)p 355 1754 V 479 1789 a Fr(gla)p 557 1804 2 50 v 51 w(32.69)p 703 1804 V 50 w(3.37)p 828 1804 V 50 w(36.06)p 974 1804 V 50 w(4772)p 1109 1804 V 50 w(1632)p 1243 1804 V 51 w(106)p 1357 1804 V 71 w(6510)458 1839 y(re2c)p 557 1854 V 53 w(29.86)p 703 1854 V 50 w(3.74)p 828 1854 V 50 w(33.60)p 974 1854 V 50 w(4468)p 1109 1854 V 113 w(0)p 1243 1854 V 92 w(0)p 1357 1854 V 72 w(4468)414 1889 y(re2c)f(-s)p 557 1904 V 52 w(28.77)p 703 1904 V 50 w(3.55)p 828 1904 V 50 w(32.32)p 974 1904 V 50 w(5616)p 1109 1904 V 113 w(0)p 1243 1904 V 92 w(0)p 1357 1904 V 72 w(5616)108 1978 y(T)m(able)i(2:)24 b(Scanner)18 b(p)q(erformance)f(with)g(k)o(eyw) o(ords)g(treated)h(as)f(iden)o(ti\014ers.)29 b Fk(y)17 b Fr(uses)h(an)f(\\unrolled")108 2028 y(sp)q(eci\014cation.)913 2748 y(13)p eop %%Page: 14 14 14 13 bop 138 185 a Fm(L)501 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 235 y Fm(L)i(I)457 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 284 y Fm(L)i(I)g(I)413 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 334 y Fm(L)i(I)g(I)f(I)370 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 384 y Fm(L)i(I)g(I)f(I)h(I)326 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 434 y Fm(L)i(I)g(I)f(I)h(I)f(I)283 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 484 y Fm(L)i(I)g(I)f(I)h(I)f(I)h(I)239 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 533 y Fm(L)i(I)g(I)f(I)h(I)f(I)h (I)f(I)196 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 583 y Fm(L)i(I*)435 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)-42 677 y Fr(reduces)f(the)e(n)o(um)o(b)q(er)f(of)g(end-of-bu\013er)h(c)o(hec)o (ks)h(and)e(results)i(in)e(a)g(signi\014can)o(t)g(sp)q(eed)i(impro)o(v) o(emen)o(t)13 b(o)o(v)o(er)k(the)g(GLA-)-42 726 y(generated)f(scanner.) -42 864 y Fs(6)67 b(Summary)24 b(and)f(F)-6 b(urther)25 b(W)-6 b(ork)-42 955 y Fr(This)16 b(pap)q(er)h(has)f(describ)q(ed)h (RE2C,)e(a)h(to)q(ol)f(for)g(creating)h(lexical)f(analyzers.)24 b(Unlik)o(e)16 b(other)g(suc)o(h)h(to)q(ols,)e(RE2C)g(con-)-42 1004 y(cen)o(trates)i(solely)d(on)g(generating)g(e\016cien)o(t)h(co)q (de)g(for)f(matc)o(hing)f(regular)h(expressions.)21 b(Not)14 b(only)g(do)q(es)h(this)g(singleness)-42 1054 y(of)h(purp)q(ose)i(mak)o (e)c(RE2C)i(more)g(suitable)g(for)g(a)g(wider)g(v)n(ariet)o(y)g(of)g (applications,)f(it)h(allo)o(ws)f(it)h(to)g(generate)i(scanners)-42 1104 y(whic)o(h)c(approac)o(h)g(hand-crafted)h(scanners)g(in)f(terms)g (of)f(size)i(and)e(sp)q(eed.)20 b(Compared)13 b(to)h(scanners)i (generated)f(b)o(y)f(\015ex,)-42 1154 y(and)g(GLA,)f(RE2C-generated)i (scanners)g(are)g(faster)f(and)g(in)f(man)o(y)f(cases)k(smaller)c(as)i (w)o(ell.)21 1204 y(While)g(RE2C-generated)h(scanners)h(p)q(erform)e(w) o(ell,)g(there)i(is)e(still)g(ro)q(om)f(for)h(impro)o(v)o(emen)o(t.)k (Near)d(term)f(impro)o(v)o(e-)-42 1254 y(men)o(ts)g(include)g(using)f (GLA's)h(bit)f(v)o(ectors)i(to)f(simplify)d(some)i Fm(switch)p Fr(es)h(and)f(adding)g(a)h(state)h(unrolling)d(op)q(erator.)21 1303 y(In)i(the)g(longer)g(term,)f(inline)g(actions)h(will)e(b)q(e)i (added)h(to)e(RE2C.)g(F)m(or)h(example,)e(a)h(sp)q(eci\014cation)i(lik) o(e)138 1386 y Fm(D)22 b Fk(f)p Fm(c)f(=)h($)p Fk(g)f Fm(\(D)h Fk(f)p Fm(c)f(=)h(10*c)e(+)i($)p Fk(g)p Fm(\)*)-42 1469 y Fr(migh)o(t)15 b(b)q(e)i(used)g(to)f(obtain)g(the)h(v)n(alue)f (of)g(a)g(previously)g(scanned)i(in)o(teger.)26 b(T)o(ypically)m(,)14 b(these)k(sorts)g(of)d(sp)q(eci\014cations)-42 1519 y(w)o(ould)f(b)q(e) g(used)h(as)f(an)f(action)h(in)f(some)g(other)i(sp)q(eci\014cation.)-42 1656 y Fs(7)67 b(Ac)n(kno)n(wledgmen)n(ts)-42 1747 y Fr(The)15 b(authors)f(thank)g(the)g(referees)j(for)c(their)h(man)o(y)e (v)n(aluable)h(commen)o(ts)f(and)i(suggestions.)913 2748 y(14)p eop %%Page: 15 15 15 14 bop -42 195 a Fs(A)68 b(C)22 b(Scanner)-42 276 y Fg(#define)16 b(BSIZE)192 b(8192)-42 315 y(#define)16 b(RET\(i\))174 b({s->cur)15 b(=)i(cursor;)e(return)h(i;})-42 394 y(#define)g(YYCTYPE)156 b(uchar)-42 433 y(#define)16 b(YYCURSOR)138 b(cursor)-42 473 y(#define)16 b(YYLIMIT)156 b(s->lim)-42 512 y(#define)16 b(YYMARKER)138 b(s->ptr)-42 552 y(#define)16 b(YYFILL\(n\))120 b({cursor)15 b(=)i(fill\(s,)e (cursor\);})-42 631 y(typedef)h(struct)f(Scanner)g({)29 670 y(int)299 b(fd;)29 709 y(uint)281 b(line;)29 749 y(uchar)263 b(*bot,)16 b(*tok,)g(*ptr,)f(*cur,)h(*pos,)g(*lim,)g(*top,) g(*eof;)-42 788 y(})i(Scanner;)-42 867 y(uchar)e(*fill\(Scann)o(er)e (*s,)j(uchar)f(*cursor\){)29 907 y(if\(!s->eof)o(\){)100 946 y(uint)g(cnt)g(=)i(s->tok)d(-)i(s->bot;)100 985 y(if\(cnt\){)d(/*)j (move)g(partial)e(token)h(to)g(bottom)g(*/)170 1025 y(memcpy\(s->b)o (ot,)e(s->tok,)h(s->lim)g(-)j(s->tok\);)d(s->tok)g(=)i(s->bot;)170 1064 y(s->ptr)f(-=)h(cnt;)f(cursor)f(-=)i(cnt;)f(s->pos)g(-=)h(cnt;)f (s->lim)g(-=)h(cnt;)100 1104 y(})100 1143 y(if\(\(s->to)o(p)e(-)i (s->lim\))e(<)i(BSIZE\){)f(/*)g(buffer)g(needs)g(to)h(be)g(expanded)d (*/)170 1183 y(uchar)i(*buf)g(=)i(\(uchar*\))c(malloc\(\(\(s-)o(>li)o (m)h(-)i(s->bot\))e(+)i(BSIZE\)*size)o(of\()o(uch)o(ar\))o(\);)170 1222 y(memcpy\(buf,)d(s->tok,)h(s->lim)h(-)h(s->tok\);)e(s->tok)g(=)i (buf;)170 1262 y(s->ptr)f(=)h(&buf[s->pt)o(r)e(-)i(s->bot];)e(cursor)g (=)j(&buf[curs)o(or)c(-)k(s->bot];)170 1301 y(s->pos)e(=)h(&buf[s->po)o (s)e(-)i(s->bot];)e(s->lim)g(=)j(&buf[s->l)o(im)c(-)k(s->bot];)170 1340 y(s->top)e(=)h(&s->lim[BS)o(IZE)o(];)170 1380 y(free\(s->bot)o (\);)d(s->bot)i(=)h(buf;)100 1419 y(})100 1459 y(if\(\(cnt)e(=)i (read\(s->fd)o(,)e(\(char*\))g(s->lim,)g(BSIZE\)\))g(!=)i(BSIZE\){)e (/*)i(EOF)g(*/)170 1498 y(s->eof)f(=)h(&s->lim[cn)o(t];)d(*\(s->eof\)+) o(+)h(=)i('\\n';)100 1538 y(})100 1577 y(s->lim)e(+=)i(cnt;)29 1616 y(})29 1656 y(return)f(cursor;)-42 1695 y(})-42 1774 y(int)h(scan\(Scann)o(er)d(*s\){)100 1814 y(uchar)h(*cursor)h(=)h (s->cur;)-42 1853 y(std:)70 b(s->tok)15 b(=)i(cursor;)-42 1892 y(/*!re2c)100 1932 y("/*")157 b({)17 b(goto)f(comment;)f(})-42 2013 y Fc(:)6 b(:)g(:)11 b Fb(mor)n(e)j(rules)e Fc(:)6 b(:)g(:)100 2086 y Fg([)17 b(\\t\\v\\f]+)50 b({)17 b(goto)f(std;)h(}) 100 2125 y("\\n")157 b({)17 b(if\(cursor)e(==)i(s->eof\))e(RET\(EOI\);) f(s->pos)i(=)h(cursor;)e(s->line++;)364 2164 y(goto)h(std;)h(})100 2204 y([\\000-\\37)o(7])32 b({)17 b(printf\("une)o(xpe)o(cte)o(d)d (character:)h('\045c'\\n",)f(*s->tok\);)364 2243 y(goto)i(std;)h(})-42 2283 y(*/)-42 2322 y(comment:)-42 2362 y(/*!re2c)100 2401 y("*/")157 b({)17 b(goto)f(std;)h(})100 2440 y("\\n")157 b({)17 b(if\(cursor)e(==)i(s->eof\))e(RET\(EOI\);)f(s->tok)i(=)h (s->pos)e(=)j(cursor;)d(s->line++;)364 2480 y(goto)h(comment;)f(})100 2519 y([\\000-\\37)o(7])32 b({)17 b(goto)f(comment;)f(})-42 2559 y(*/)-42 2598 y(})913 2748 y Fr(15)p eop %%Page: 16 16 16 15 bop -42 195 a Fs(References)-21 286 y Fr([1])20 b Fa(Aho,)d(A.)g(V.,)f(Sethi,)h(R.,)h(and)f(Ullman,)h(J.)e(D.)21 b Fi(Compilers:)e(principles,)c(te)n(chniques,)h(and)g(to)n(ols)p Fr(.)k(Addison-)44 336 y(W)m(esley)m(,)13 b(1988.)k(Reprin)o(ted)d (with)f(corrections.)-21 419 y([2])20 b Fa(Bernstein,)c(R.)f(L.)k Fr(Pro)q(ducing)13 b(go)q(o)q(d)g(co)q(de)i(for)e(the)h(case)g (statemen)o(t.)j Fi(Softwar)n(e{Pr)n(actic)n(e)d(and)h(Exp)n(erienc)n (e)g(15)p Fr(,)44 469 y(10)e(\(Octob)q(er)j(1985\),)c(1021{1024.)-21 552 y([3])20 b Fa(DeRemer,)e(F.,)f(and)g(Pennello,)i(T.)h Fr(E\016cien)o(t)15 b(computation)e(of)h Fl(LALR)p Fr(\(1\))h(lo)q (ok-ahead)f(sets.)21 b Fi(A)o(CM)15 b(T)m(r)n(ans-)44 602 y(actions)g(on)g(Pr)n(o)n(gr)n(amming)g(L)n(anguages)h(and)f (Systems)g(4)p Fr(,)f(4)g(\(Octob)q(er)h(1982\),)e(615{649.)-21 685 y([4])20 b Fa(Ellis,)c(M.,)g(and)g(Str)o(oustr)o(up,)h(B.)i Fi(The)c(A)o(nnotate)n(d)h(C++)e(R)n(efer)n(enc)n(e)h(Manual)p Fr(.)j(Addison-W)m(esley)m(,)13 b(1990.)-21 768 y([5])20 b Fa(Fraser,)c(C.)f(W.,)h(and)g(Hanson,)h(D.)f(R.)i Fr(A)c (retargetable)g(compiler)e(for)h(ANSI)h(C.)j Fi(SIGPLAN)e(Notic)n(es)f (26)p Fr(,)g(10)44 817 y(\(Octob)q(er)h(1991\),)e(29{43.)-21 900 y([6])20 b Fa(Garey,)g(M.)d(R.,)i(and)g(Johnson,)h(D.)e(S.)25 b Fi(Computers)16 b(and)h(Intr)n(actability:)k(A)c(Guide)g(to)f(the)h (The)n(ory)f(of)h(NP-)44 950 y(Completeness)p Fr(.)h(W.)13 b(H.)g(F)m(reeman)g(and)h(Compan)o(y)m(,)d(1991.)-21 1033 y([7])20 b Fa(Gra)m(y,)14 b(R.)e(W.)g Fl(\015)r Fr(-GLA)e(-)g(A)g(generator)g(for)g(lexical)f(analyzers)h(that)g (programmers)e(can)i(use.)i Fi(USENIX)g(Confer)n(enc)n(e)44 1083 y(Pr)n(o)n(c)n(e)n(e)n(dings)17 b Fr(\(June)e(1988\),)d(147{160.) -21 1166 y([8])20 b Fa(Gra)m(y,)c(R.)f(W.,)g(Heuring,)g(V.)f(P.,)h (Levi,)h(S.)f(P.,)g(Slo)o(ane,)i(A.)d(M.,)h(and)g(W)-5 b(aite,)15 b(W.)g(M.)h Fr(Eli:)h(A)c(complete,)44 1216 y(\015exible)h(compiler)e(construction)j(system.)j Fi(Communic)n (ations)d(of)g(the)g(A)o(CM)f(35)p Fr(,)g(2)g(\(F)m(ebruary)g(1992\),)f (121{131.)-21 1299 y([9])20 b Fa(Gr)o(osch,)e(J.)i Fr(E\016cien)o(t)15 b(generation)g(of)f(lexical)f(analysers.)21 b Fi(Softwar)n(e{Pr)n (actic)n(e)15 b(and)h(Exp)n(erienc)n(e)g(19)p Fr(,)f(11)f(\(1989\),)44 1349 y(1089{1103.)-42 1432 y([10])20 b Fa(Harrison,)c(M.)g(A.)j Fi(Intr)n(o)n(duction)c(to)g(F)m(ormal)f(L)n(anguage)i(The)n(ory)p Fr(.)i(Addison-W)m(esley)m(,)13 b(1978.)-42 1515 y([11])20 b Fa(Hennessy,)15 b(J.)e(L.,)i(and)f(Mendelsohn,)i(N.)f Fr(Compilation)8 b(of)j(the)h(Pascal)g(case)g(statemen)o(t.)i Fi(Softwar)n(e{Pr)n(actic)n(e)44 1565 y(and)h(Exp)n(erienc)n(e)h(12)p Fr(,)d(9)h(\(Septem)o(b)q(er)h(1982\),)d(879{882.)-42 1648 y([12])20 b Fa(Horspool,)c(R.)g(N.,)f(and)g(Whitney,)h(M.)h Fr(Ev)o(en)d(faster)g(LR)e(parsing.)k Fi(Softwar)n(e{Pr)n(actic)n(e)d (and)i(Exp)n(erienc)n(e)g(20)p Fr(,)44 1697 y(6)e(\(1990\),)g(515{535.) -42 1780 y([13])20 b Fa(Ja)o(cobson,)d(V.)i Fr(T)m(uning)14 b(UNIX)g(Lex)h(or)f(it's)f(NOT)i(true)g(what)f(they)h(sa)o(y)f(ab)q (out)g(Lex.)19 b(In)14 b Fi(USENIX)i(Confer)n(enc)n(e)44 1830 y(Pr)n(o)n(c)n(e)n(e)n(dings)h Fr(\(W)m(ashington,)12 b(DC,)h(Win)o(ter)h(1987\),)f(pp.)g(163{164.)j(Abstract)f(only)m(.)-42 1913 y([14])20 b Fa(Kernighan,)h(B.)e(W.,)h(and)g(Ritchie,)f(D.)h(M.)28 b Fi(The)18 b(C)f(Pr)n(o)n(gr)n(amming)g(L)n(anguage,)i(2nd)g(Ed.)28 b Fr(Pren)o(tice-Hall,)44 1963 y(Inc.,)13 b(1988.)-42 2046 y([15])20 b Fa(Lesk,)25 b(M.)e(E.)38 b Fr(LEX)20 b({)g(a)g(lexical)g(analyzer)g(generator.)38 b(Computing)18 b(Science)k(T)m(ec)o(hnical)e(Rep)q(ort)h(39,)g(Bell)44 2096 y(T)m(elephone)14 b(Lab)q(oratories,)g(Murra)o(y)g(Hill,)e(NJ,)h (1975.)-42 2179 y([16])20 b Fa(P)l(axson,)e(V.)h Fr(\015ex)14 b({)g(man)e(pages,)i(1988.)j(In)d Ff(\015ex-2.3.7.ta)o(r.Z)p Fr(.)e(Av)n(ailable)g(for)i(anon)o(ymous)e(ftp)i(from)e Ff(ftp.uu.net)j Fr(in)44 2229 y Ff(/pack)o(ages/gnu)p Fr(.)-42 2312 y([17])20 b Fa(Pennello,)k(T.)d(J.)33 b Fr(V)m(ery)19 b(fast)g(LR)f(parsing.)33 b(In)19 b Fi(Pr)n(o)n(c)n(e)n (e)n(dings)g(of)g(the)h(A)o(CM)f(SIGPLAN'86)h(Symp)n(osium)g(on)44 2362 y(Compiler)14 b(Construction)j Fr(\(July)c(1986\),)g(A)o(CM.)-42 2445 y([18])20 b Fa(Sale,)g(A.)25 b Fr(The)17 b(implemen)o(tatio)o(n)c (of)j(case)h(statemen)o(ts)g(in)e(Pascal.)25 b Fi(Softwar)n(e{Pr)n (actic)n(e)16 b(and)i(Exp)n(erienc)n(e)f(11)p Fr(,)g(9)44 2494 y(\(Septem)o(b)q(er)d(1981\),)f(929{942.)913 2748 y(16)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF re2c-0.16/test-driver0000755000175000017500000001104012650133376011414 00000000000000#! /bin/sh # test-driver - basic testsuite driver script. scriptversion=2013-07-13.22; # UTC # Copyright (C) 2011-2014 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . # Make unconditional expansion of undefined variables an error. This # helps a lot in preventing typo-related bugs. set -u usage_error () { echo "$0: $*" >&2 print_usage >&2 exit 2 } print_usage () { cat <$log_file 2>&1 estatus=$? if test $enable_hard_errors = no && test $estatus -eq 99; then tweaked_estatus=1 else tweaked_estatus=$estatus fi case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac # Report the test outcome and exit status in the logs, so that one can # know whether the test passed or failed simply by looking at the '.log' # file, without the need of also peaking into the corresponding '.trs' # file (automake bug#11814). echo "$res $test_name (exit status: $estatus)" >>$log_file # Report outcome to console. echo "${col}${res}${std}: $test_name" # Register the test result, and other relevant metadata. echo ":test-result: $res" > $trs_file echo ":global-test-result: $res" >> $trs_file echo ":recheck: $recheck" >> $trs_file echo ":copy-in-global-log: $gcopy" >> $trs_file # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: re2c-0.16/compile0000755000175000017500000001624512650133376010610 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2014 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: re2c-0.16/README0000644000175000017500000001303712624414763010111 00000000000000re2c -------------------------------------------------------------------------------- DESCRIPTION -------------------------------------------------------------------------------- re2c is a tool for generating C-based recognizers from regular expressions. re2c-based scanners are efficient: for programming languages, given similar specifications, a re2c-based scanner is typically almost twice as fast as a flex-based scanner with little or no increase in size (possibly a decrease on cisc architectures). Indeed, re2c-based scanners are quite competitive with hand-crafted ones. Unlike flex, re2c does not generate complete scanners: the user must supply some interface code. While this code is not bulky (about 50-100 lines for a flex-like scanner; see the man page and examples in the distribution) careful coding is required for efficiency (and correctness). One advantage of this arrangement is that the generated code is not tied to any particular input model. -------------------------------------------------------------------------------- DOWNLOAD -------------------------------------------------------------------------------- The re2c distribution can be found at: https://sourceforge.net/projects/re2c/ Download the latest tarball: https://sourceforge.net/projects/re2c/files/latest/download Clone git repo: git clone git://git.code.sf.net/p/re2c/code-git -------------------------------------------------------------------------------- BUILD -------------------------------------------------------------------------------- Contents: 1. simple build 2. bootstrap 3. out-of-source build 4. testing 5. rebuild documentation 6. build for windows with mingw 7. build from git 1. Simplest possible build: $ ./configure [--prefix=] $ make $ make install This will build re2c and install it (binary and man page) to (defaults to /usr/local). 2. Bootstrap and rebuild: $ ./configure [--prefix=] $ make bootstrap $ make install Usual bootstrap procedure: re2c uses re2c to compile its lexer. 1. build lexer (if make finds re2c binary in build directory, it will build lexer from source, otherwize it will use prebuilt lexer) 2. build re2c 3. build lexer from source using re2c binary in build directory 4. rebuild re2c 3. Out-of-source build: $ mkdir $ cd $ /configure [--prefix=] $ make $ make install 4. Testing: $ make check This will redirect test script output to file. If you want to see progress: $ make tests Testing under valgrind (takes a long time): $ make vtests 5. Rebuild documentation (requires rst2man.py): $ ./configure --enable-docs [--prefix=] $ make docs $ make install 6. Build for windows using mingw: $ ../configure --host i686-w64-mingw32 [--prefix=] $ make This will result into an executable re2c.exe, which can be tested with wine: $ make wtests 7. If you want to build from git, you'll first need to generate autotools files: $ ./autogen.sh -------------------------------------------------------------------------------- INFO -------------------------------------------------------------------------------- $ man re2c re2c home page: re2c.org re2c manual: re2c.org/manual.html Ulya Trofimovich's blog on re2c: skvadrik.github.io/aleph_null/re2c.html Original paper on re2c: "RE2C: a More Versatile Parser Generator" (1994, Peter Bumbulis and Donald D. Cowan). Examples can be found in 'examples' directory. -------------------------------------------------------------------------------- MAILING LISTS -------------------------------------------------------------------------------- re2c-general: re2c-general@lists.sourceforge.net re2c-devel: re2c-devel@lists.sourceforge.net You are welcome to ask for help or share your thoughts and ideas about re2c :) -------------------------------------------------------------------------------- BUGS -------------------------------------------------------------------------------- Please report any bugs and send feature requests to: https://sourceforge.net/p/re2c/_list/tickets -------------------------------------------------------------------------------- AUTHORS -------------------------------------------------------------------------------- Originally written by Peter Bumbulis (peter@csg.uwaterloo.ca) Currently maintained by: Ulya Trofimovich Dan Nuffer Marcus Boerger Hartmut Kaiser -------------------------------------------------------------------------------- LICENSE -------------------------------------------------------------------------------- re2c is distributed with no warranty whatever. The code is certain to contain errors. Neither the author nor any contributor takes responsibility for any consequences of its use. re2c is in the public domain. The data structures and algorithms used in re2c are all either taken from documents available to the general public or are inventions of the authors. Programs generated by re2c may be distributed freely. re2c itself may be distributed freely, in source or binary, unchanged or modified. Distributors may charge whatever fees they can obtain for re2c. If you do make use of re2c, or incorporate it into a larger project an acknowledgement somewhere (documentation, research report, etc.) would be appreciated. -------------------------------------------------------------------------------- re2c-0.16/autogen.sh0000755000175000017500000000005712624147602011223 00000000000000#!/bin/sh git clean -fXd autoreconf -i -W all re2c-0.16/CHANGELOG0000644000175000017500000003646112650133301010432 00000000000000Version 0.16 (2016-01-21) --------------------------- - Fixed bug #127 "code generation error with wide chars and bitmaps (omitted 'goto' statement)" - Added DFA minimization and option '--dfa-minimization
' - Fixed bug #128 "very slow DFA construction (resulting in a very large DFA)" - Fixed bug #132 "test failure on big endian archs with 0.15.3" Version 0.15.3 (2015-12-02) --------------------------- - Fixed bugs and applied patches: #122 "clang does not compile re2c 0.15.x" (reported and fixed by Oleksii Taran). #124 "Get rid of UINT32_MAX and friends" (patch by Sergei Trofimovich, fixes FreeBSD builds). #125 "[OS X] git reports changes not staged for commit in newly cloned repository" (by Oleksii Taran, this fix also applies to Windows). - Added option --no-version that allows to omit version information. - Reduced memory and time consumed with -Wundefined-control-flow. - Improved coverage of input data generated with -S --skeleton. Version 0.15.2 (2015-11-23) --------------------------- - Fixed build system: lexer depends on bison-generated parser (Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=566620) Version 0.15.1 (2015-11-22) --------------------------- - Fixed test failures caused by locale-sensitive 'sort'. Version 0.15 (2015-11-22) ------------------------- - Updated website http://re2c.org: added examples updated docs added news added web feed (Atom 1.0) - Added options: -S, --skeleton --empty-class - Added warnings: -W -Werror -W -Wno- -Werror- -Wno-error- - Added individual warnings: -Wundefined-control-flow -Wunreachable-rules -Wcondition-order -Wuseless-escape -Wempty-character-class -Wswapped-range -Wmatch-empty-string - Fixed options: -- (interpret remaining arguments as non-options) - Deprecated options: -1 --single-pass (single pass is by default now) - Reduced size of the generated .dot files. - Fixed bugs: #27 re2c crashes reading files containing %{ %} (patch by Rui) #51 default rule doesn't work in reuse mode #52 eliminate multiple passes #59 bogus yyaccept in -c mode #60 redundant use of YYMARKER #61 empty character class [] matches empty string #115 flex-style named definitions cause ambiguity in re2c grammar #119 -f with -b/-g generates incorrect dispatch on fill labels #116 empty string with non-empty trailing context consumes code units - Added test options: -j, -j (run tests in N threads, defaults to the number of CPUs) --wine (test windows builds using wine) --skeleton (generate skeleton programs, compile and execute them) --keep-tmp-files (don't delete intermediate files for successful tests) - Updated build system: support out of source builds support `make distcheck` added `make bootstrap` (rebuild re2c after building with precomplied .re files) added `make tests` (run tests with -j) added `make vtests` (run tests with --valgrind -j) added `make wtests` (run tests with --wine -j 1) added Autoconf tests for CXXFLAGS. By default try the following options: -W -Wall -Wextra -Weffc++ -pedantic -Wformat=2 -Wredundant-decls -Wsuggest-attribute=format -Wconversion -Wsign-conversion -O2 -Weverything), respect user-defined CXXFLAGS support Mingw builds: `configure -host i686-w64-mingw32` structured source files removed old MSVC files - Moved development to github (https://github.com/skvadrik/re2c), keep a mirror on sourceforge. Version 0.14.3 (2015-05-20) ----------------------------- - applied patch '#27 re2c crashes reading files containing %{ %}' by Rui - dropped distfiles for MSVC (they are broken anyway) Version 0.14.2 (2015-03-25) ----------------------------- - fixed #57 Wrong result only if another rule is present Version 0.14.1 (2015-02-27) ----------------------------- - fixed #55 re2c-0.14: re2c -V outputs null byte Version 0.14 (2015-02-23) ----------------------------- - Added generic input API 21 (#21 Support to configure how re2c code interfaced with the symbol buffer?) - fixed #46 re2c generates an infinite loop, depends on existence of previous parser - fixed #47 Dot output label escaped characters Version 0.13.7.5 (2014-08-22) ----------------------------- - Fixed Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=518904 (PHP lexer) Version 0.13.7.4 (2014-07-29) ----------------------------- - Enabled 'make docs' only if configured with '--enable-docs' - Disallowed to use yacc/byacc instead of bison to build parser - Removed non-portable sed feature in script that runs tests Version 0.13.7.3 (2014-07-28) ----------------------------- - Fixed CXX warning - Got rid of asciidoc build-time dependency Version 0.13.7.2 (2014-07-27) ----------------------------- - Included man page into dist, respect users CXXFLAGS. Version 0.13.7.1 (2014-07-26) ----------------------------- - Added missing files to tarball Version 0.13.7 (2014-07-25) --------------------------- - Added UTF-8 support - Added UTF-16 support - Added default rule - Added option to control ill-formed Unicode Version 0.13.6 (2013-07-04) --------------------------- - Fixed #2535084 uint problem with Sun C 5.8 - #3308400: allow Yacc-style %{code brackets}% - #2506253: allow C++ // comments - Fixed inplace configuration in -e mode. - Applied #2482572 Typos in error messages. - Applied #2482561 Error in manual section on -r mode. - Fixed #2478216 Wrong start_label in -c mode. - Fixed #2186718 Unescaped backslash in file name of #line directive. - Fixed #2102138 Duplicate case labels on EBCDIC. - Fixed #2088583 Compile problem on AIX. - Fixed #2038610 Ebcdic problem. - improve dot support: make char intervals (e.g. [A-Z]) instead of one edge per char Version 0.13.5 (2008-05-25) --------------------------- - Fixed #1952896 Segfault in re2c::Scanner::scan. - Fixed #1952842 Regression. Version 0.13.4 (2008-04-05) --------------------------- - Added transparent handling of #line directives in input files. - Added re2c:yyfill:check inplace configuration. - Added re2c:define:YYSETSTATE:naked inplace configuration. - Added re2c:flags:w and re2c:flags:u inplace configurations. - Added the ability to add rules in 'use:re2c' blocks. - Changed -r flag to accept only 'rules:re2c' and 'use:re2c' blocks. Version 0.13.3 (2008-03-14) --------------------------- - Added -r flag to allow reuse of scanner definitions. - Added -F flag to support flex syntax in rules. - Fixed SEGV in scanner that occurs with very large blocks. - Fixed issue with unused yybm. - Partial support for flex syntax. - Changed to allow /* comments with -c switch. - Added flag -D/--emit-dot. Version 0.13.2 (2008-02-14) --------------------------- - Added flag --case-inverted. - Added flag --case-insensitive. - Added support for '' to enable rule setup. - Added support for '=>' style rules. - Added support for ':=' style rules. - Added support for ':=>' style rules. - Added re2c:cond:divider and re2c:con:goto inplace configuration. - Fixed code generation to emit space after 'if'. Version 0.13.1 (2007-08-24) --------------------------- - Added custom build rules for Visual Studio 2005 (re2c.rules). (William Swanson) - Fixed issue with some compilers. - Fixed #1776177 Build on AIX. - Fixed #1743180 fwrite with 0 length crashes on OS X. Version 0.13.0 (2007-06-24) --------------------------- - Added -c and -t to generate scanners with (f)lex-like condition support. - Fixed issue with short form of switches and parameter if not first switch. - Fixed #1708378 segfault in actions.cc. Version 0.12.3 (2007-08-24) --------------------------- - Fixed issue with some compilers. - Fixed #1776177 Build on AIX. - Fixed #1743180 fwrite with 0 length crashes on OS X. Version 0.12.2 (2007-06-26) --------------------------- - Fixed #1743180 fwrite with 0 length crashes on OS X. Version 0.12.1 (2007-05-23) --------------------------- - Fixed #1711240 problem with '"' and 7F on EBCDIC plattforms. Version 0.12.0 (2007-05-01) --------------------------- - Re-release of 0.11.3 as new stable branch. - Fixed issue with short form of switches and parameter if not first switch. - Fixed #1708378 segfault in actions.cc. Version 0.11.3 (2007-04-01) --------------------------- - Added support for underscores in named definitions. - Added new option --no-generation-date. - Fixed issue with long form of switches. Version 0.11.2 (2007-03-01) --------------------------- - Added inplace configuration 're2c:yyfill:parameter'. - Added inplace configuration 're2c:yych:conversion'. - Fixed -u switch code generation. - Added ability to avoid defines and overwrite variable and label names. Version 0.11.1 (2007-02-20) --------------------------- - Applied #1647875 add const to yybm vector. Version 0.11.0 (2007-01-01) --------------------------- - Added -u switch to support unicode. Version 0.10.8 (2007-04-01) --------------------------- - Fixed issue with long form of switches. Version 0.10.7 (2007-02-20) --------------------------- - Applied #1647875 add const to yybm vector. Version 0.10.6 (2006-08-05) --------------------------- - Fixed #1529351 Segv bug on unterminated code blocks. - Fixed #1528269 Invalid code generation. Version 0.10.5 (2006-06-11) --------------------------- - Fixed long form of -1 switch to --single-pass as noted in man page and help. - Added MSVC 2003 project files and renamed old 2002 ones. Version 0.10.4 (2006-06-01) --------------------------- - Fix whitespace in generated code. Version 0.10.3 (2006-05-14) --------------------------- - Fixed issue with -wb and -ws. - Added -g switch to support gcc's computed goto's. - Changed to use nested if's instead of "switch(yyaccept)" in -s mode. Version 0.10.2 (2006-05-01) --------------------------- - Changed to generate YYMARKER only when needed or in single pass mode. - Added -1 switch to force single pass generation and make two pass the default. - Fixed -i switch. - Added configuration 'yyfill:enable' to allow suppression of YYFILL() blocks. - Added tutorial like lessons to re2c. - Added /*!ignore:re2c */ to support documenting of re2c source. - Fixed issue with multiline re2c comments (/*!max:re2c ... */ and alike). - Fixed generation of YYDEBUG() when using -d switch. - Added /*!getstate:re2c */ which triggers generation of the YYGETSTATE() block. - Added configuration 'state:abort'. - Changed to not generate yyNext unless configuration 'state:nextlabel' is used. - Changed to not generate yyaccept code unless needed. - Changed to use if- instead of switch-expression when yyaccpt has only one case. - Added docu, examples and tests to .src.zip package (0.10.1 zip was repackaged). - Fixed #1479044 incorrect code generated when using -b. - Fixed #1472770 re2c creates an infinite loop. - Fixed #1454253 Piece of code saving a backtracking point not generated. - Fixed #1463639 Missing forward declaration. - Implemented #1187127 savable state support for multiple re2c blocks. Version 0.10.1 (2006-02-28) --------------------------- - Added support for Solaris and native SUN compiler. - Applied #1438160 expose YYCTXMARKER. Version 0.10.0 (2006-02-18) --------------------------- - Added make target zip to create windows source packages as zip files. - Added re2c:startlabel configuration. - Fixed code generation to not generate unreachable code for initial state. - Added support for c/c++ compatible \u and \U unicode notation. - Added ability to control indendation. - Made scanner error out in case an ambiguous /* is found. - Fixed indendation of generated code. - Added support for DOS line endings. - Added experimental unicode support. - Added config_w32.h to build out of the box on windows (using msvc 2002+). - Added Microsoft Visual C .NET 2005 build files. - Applied #1411087 variable length trailing context. - Applied #1408326 do not generate goto next state. - Applied #1408282 CharSet initialization fix. - Applied #1408278 readsome with MSVC. - Applied #1307467 Unicode patch for 0.9.7. Version 0.9.12 (2005-12-28) --------------------------- - Fixed bug #1390174 re2c cannot accept {0,}. Version 0.9.11 (2005-12-18) --------------------------- - Fixed #1313083 -e (EBCDIC cross compile) broken. - Fixed #1297658 underestimation of n in YYFILL(n). - Applied #1339483 Avoid rebuilds of re2c when running subtargets. - Implemented #1335305 symbol table reimplementation, just slightly modifed. Version 0.9.10 (2005-09-04) --------------------------- - Added -i switch to avoid generating #line information. - Fixed bug #1251653 re2c generate some invalid #line on WIN32. Version 0.9.9 (2005-07-21) -------------------------- - Implemented #1232777 negated char classes '[^...]' and the dot operator '.'. - Added hexadecimal character definitions. - Added consistency check for octal character definitions. Version 0.9.8 (2005-06-26) -------------------------- - Fixed code generation for -b switch. - Added Microsoft Visual C .NET build files. Version 0.9.7 (2005-04-30) -------------------------- - Applied #1181535 storable state patch. - Added -d flag which outputs a debugable parser. - Fixed generation of '#line' directives (according to ISO-C99). - Fixed bug #1187785 Re2c fails to generate valid code. - Fixed bug #1187452 unused variable `yyaccept'. Version 0.9.6 (2005-04-14) -------------------------- - Fixed build with gcc >= 3.4. Version 0.9.5 (2005-04-08) -------------------------- - Added /*!max:re2c */ which emits a '#define YYMAXFILL \n' line This allows to define buffers of the minimum required length. Occurence must follow '/*re2c */ and cannot preceed it. - Changed re2c to two pass generation to output warning free code. - Fixed bug #1163046 re2c hangs when processing valid re-file. - Fixed bug #1022799 re2c scanner has buffering bug. Version 0.9.4 (2005-03-12) -------------------------- - Added --vernum support. - Fixed bug #1054496 incorrect code generated with -b option. - Fixed bug #1012748 re2c does not emit last line if '\n' missing. - Fixed bug #999104 --output=output option does not work as documented. - Fixed bug #999103 Invalid options prefixed with two dashes cause program crash. Version 0.9.3 (2004-05-26) -------------------------- - Fixes one small possible bug in the generated output. ych instead of yych is output in certain circumstances Version 0.9.2 (2004-05-26) -------------------------- - Added -o option to specify the output file which also will set the #line directives to something useful. - Print version to cout instead cerr. - Added -h and -- style options. - Moved development to http://sourceforge.net/projects/re2c . - Fixed bug #960144 minor cosmetic problem. - Fixed bug #953181 cannot compile with. - Fixed bug #939277 Windows support. - Fixed bug #914462 automake build patch - Fixed bug #891940 braced quantifiers: {\d+(,|,\d+)?} style. - Fixed bug #869298 Add case insensitive string literals. - Fixed bug #869297 Input buffer overrun. Version 0.9.1 (2003-12-13) -------------------------- - Removed rcs comments in source files. Version 0.9 ----------- - Redistribution based on version 0.5. - Added parentheses to assignment expressions in 'if' statements. - Rearranged class members to match initialization order. - Substr fix. - Use array delete [] when necessary. - Other minor fixes for subduing compiler warnings. re2c-0.16/run_tests.sh.in0000644000175000017500000001257512627572362012231 00000000000000#!/usr/bin/env bash # somewhat portable way to detect CPU count detect_cpu_count () { if [ "$CPUS" = "" ]; then # Windows standard environment variable CPUS="$NUMBER_OF_PROCESSORS" fi if [ "$CPUS" = "" ]; then # Linux CPUS=`getconf _NPROCESSORS_ONLN 2>/dev/null` fi if [ "$CPUS" = "" ]; then # FreeBSD CPUS=`getconf NPROCESSORS_ONLN 2>/dev/null` fi if [ "$CPUS" = "" ]; then # nothing helped CPUS="1" fi } lc_run() { LANG=C LC_ALL=C "$@" } valgrind="" skeleton=0 keep_tmp_files=0 wine="" re2c="./re2c" threads=`detect_cpu_count; echo $CPUS` tests=() for arg in $* do case $arg in "--valgrind" ) valgrind=`which valgrind` ;; "--skeleton" ) skeleton=1 ;; "--keep-tmp-files" ) keep_tmp_files=1 ;; "--wine" ) wine=`which wine` re2c="${re2c}.exe" ;; "-j"* ) number=${arg#-j} number_pattern='^[0-9]+$' if [[ $number =~ $number_pattern ]] then threads=$number fi ;; * ) tests+=("$arg") ;; esac done echo "Running in ${threads} thread(s)" test_srcdir="" if [ ${#tests[@]} -eq 0 ] then test_srcdir="@top_srcdir@/test" tests=(`find $test_srcdir -name '*.re' | sort`) fi test_blddir="test_"`date +%y%m%d%H%M%S` rm -rf $test_blddir && mkdir $test_blddir tests_per_thread=$((${#tests[@]} / threads + 1)) packs=() for ((i = 0; i < threads; i++)) do j=$((i * tests_per_thread)) packs[$i]=${tests[@]:j:tests_per_thread} done if test ! -x "${re2c}" then echo "Cannot find re2c executable (${re2c})." exit 1 fi if test -n "${valgrind}" then valgrind_options=( "-q" "--track-origins=yes" "--num-callers=50" "--leak-check=full" "--show-reachable=yes" "--malloc-fill=0xa1" "--free-fill=0xa1" ) valgrind="${valgrind} ${valgrind_options[@]}" echo $valgrind fi diff_prog="diff" if test -n "${wine}" then # ignore whitespace at the end of line diff_prog="${diff_prog} -b" fi run_pack() { local log="$1" shift 1 local errcnt=0 for x in $* do cd $test_blddir # preserve directory structure unless given explicit args if [ -z "$test_srcdir" ] then local outx=`basename $x` else # remove prefix local outx=${x:$((${#test_srcdir} + 1))} mkdir -p `dirname $outx` fi local outc="${outx%.re}.c" # filename (dot short* (long arg?)*)? ext # must keep to POSIX standard: no syntactic sugar like +,?, etc. # if you change this regexp, try it with 'sed --posix' local switches=`basename "$x" | lc_run sed \ -e 's/^[^.]*\.re$//g' \ -e 's/^[^.]*\.\(.*\)\.re$/\1/g' \ -e 's/^\([^-]\)/-\1/' \ -e 's/--\([^ (-]*\)/ --\1/g' \ -e 's/(\([^)]*\))/ \1/g'` # check that flags do not contain uppercase letters: # file extensions are case-insensitive on some platforms printf "%s" "$switches" | lc_run grep -q "[A-Z]" \ && { echo "bad file extension: '$outx' (uppercase letters are not allowed)"; exit 1; } local switches="$switches -o $outc --no-version --no-generation-date" # enable warnings globally local switches="$switches -W" if [ $skeleton -eq 1 ] then local switches="$switches --skeleton -Werror-undefined-control-flow" local status=0 ${valgrind} ${wine} ../${re2c} $switches "../$x" 2>"$outc.stderr" || status=1 [ $status -eq 0 ] && { @CC@ -Wall -Wextra -o "$outc.out" "$outc" 2>>"$outc.stderr" || status=2; } [ $status -eq 0 ] && { ./"$outc.out" 2>>"$outc.stderr" || status=3; } case $status in 0 ) local msg="OK" ;; 1 ) local msg="OK (expected re2c error)" ;; 2 ) local msg="FAIL (compilation error)" ;; 3 ) local msg="FAIL (runtime error)" ;; esac printf "%-25s $outx\n" "$msg" if [ $status -le 1 ]; then [ $keep_tmp_files -eq 0 ] && rm -f "$outc"{,.line*.{input,keys},.stderr,.out} else cp -f "../$x" "$outx" local errcnt=$(($errcnt + 1)) fi else # create sandbox tmpdir="tmp_$log" \ && mkdir "$tmpdir" \ && cd "$tmpdir" \ && mkdir -p `dirname "$outx"` \ && cp "../../$x" "$outx" # run re2c $valgrind $wine ../../$re2c $switches "$outx" 2>"$outc.stderr" 1>&2 # paste all files dropped by re2c into output file rm "$outx" && find . -type f \ | lc_run sort \ | xargs cat \ >> "../$outc" # cleanup sandbox cd .. \ && rm -rf "$tmpdir" # compare results local c="${x%.re}.c" local status="" [ -z $status ] && status=`[ -f "../$c" ] || echo "MISSING"` [ -z $status ] && status=`$diff_prog "../$c" "$outc" > "$outc.diff" || echo "FAIL"` [ -z $status ] && status="OK" if [ $status = "OK" ] then rm "$outc" "$outc.diff" else cp -f "../$x" "$outx" cp -f "../$c" "$outc.orig" local errcnt=$(($errcnt + 1)) fi printf "%-10s $outx\n" "$status" fi cd .. done echo $errcnt > $log } cleanup() { rm -f ${logs[@]} kill ${wait_pids[@]} wait ${wait_pids[@]} printf "\nEh...\n" exit 1 } logs=() wait_pids=() trap cleanup INT for ((i = 0; i < ${#packs[@]}; i++)) do logs[$i]=`date +%y%m%d%H%M%S`_$i run_pack ${logs[i]} ${packs[i]} & wait_pids+=( $! ) done wait ${wait_pids[@]} errors=0 for ((i = 0; i < ${#logs[@]}; i++)) do error=`cat ${logs[i]}` errors=$((errors + error)) rm -f ${logs[i]} done # remove empty directories for d in `find $test_blddir -depth -type d` do entries=`ls -A "$d"` if [ -z "$entries" ] then rmdir "$d" fi done if [ $errors -eq 0 ] then echo "All ${#tests[@]} tests passed successfully." exit 0 else echo "Error: $errors out ${#tests[@]} tests failed." exit 1 fi re2c-0.16/src/0000755000175000017500000000000012650133525010065 500000000000000re2c-0.16/src/conf/0000755000175000017500000000000012650133526011013 500000000000000re2c-0.16/src/conf/msg.h0000644000175000017500000000123112633273654011677 00000000000000#ifndef _RE2C_CONF_MSG_ #define _RE2C_CONF_MSG_ #include #include "src/util/attribute.h" #include "src/util/c99_stdint.h" namespace re2c { void error (const char * fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 1, 2))); void error_encoding (); void error_arg (const char * option); void warning_start (uint32_t line, bool error); void warning_end (const char * type, bool error); void warning (const char * type, uint32_t line, bool error, const char * fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 4, 5))); void usage (); void vernum (); void version (); std::string incond (const std::string & cond); } // namespace re2c #endif // _RE2C_CONF_MSG_ re2c-0.16/src/conf/opt.cc0000644000175000017500000002004712633273654012057 00000000000000#include "src/conf/msg.h" #include "src/conf/opt.h" namespace re2c { Opt opts; opt_t::opt_t () #define OPT1(type, name, value) : name (value) #define OPT(type, name, value) , name (value) RE2C_OPTS #undef OPT1 #undef OPT {} opt_t::opt_t (const opt_t & opt) #define OPT1(type, name, value) : name (opt.name) #define OPT(type, name, value) , name (opt.name) RE2C_OPTS #undef OPT1 #undef OPT {} opt_t & opt_t::operator = (const opt_t & opt) { #define OPT1 OPT #define OPT(type, name, value) name = opt.name; RE2C_OPTS #undef OPT1 #undef OPT return *this; } void opt_t::fix () { // some options either make no sense or must have fixed value // with current target: reset them to default switch (target) { case DOT: // default code generation options sFlag = Opt::baseopt.sFlag; bFlag = Opt::baseopt.bFlag; gFlag = Opt::baseopt.gFlag; cGotoThreshold = Opt::baseopt.cGotoThreshold; // default environment-insensitive formatting yybmHexTable = Opt::baseopt.yybmHexTable; // fallthrough case SKELETON: // default line information iFlag = Opt::baseopt.iFlag; // default environment-sensitive formatting topIndent = Opt::baseopt.topIndent; indString = Opt::baseopt.indString; condDivider = Opt::baseopt.condDivider; condDividerParam = Opt::baseopt.condDividerParam; // default environment bindings tFlag = Opt::baseopt.tFlag; header_file = Opt::baseopt.header_file; yycondtype = Opt::baseopt.yycondtype; cond_get = Opt::baseopt.cond_get; cond_get_naked = Opt::baseopt.cond_get_naked; cond_set = Opt::baseopt.cond_set; cond_set_arg = Opt::baseopt.cond_set_arg; cond_set_naked = Opt::baseopt.cond_set_naked; yyctable = Opt::baseopt.yyctable; condPrefix = Opt::baseopt.condPrefix; condEnumPrefix = Opt::baseopt.condEnumPrefix; condGoto = Opt::baseopt.condGoto; condGotoParam = Opt::baseopt.condGotoParam; fFlag = Opt::baseopt.fFlag; state_get = Opt::baseopt.state_get; state_get_naked = Opt::baseopt.state_get_naked; state_set = Opt::baseopt.state_set; state_set_arg = Opt::baseopt.state_set_arg; state_set_naked = Opt::baseopt.state_set_naked; yyfilllabel = Opt::baseopt.yyfilllabel; yynext = Opt::baseopt.yynext; yyaccept = Opt::baseopt.yyaccept; bUseStateAbort = Opt::baseopt.bUseStateAbort; bUseStateNext = Opt::baseopt.bUseStateNext; yybm = Opt::baseopt.yybm; yytarget = Opt::baseopt.yytarget; input_api = Opt::baseopt.input_api; yycursor = Opt::baseopt.yycursor; yymarker = Opt::baseopt.yymarker; yyctxmarker = Opt::baseopt.yyctxmarker; yylimit = Opt::baseopt.yylimit; yypeek = Opt::baseopt.yypeek; yyskip = Opt::baseopt.yyskip; yybackup = Opt::baseopt.yybackup; yybackupctx = Opt::baseopt.yybackupctx; yyrestore = Opt::baseopt.yyrestore; yyrestorectx = Opt::baseopt.yyrestorectx; yylessthan = Opt::baseopt.yylessthan; dFlag = Opt::baseopt.dFlag; yydebug = Opt::baseopt.yydebug; yyctype = Opt::baseopt.yyctype; yych = Opt::baseopt.yych; bEmitYYCh = Opt::baseopt.bEmitYYCh; yychConversion = Opt::baseopt.yychConversion; fill = Opt::baseopt.fill; fill_use = Opt::baseopt.fill_use; fill_check = Opt::baseopt.fill_check; fill_arg = Opt::baseopt.fill_arg; fill_arg_use = Opt::baseopt.fill_arg_use; fill_naked = Opt::baseopt.fill_naked; labelPrefix = Opt::baseopt.labelPrefix; break; default: break; } if (bCaseInsensitive) { bCaseInverted = Opt::baseopt.bCaseInverted; } // respect hierarchy if (!cFlag) { tFlag = Opt::baseopt.tFlag; header_file = Opt::baseopt.header_file; yycondtype = Opt::baseopt.yycondtype; cond_get = Opt::baseopt.cond_get; cond_get_naked = Opt::baseopt.cond_get_naked; cond_set = Opt::baseopt.cond_set; cond_set_arg = Opt::baseopt.cond_set_arg; cond_set_naked = Opt::baseopt.cond_set_naked; yyctable = Opt::baseopt.yyctable; condPrefix = Opt::baseopt.condPrefix; condEnumPrefix = Opt::baseopt.condEnumPrefix; condDivider = Opt::baseopt.condDivider; condDividerParam = Opt::baseopt.condDividerParam; condGoto = Opt::baseopt.condGoto; condGotoParam = Opt::baseopt.condGotoParam; } if (!fFlag) { state_get = Opt::baseopt.state_get; state_get_naked = Opt::baseopt.state_get_naked; state_set = Opt::baseopt.state_set; state_set_arg = Opt::baseopt.state_set_arg; state_set_naked = Opt::baseopt.state_set_naked; yyfilllabel = Opt::baseopt.yyfilllabel; yynext = Opt::baseopt.yynext; yyaccept = Opt::baseopt.yyaccept; bUseStateAbort = Opt::baseopt.bUseStateAbort; bUseStateNext = Opt::baseopt.bUseStateNext; } if (!bFlag) { yybmHexTable = Opt::baseopt.yybmHexTable; yybm = Opt::baseopt.yybm; } if (!gFlag) { cGotoThreshold = Opt::baseopt.cGotoThreshold; yytarget = Opt::baseopt.yytarget; } if (input_api.type () != InputAPI::DEFAULT) { yycursor = Opt::baseopt.yycursor; yymarker = Opt::baseopt.yymarker; yyctxmarker = Opt::baseopt.yyctxmarker; yylimit = Opt::baseopt.yylimit; } if (input_api.type () != InputAPI::CUSTOM) { yypeek = Opt::baseopt.yypeek; yyskip = Opt::baseopt.yyskip; yybackup = Opt::baseopt.yybackup; yybackupctx = Opt::baseopt.yybackupctx; yyrestore = Opt::baseopt.yyrestore; yyrestorectx = Opt::baseopt.yyrestorectx; yylessthan = Opt::baseopt.yylessthan; } if (!dFlag) { yydebug = Opt::baseopt.yydebug; } if (!fill_use) { fill = Opt::baseopt.fill; fill_check = Opt::baseopt.fill_check; fill_arg = Opt::baseopt.fill_arg; fill_arg_use = Opt::baseopt.fill_arg_use; fill_naked = Opt::baseopt.fill_naked; } // force individual options switch (target) { case DOT: iFlag = true; break; case SKELETON: iFlag = true; input_api.set (InputAPI::CUSTOM); indString = " "; topIndent = 2; break; default: break; } switch (encoding.type ()) { case Enc::UCS2: case Enc::UTF16: case Enc::UTF32: sFlag = true; break; default: break; } if (bFlag) { sFlag = true; } if (gFlag) { bFlag = true; sFlag = true; } if (header_file != NULL) { tFlag = true; } } realopt_t::realopt_t (useropt_t & opt) : real () , user (opt) {} const opt_t * realopt_t::operator -> () { sync (); return ℜ } void realopt_t::sync () { if (user.diverge) { real = user.opt; real.fix (); user.diverge = false; } } useropt_t::useropt_t () : opt () , diverge (true) {} opt_t * useropt_t::operator -> () { diverge = true; return &opt; } const opt_t Opt::baseopt; bool Opt::source (const char * s) { if (source_file) { error ("multiple source files: %s, %s", source_file, s); return false; } else { source_file = s; return true; } } bool Opt::output (const char * s) { if (output_file) { error ("multiple output files: %s, %s", output_file, s); return false; } else { output_file = s; return true; } } void Opt::reset_encoding (const Enc & enc) { useropt->encoding = enc; } void Opt::reset_mapCodeName () { // historically arranged set of names // no actual reason why these particular options should be reset useropt->cond_get = Opt::baseopt.cond_get; useropt->cond_set = Opt::baseopt.cond_set; useropt->fill = Opt::baseopt.fill; useropt->state_get = Opt::baseopt.state_get; useropt->state_set = Opt::baseopt.state_set; useropt->yybackup = Opt::baseopt.yybackup; useropt->yybackupctx = Opt::baseopt.yybackupctx; useropt->yycondtype = Opt::baseopt.yycondtype; useropt->yyctxmarker = Opt::baseopt.yyctxmarker; useropt->yyctype = Opt::baseopt.yyctype; useropt->yycursor = Opt::baseopt.yycursor; useropt->yydebug = Opt::baseopt.yydebug; useropt->yylessthan = Opt::baseopt.yylessthan; useropt->yylimit = Opt::baseopt.yylimit; useropt->yymarker = Opt::baseopt.yymarker; useropt->yypeek = Opt::baseopt.yypeek; useropt->yyrestore = Opt::baseopt.yyrestore; useropt->yyrestorectx = Opt::baseopt.yyrestorectx; useropt->yyskip = Opt::baseopt.yyskip; useropt->yyfilllabel = Opt::baseopt.yyfilllabel; useropt->yynext = Opt::baseopt.yynext; useropt->yyaccept = Opt::baseopt.yyaccept; useropt->yybm = Opt::baseopt.yybm; useropt->yych = Opt::baseopt.yych; useropt->yyctable = Opt::baseopt.yyctable; useropt->yytarget = Opt::baseopt.yytarget; } } // namespace re2c re2c-0.16/src/conf/warn.h0000644000175000017500000000311512650133301012042 00000000000000#ifndef _RE2C_CONF_WARN_ #define _RE2C_CONF_WARN_ #include "src/util/c99_stdint.h" #include #include #include "src/ir/skeleton/way.h" #include "src/parse/rules.h" namespace re2c { #define RE2C_WARNING_TYPES \ W (CONDITION_ORDER, "condition-order"), \ W (EMPTY_CHARACTER_CLASS, "empty-character-class"), \ W (MATCH_EMPTY_STRING, "match-empty-string"), \ W (SWAPPED_RANGE, "swapped-range"), \ W (UNDEFINED_CONTROL_FLOW, "undefined-control-flow"), \ W (UNREACHABLE_RULES, "unreachable-rules"), \ W (USELESS_ESCAPE, "useless-escape"), class Warn { public: enum type_t { #define W(x, y) x RE2C_WARNING_TYPES #undef W TYPES // count }; enum option_t { W, WNO, WERROR, WNOERROR }; private: static const uint32_t SILENT; static const uint32_t WARNING; static const uint32_t ERROR; static const char * names [TYPES]; uint32_t mask[TYPES]; bool error_accuml; public: Warn (); bool error () const; void set (type_t t, option_t o); void set_all (); void set_all_error (); void fail (type_t t, uint32_t line, const char * s); void condition_order (uint32_t line); void empty_class (uint32_t line); void match_empty_string (uint32_t line); void swapped_range (uint32_t line, uint32_t l, uint32_t u); void undefined_control_flow (uint32_t line, const std::string & cond, std::vector & ways, bool overflow); void unreachable_rule (const std::string & cond, const rule_info_t & rule, const rules_t & rules); void useless_escape (uint32_t line, uint32_t col, char c); }; } // namespace re2c #endif // _RE2C_CONF_WARN_ re2c-0.16/src/conf/opt.h0000644000175000017500000001322512650133301011700 00000000000000#ifndef _RE2C_CONF_OPT_ #define _RE2C_CONF_OPT_ #include "src/util/c99_stdint.h" #include #include #include "src/codegen/input_api.h" #include "src/ir/dfa/dfa.h" #include "src/ir/regexp/empty_class_policy.h" #include "src/ir/regexp/encoding/enc.h" #include "src/util/forbid_copy.h" namespace re2c { #define RE2C_OPTS \ /* target */ \ OPT1 (opt_t::target_t, target, CODE) \ /* fingerprint */ \ OPT (bool, bNoGenerationDate, false) \ OPT (bool, version, true) \ /* regular expressions */ \ OPT (Enc, encoding, Enc ()) \ OPT (bool, bCaseInsensitive, false) \ OPT (bool, bCaseInverted, false) \ OPT (empty_class_policy_t, empty_class_policy, EMPTY_CLASS_MATCH_EMPTY) \ /* conditions */ \ OPT (bool, cFlag, false) \ OPT (bool, tFlag, false) \ OPT (const char *, header_file, NULL) \ OPT (std::string, yycondtype, "YYCONDTYPE") \ OPT (std::string, cond_get, "YYGETCONDITION") \ OPT (bool, cond_get_naked, false) \ OPT (std::string, cond_set, "YYSETCONDITION" ) \ OPT (std::string, cond_set_arg, "@@" ) \ OPT (bool, cond_set_naked, false ) \ OPT (std::string, yyctable, "yyctable") \ OPT (std::string, condPrefix, "yyc_") \ OPT (std::string, condEnumPrefix, "yyc") \ OPT (std::string, condDivider, "/* *********************************** */") \ OPT (std::string, condDividerParam, "@@") \ OPT (std::string, condGoto, "goto @@;") \ OPT (std::string, condGotoParam, "@@") \ /* states */ \ OPT (bool, fFlag, false) \ OPT (std::string, state_get, "YYGETSTATE") \ OPT (bool, state_get_naked, false) \ OPT (std::string, state_set, "YYSETSTATE") \ OPT (std::string, state_set_arg, "@@") \ OPT (bool, state_set_naked, false) \ OPT (std::string, yyfilllabel, "yyFillLabel") \ OPT (std::string, yynext, "yyNext") \ OPT (std::string, yyaccept, "yyaccept") \ OPT (bool, bUseStateAbort, false) \ OPT (bool, bUseStateNext, false) \ /* reuse */ \ OPT (bool, rFlag, false) \ /* partial flex syntax support */ \ OPT (bool, FFlag, false) \ /* code generation */ \ OPT (bool, sFlag, false) \ OPT (bool, bFlag, false) \ OPT (std::string, yybm, "yybm") \ OPT (bool, yybmHexTable, false) \ OPT (bool, gFlag, false) \ OPT (std::string, yytarget, "yytarget") \ OPT (uint32_t, cGotoThreshold, 9) \ /* formatting */ \ OPT (uint32_t, topIndent, 0) \ OPT (std::string, indString, "\t") \ /* input API */ \ OPT (InputAPI, input_api, InputAPI ()) \ OPT (std::string, yycursor, "YYCURSOR") \ OPT (std::string, yymarker, "YYMARKER") \ OPT (std::string, yyctxmarker, "YYCTXMARKER") \ OPT (std::string, yylimit, "YYLIMIT") \ OPT (std::string, yypeek, "YYPEEK") \ OPT (std::string, yyskip, "YYSKIP") \ OPT (std::string, yybackup, "YYBACKUP") \ OPT (std::string, yybackupctx, "YYBACKUPCTX") \ OPT (std::string, yyrestore, "YYRESTORE") \ OPT (std::string, yyrestorectx, "YYRESTORECTX") \ OPT (std::string, yylessthan, "YYLESSTHAN") \ /* #line directives */ \ OPT (bool, iFlag, false) \ /* debug */ \ OPT (bool, dFlag, false) \ OPT (std::string, yydebug, "YYDEBUG") \ /* yych */ \ OPT (std::string, yyctype, "YYCTYPE") \ OPT (std::string, yych, "yych") \ OPT (bool, bEmitYYCh, true) \ OPT (bool, yychConversion, false) \ /* YYFILL */ \ OPT (std::string, fill, "YYFILL") \ OPT (bool, fill_use, true) \ OPT (bool, fill_check, true) \ OPT (std::string, fill_arg, "@@") \ OPT (bool, fill_arg_use, true) \ OPT (bool, fill_naked, false) \ /* labels */ \ OPT (std::string, labelPrefix, "yy") \ /* internals */ \ OPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE) struct opt_t { enum target_t { CODE, DOT, SKELETON }; #define OPT1 OPT #define OPT(type, name, value) type name; RE2C_OPTS #undef OPT1 #undef OPT opt_t (); opt_t (const opt_t & opt); opt_t & operator = (const opt_t & opt); void fix (); }; class useropt_t; class realopt_t { opt_t real; useropt_t & user; public: realopt_t (useropt_t & opt); const opt_t * operator -> (); void sync (); }; class useropt_t { opt_t opt; bool diverge; public: useropt_t (); opt_t * operator -> (); friend void realopt_t::sync (); }; struct Opt { static const opt_t baseopt; const char * source_file; const char * output_file; private: useropt_t useropt; realopt_t realopt; public: Opt () : source_file (NULL) , output_file (NULL) , useropt () , realopt (useropt) {} // read-only access, forces options syncronization const opt_t * operator -> () { return realopt.operator -> (); } bool source (const char * s); bool output (const char * s); // Inplace configurations are applied immediately when parsed. // This is very bad: first, re2c behaviour is changed in the middle // of the block; second, config is resynced too often (every // attempt to read config that has been updated results in // automatic resync). It is much better to set all options at once. bool set_encoding (Enc::type_t t) { return useropt->encoding.set (t); } void unset_encoding (Enc::type_t t) { useropt->encoding.unset (t); } void set_encoding_policy (Enc::policy_t p) { useropt->encoding.setPolicy (p); } void set_input_api (InputAPI::type_t t) { useropt->input_api.set (t); } #define OPT1 OPT #define OPT(type, name, value) void set_##name (type arg) { useropt->name = arg; } RE2C_OPTS #undef OPT1 #undef OPT // helpers std::string yychConversion () { return realopt->yychConversion ? "(" + realopt->yyctype + ")" : ""; } // bad temporary hacks, should be fixed by proper scoping of config (parts). void reset_encoding (const Enc & enc); void reset_mapCodeName (); FORBID_COPY (Opt); }; enum parse_opts_t { OK, EXIT_OK, EXIT_FAIL }; parse_opts_t parse_opts (char ** argv, Opt & opts); } // namespace re2c #endif // _RE2C_CONF_OPT_ re2c-0.16/src/conf/msg.cc0000644000175000017500000002377712650133301012037 00000000000000#include #include #include #include "config.h" #include "src/conf/msg.h" namespace re2c { void error (const char * fmt, ...) { fprintf (stderr, "re2c: error: "); va_list args; va_start (args, fmt); vfprintf (stderr, fmt, args); va_end (args); fprintf (stderr, "\n"); } void error_encoding () { error ("only one of switches -e, -w, -x, -u and -8 must be set"); } void error_arg (const char * option) { error ("expected argument to option %s", option); } void warning_start (uint32_t line, bool error) { static const char * msg = error ? "error" : "warning"; fprintf (stderr, "re2c: %s: line %u: ", msg, line); } void warning_end (const char * type, bool error) { if (type != NULL) { const char * prefix = error ? "error-" : ""; fprintf (stderr, " [-W%s%s]", prefix, type); } fprintf (stderr, "\n"); } void warning (const char * type, uint32_t line, bool error, const char * fmt, ...) { warning_start (line, error); va_list args; va_start (args, fmt); vfprintf (stderr, fmt, args); va_end (args); warning_end (type, error); } void usage () { fprintf (stderr, "usage: re2c [-bcdDefFghirsuvVwx18] [-o of] [-t th] file\n" "\n" "-? -h --help Display this info.\n" "\n" "-b --bit-vectors Implies -s. Use bit vectors as well in the attempt to\n" " coax better code out of the compiler. Most useful for\n" " specifications with more than a few keywords (e.g. for\n" " most programming languages).\n" "\n" "-c --conditions Require start conditions.\n" "\n" "-d --debug-output Creates a parser that dumps information during\n" " about the current position and in which state the\n" " parser is.\n" "\n" "-D --emit-dot Emit a Graphviz dot view of the DFA graph\n" "\n" "-e --ecb Generate a parser that supports EBCDIC. The generated code\n" " can deal with any character up to 0xFF. In this mode re2c\n" " assumes that input character size is 1 byte. This switch is\n" " incompatible with -w, -u, -x and -8\n" "\n" "-f --storable-state Generate a scanner that supports storable states.\n" "\n" "-F --flex-syntax Partial support for flex syntax.\n" "\n" "-g --computed-gotos Implies -b. Generate computed goto code (only useable\n" " with gcc).\n" "\n" "-i --no-debug-info Do not generate '#line' info (useful for versioning).\n" "\n" "-o of --output=of Specify the output file (of) instead of stdout\n" "\n" "-r --reusable Allow reuse of scanner definitions.\n" "\n" "-s --nested-ifs Generate nested ifs for some switches. Many compilers\n" " need this assist to generate better code.\n" "\n" "-t th --type-header=th Generate a type header file (th) with type definitions.\n" "\n" "-u --unicode Generate a parser that supports UTF-32. The generated code\n" " can deal with any valid Unicode character up to 0x10FFFF.\n" " In this mode re2c assumes that input character size is 4 bytes.\n" " This switch is incompatible with -e, -w, -x and -8. It implies -s.\n" "\n" "-v --version Show version information.\n" "\n" "-V --vernum Show version as one number.\n" "\n" "-w --wide-chars Generate a parser that supports UCS-2. The generated code can\n" " deal with any valid Unicode character up to 0xFFFF. In this mode\n" " re2c assumes that input character size is 2 bytes. This switch is\n" " incompatible with -e, -x, -u and -8. It implies -s." "\n" "-x --utf-16 Generate a parser that supports UTF-16. The generated code can\n" " deal with any valid Unicode character up to 0x10FFFF. In this mode\n" " re2c assumes that input character size is 2 bytes. This switch is\n" " incompatible with -e, -w, -u and -8. It implies -s." "\n" "-8 --utf-8 Generate a parser that supports UTF-8. The generated code can\n" " deal with any valid Unicode character up to 0x10FFFF. In this mode\n" " re2c assumes that input character size is 1 byte. This switch is\n" " incompatible with -e, -w, -x and -u." "\n" "--no-generation-date Suppress date output in the generated file.\n" "\n" "--no-version Suppress version output in the generated file.\n" "\n" "--case-insensitive All strings are case insensitive, so all \"-expressions\n" " are treated in the same way '-expressions are.\n" "\n" "--case-inverted Invert the meaning of single and double quoted strings.\n" " With this switch single quotes are case sensitive and\n" " double quotes are case insensitive.\n" "\n" "--encoding-policy ep Specify what re2c should do when given bad code unit.\n" " ep can be one of the following: fail, substitute, ignore.\n" "\n" "--input i Specify re2c input API.\n" " i can be one of the following: default, custom.\n" "\n" "--skeleton Instead of embedding re2c-generated code into C/C++ source,\n" " generate a self-contained program for the same DFA.\n" " Most useful for correctness and performance testing.\n" "\n" "--empty-class policy What to do if user inputs empty character class. policy can be\n" " one of the following: 'match-empty' (match empty input, default),\n" " 'match-none' (fail to match on any input), 'error' (compilation\n" " error). Note that there are various ways to construct empty class,\n" " e.g: [], [^\\x00-\\xFF], [\\x00-\\xFF]\\[\\x00-\\xFF].\n" "\n" "--dfa-minimization
\n" " Internal algorithm used by re2c to minimize DFA (defaults to\n" " 'moore'). Both table filling and Moore's algorithms should\n" " produce identical DFA (up to states relabelling). Table filling\n" " algorithm is much simpler and slower; it serves as a reference\n" " implementation.\n" "\n" "-1 --single-pass Deprecated and does nothing (single pass is by default now).\n" "\n" "-W Turn on all warnings.\n" "\n" "-Werror Turn warnings into errors. Note that this option along doesn't\n" " turn on any warnings, it only affects those warnings that have\n" " been turned on so far or will be turned on later.\n" "\n" "-W Turn on individual warning.\n" "\n" "-Wno- Turn off individual warning.\n" "\n" "-Werror- Turn on individual warning and treat it as error (this implies\n" " '-W').\n" "\n" "-Wno-error- Don't treat this particular warning as error. This doesn't turn\n" " off the warning itself.\n" "\n" "Warnings:\n" "\n" "-Wcondition-order Warn if the generated program makes implicit assumptions about\n" " condition numbering. One should use either '-t, --type-header'\n" " option or '/*!types:re2c*/' directive to generate mapping of\n" " condition names to numbers and use autogenerated condition names.\n" "\n" "-Wempty-character-class Warn if regular expression contains empty character class. From\n" " the rational point of view trying to match empty character class\n" " makes no sense: it should always fail. However, for backwards\n" " compatibility reasons re2c allows empty character class and treats\n" " it as empty string. Use '--empty-class' option to change default\n" " behaviour.\n" "\n" "-Wmatch-empty-string Warn if regular expression in a rule is nullable (matches empty\n" " string). If DFA runs in a loop and empty match is unintentional\n" " (input position in not advanced manually), lexer may get stuck\n" " in eternal loop.\n" "\n" "-Wswapped-range Warn if range lower bound is greater that upper bound. Default\n" " re2c behaviour is to silently swap range bounds.\n" "\n" "-Wundefined-control-flow\n" " Warn if some input strings cause undefined control flow in lexer\n" " (the faulty patterns are reported). This is the most dangerous\n" " and common mistake. It can be easily fixed by adding default rule\n" " '*' (this rule has the lowest priority, matches any code unit\n" " and consumes exactly one code unit).\n" "\n" "-Wuseless-escape Warn if a symbol is escaped when it shouldn't be. By default re2c\n" " silently ignores escape, but this may as well indicate a typo\n" " or an error in escape sequence.\n" "\n" ); } void vernum () { std::string vernum (PACKAGE_VERSION); if (vernum[1] == '.') { vernum.insert(0, "0"); } vernum.erase(2, 1); if (vernum[3] == '.') { vernum.insert(2, "0"); } vernum.erase(4, 1); if (vernum.length() < 6 || vernum[5] < '0' || vernum[5] > '9') { vernum.insert(4, "0"); } vernum.resize(6, '0'); printf ("%s\n", vernum.c_str ()); } void version () { printf ("re2c %s\n", PACKAGE_VERSION); } std::string incond (const std::string & cond) { std::string s; if (!cond.empty ()) { s += "in condition '"; s += cond; s += "' "; } return s; } } // namespace re2c re2c-0.16/src/conf/warn.cc0000644000175000017500000001067012650133301012204 00000000000000#include #include #include #include #include "src/conf/msg.h" #include "src/conf/warn.h" namespace re2c { Warn warn; const uint32_t Warn::SILENT = 0; const uint32_t Warn::WARNING = 1u << 0; const uint32_t Warn::ERROR = 1u << 1; const char * Warn::names [TYPES] = { #define W(x, y) y RE2C_WARNING_TYPES #undef W }; Warn::Warn () : mask () , error_accuml (false) { for (uint32_t i = 0; i < TYPES; ++i) { mask[i] = SILENT; } } bool Warn::error () const { return error_accuml; } void Warn::set (type_t t, option_t o) { switch (o) { case W: mask[t] |= WARNING; break; case WNO: mask[t] &= ~WARNING; break; case WERROR: // unlike -Werror, -Werror- implies -W mask[t] |= (WARNING | ERROR); break; case WNOERROR: mask[t] &= ~ERROR; break; } } void Warn::set_all () { for (uint32_t i = 0; i < TYPES; ++i) { mask[i] |= WARNING; } } // -Werror doesn't set any warnings: it only guarantees that if a warning // has been set by now or will be set later then it will result into error. void Warn::set_all_error () { for (uint32_t i = 0; i < TYPES; ++i) { mask[i] |= ERROR; } } void Warn::fail (type_t t, uint32_t line, const char * s) { if (mask[t] & WARNING) { // -Werror has no effect warning (names[t], line, false, "%s", s); } } void Warn::condition_order (uint32_t line) { if (mask[CONDITION_ORDER] & WARNING) { const bool e = mask[CONDITION_ORDER] & ERROR; error_accuml |= e; warning (names[CONDITION_ORDER], line, e, "looks like you use hardcoded numbers instead of autogenerated condition names: " "better add '/*!types:re2c*/' directive or '-t, --type-header' option " "and don't rely on fixed condition order."); } } void Warn::empty_class (uint32_t line) { if (mask[EMPTY_CHARACTER_CLASS] & WARNING) { const bool e = mask[EMPTY_CHARACTER_CLASS] & ERROR; error_accuml |= e; warning (names[EMPTY_CHARACTER_CLASS], line, e, "empty character class"); } } void Warn::match_empty_string (uint32_t line) { if (mask[MATCH_EMPTY_STRING] & WARNING) { const bool e = mask[MATCH_EMPTY_STRING] & ERROR; error_accuml |= e; warning (names[MATCH_EMPTY_STRING], line, e, "rule matches empty string"); } } void Warn::swapped_range (uint32_t line, uint32_t l, uint32_t u) { if (mask[SWAPPED_RANGE] & WARNING) { const bool e = mask[SWAPPED_RANGE] & ERROR; error_accuml |= e; warning (names[SWAPPED_RANGE], line, e, "range lower bound (0x%X) is greater than upper bound (0x%X), swapping", l, u); } } void Warn::undefined_control_flow (uint32_t line, const std::string & cond, std::vector & ways, bool overflow) { if (mask[UNDEFINED_CONTROL_FLOW] & WARNING) { const bool e = mask[UNDEFINED_CONTROL_FLOW] & ERROR; error_accuml |= e; // report shorter patterns first std::sort (ways.begin (), ways.end (), cmp_ways); warning_start (line, e); fprintf (stderr, "control flow %sis undefined for strings that match ", incond (cond).c_str ()); const size_t count = ways.size (); if (count == 1) { fprint_way (stderr, ways[0]); } else { for (size_t i = 0; i < count; ++i) { fprintf (stderr, "\n\t"); fprint_way (stderr, ways[i]); } fprintf (stderr, "\n"); } if (overflow) { fprintf (stderr, " ... and a few more"); } fprintf (stderr, ", use default rule '*'"); warning_end (names[UNDEFINED_CONTROL_FLOW], e); } } void Warn::unreachable_rule (const std::string & cond, const rule_info_t & rule, const rules_t & rules) { if (mask[UNREACHABLE_RULES] & WARNING) { const bool e = mask[UNREACHABLE_RULES] & ERROR; error_accuml |= e; warning_start (rule.line, e); fprintf (stderr, "unreachable rule %s", incond (cond).c_str ()); const size_t shadows = rule.shadow.size (); if (shadows > 0) { const char * pl = shadows > 1 ? "s" : ""; std::set::const_iterator i = rule.shadow.begin (); fprintf (stderr, "(shadowed by rule%s at line%s %u", pl, pl, rules.find (*i)->second.line); for (++i; i != rule.shadow.end (); ++i) { fprintf (stderr, ", %u", rules.find (*i)->second.line); } fprintf (stderr, ")"); } warning_end (names[UNREACHABLE_RULES], e); } } void Warn::useless_escape (uint32_t line, uint32_t col, char c) { if (mask[USELESS_ESCAPE] & WARNING) { const bool e = mask[USELESS_ESCAPE] & ERROR; error_accuml |= e; warning (names[USELESS_ESCAPE], line, e, "column %u: escape has no effect: '\\%c'", col, c); } } } // namespace re2c re2c-0.16/src/conf/parse_opts.re0000644000175000017500000002132412650133301013433 00000000000000#include "src/codegen/input_api.h" #include "src/conf/msg.h" #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/regexp/empty_class_policy.h" #include "src/ir/regexp/encoding/enc.h" namespace re2c { static inline bool next (char * & arg, char ** & argv) { arg = *++argv; return arg != NULL; } parse_opts_t parse_opts (char ** argv, Opt & opts) { #define YYCTYPE unsigned char char * YYCURSOR; char * YYMARKER; Warn::option_t option; /*!re2c re2c:yyfill:enable = 0; re2c:yych:conversion = 1; end = "\x00"; filename = [^\x00-] [^\x00]*; */ opt: if (!next (YYCURSOR, argv)) { goto end; } /*!re2c * { error ("bad option: %s", *argv); return EXIT_FAIL; } "--" end { // all remaining arguments are non-options // so they must be input files // re2c expects exactly one input file for (char * f; next (f, argv);) { if (!opts.source (f)) { return EXIT_FAIL; } } goto end; } "-" end { if (!opts.source ("")) return EXIT_FAIL; goto opt; } filename end { if (!opts.source (*argv)) return EXIT_FAIL; goto opt; } "-" { goto opt_short; } "--" { goto opt_long; } "-W" end { warn.set_all (); goto opt; } "-Werror" end { warn.set_all_error (); goto opt; } "-W" { option = Warn::W; goto opt_warn; } "-Wno-" { option = Warn::WNO; goto opt_warn; } "-Werror-" { option = Warn::WERROR; goto opt_warn; } "-Wno-error-" { option = Warn::WNOERROR; goto opt_warn; } */ opt_warn: /*!re2c * { error ("bad warning: %s", *argv); return EXIT_FAIL; } "condition-order" end { warn.set (Warn::CONDITION_ORDER, option); goto opt; } "empty-character-class" end { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; } "match-empty-string" end { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; } "swapped-range" end { warn.set (Warn::SWAPPED_RANGE, option); goto opt; } "undefined-control-flow" end { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; } "unreachable-rules" end { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; } "useless-escape" end { warn.set (Warn::USELESS_ESCAPE, option); goto opt; } */ opt_short: /*!re2c * { error ("bad short option: %s", *argv); return EXIT_FAIL; } end { goto opt; } [?h] { usage (); return EXIT_OK; } "v" { version (); return EXIT_OK; } "V" { vernum (); return EXIT_OK; } "b" { opts.set_bFlag (true); goto opt_short; } "c" { opts.set_cFlag (true); goto opt_short; } "d" { opts.set_dFlag (true); goto opt_short; } "D" { opts.set_target (opt_t::DOT); goto opt_short; } "f" { opts.set_fFlag (true); goto opt_short; } "F" { opts.set_FFlag (true); goto opt_short; } "g" { opts.set_gFlag (true); goto opt_short; } "i" { opts.set_iFlag (true); goto opt_short; } "r" { opts.set_rFlag (true); goto opt_short; } "s" { opts.set_sFlag (true); goto opt_short; } "S" { opts.set_target (opt_t::SKELETON); goto opt_short; } "e" { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } "u" { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } "w" { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } "x" { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } "8" { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt_short; } "o" end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } "o" { *argv = YYCURSOR; goto opt_output; } "t" end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } "t" { *argv = YYCURSOR; goto opt_header; } "1" { goto opt_short; } // deprecated */ opt_long: /*!re2c * { error ("bad long option: %s", *argv); return EXIT_FAIL; } "help" end { usage (); return EXIT_OK; } "version" end { version (); return EXIT_OK; } "vernum" end { vernum (); return EXIT_OK; } "bit-vectors" end { opts.set_bFlag (true); goto opt; } "start-conditions" end { opts.set_cFlag (true); goto opt; } "debug-output" end { opts.set_dFlag (true); goto opt; } "emit-dot" end { opts.set_target (opt_t::DOT); goto opt; } "storable-state" end { opts.set_fFlag (true); goto opt; } "flex-syntax" end { opts.set_FFlag (true); goto opt; } "computed-gotos" end { opts.set_gFlag (true); goto opt; } "no-debug-info" end { opts.set_iFlag (true); goto opt; } "reusable" end { opts.set_rFlag (true); goto opt; } "nested-ifs" end { opts.set_sFlag (true); goto opt; } "no-generation-date" end { opts.set_bNoGenerationDate (true); goto opt; } "no-version" end { opts.set_version (false); goto opt; } "case-insensitive" end { opts.set_bCaseInsensitive (true); goto opt; } "case-inverted" end { opts.set_bCaseInverted (true); goto opt; } "skeleton" end { opts.set_target (opt_t::SKELETON); goto opt; } "ecb" end { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; } "unicode" end { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt; } "wide-chars" end { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt; } "utf-16" end { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt; } "utf-8" end { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; } "output" end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; } "type-header" end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; } "encoding-policy" end { goto opt_encoding_policy; } "input" end { goto opt_input; } "empty-class" end { goto opt_empty_class; } "dfa-minimization" end { goto opt_dfa_minimization; } "single-pass" end { goto opt; } // deprecated */ opt_output: /*!re2c * { error ("bad argument to option -o, --output: %s", *argv); return EXIT_FAIL; } filename end { if (!opts.output (*argv)) return EXIT_FAIL; goto opt; } */ opt_header: /*!re2c * { error ("bad argument to option -t, --type-header: %s", *argv); return EXIT_FAIL; } filename end { opts.set_header_file (*argv); goto opt; } */ opt_encoding_policy: if (!next (YYCURSOR, argv)) { error_arg ("--encoding-policy"); return EXIT_FAIL; } /*!re2c * { error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv); return EXIT_FAIL; } "ignore" end { opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; } "substitute" end { opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; } "fail" end { opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; } */ opt_input: if (!next (YYCURSOR, argv)) { error_arg ("--input"); return EXIT_FAIL; } /*!re2c * { error ("bad argument to option --input (expected: default | custom): %s", *argv); return EXIT_FAIL; } "default" end { opts.set_input_api (InputAPI::DEFAULT); goto opt; } "custom" end { opts.set_input_api (InputAPI::CUSTOM); goto opt; } */ opt_empty_class: if (!next (YYCURSOR, argv)) { error_arg ("--empty-class"); return EXIT_FAIL; } /*!re2c * { error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv); return EXIT_FAIL; } "match-empty" end { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; } "match-none" end { opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; } "error" end { opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; } */ opt_dfa_minimization: if (!next (YYCURSOR, argv)) { error_arg ("--minimization"); return EXIT_FAIL; } /*!re2c * { error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv); return EXIT_FAIL; } "table" end { opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; } "moore" end { opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; } */ end: if (!opts.source_file) { error ("no source file"); return EXIT_FAIL; } return OK; #undef YYCTYPE } } // namespace re2c re2c-0.16/src/codegen/0000755000175000017500000000000012650133525011471 500000000000000re2c-0.16/src/codegen/go_construct.cc0000644000175000017500000001441012650133301014421 00000000000000#include #include "src/util/c99_stdint.h" #include #include #include #include "src/codegen/bitmap.h" #include "src/codegen/go.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/adfa/adfa.h" #include "src/util/allocate.h" namespace re2c { static uint32_t unmap (Span * new_span, const Span * old_span, uint32_t old_nspans, const State * x); Cases::Cases (const Span * span, uint32_t span_size) : def (span_size == 0 ? NULL : span[span_size - 1].to) , cases (new Case[span_size]) , cases_size (0) { for (uint32_t i = 0, lb = 0; i < span_size; ++ i) { add (lb, span[i].ub, span[i].to); lb = span[i].ub; } } void Cases::add (uint32_t lb, uint32_t ub, State * to) { for (uint32_t i = 0; i < cases_size; ++i) { if (cases[i].to == to) { cases[i].ranges.push_back (std::make_pair (lb, ub)); return; } } cases[cases_size].ranges.push_back (std::make_pair (lb, ub)); cases[cases_size].to = to; ++cases_size; } Cond::Cond (const std::string & cmp, uint32_t val) : compare (cmp) , value (val) {} Binary::Binary (const Span * s, uint32_t n, const State * next) : cond (NULL) , thn (NULL) , els (NULL) { const uint32_t l = n / 2; const uint32_t h = n - l; cond = new Cond ("<=", s[l - 1].ub - 1); thn = new If (l > 4 ? If::BINARY : If::LINEAR, &s[0], l, next); els = new If (h > 4 ? If::BINARY : If::LINEAR, &s[l], h, next); } Linear::Linear (const Span * s, uint32_t n, const State * next) : branches () { for (;;) { const State *bg = s[0].to; while (n >= 3 && s[2].to == bg && (s[1].ub - s[0].ub) == 1) { if (s[1].to == next && n == 3) { branches.push_back (std::make_pair (new Cond ("!=", s[0].ub), bg)); return ; } else { branches.push_back (std::make_pair (new Cond ("==", s[0].ub), s[1].to)); } n -= 2; s += 2; } if (n == 1) { if (next == NULL || s[0].to != next) { branches.push_back (std::make_pair (static_cast (NULL), s[0].to)); } return; } else if (n == 2 && bg == next) { branches.push_back (std::make_pair (new Cond (">=", s[0].ub), s[1].to)); return; } else { branches.push_back (std::make_pair (new Cond ("<=", s[0].ub - 1), bg)); n -= 1; s += 1; } } } If::If (type_t t, const Span * sp, uint32_t nsp, const State * next) : type (t) , info () { switch (type) { case BINARY: info.binary = new Binary (sp, nsp, next); break; case LINEAR: info.linear = new Linear (sp, nsp, next); break; } } SwitchIf::SwitchIf (const Span * sp, uint32_t nsp, const State * next) : type (IF) , info () { if ((!opts->sFlag && nsp > 2) || (nsp > 8 && (sp[nsp - 2].ub - sp[0].ub <= 3 * (nsp - 2)))) { type = SWITCH; info.cases = new Cases (sp, nsp); } else if (nsp > 5) { info.ifs = new If (If::BINARY, sp, nsp, next); } else { info.ifs = new If (If::LINEAR, sp, nsp, next); } } GoBitmap::GoBitmap (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const BitMap * bm, const State * bm_state, const State * next) : bitmap (bm) , bitmap_state (bm_state) , hgo (NULL) , lgo (NULL) { Span * bspan = allocate (nSpans); uint32_t bSpans = unmap (bspan, span, nSpans, bm_state); lgo = bSpans == 0 ? NULL : new SwitchIf (bspan, bSpans, next); // if there are any low spans, then next state for high spans // must be NULL to trigger explicit goto generation in linear 'if' hgo = hSpans == 0 ? NULL : new SwitchIf (hspan, hSpans, lgo ? NULL : next); operator delete (bspan); } const uint32_t CpgotoTable::TABLE_SIZE = 0x100; CpgotoTable::CpgotoTable (const Span * span, uint32_t nSpans) : table (new const State * [TABLE_SIZE]) { uint32_t c = 0; for (uint32_t i = 0; i < nSpans; ++i) { for(; c < span[i].ub && c < TABLE_SIZE; ++c) { table[c] = span[i].to; } } } Cpgoto::Cpgoto (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const State * next) : hgo (hSpans == 0 ? NULL : new SwitchIf (hspan, hSpans, next)) , table (new CpgotoTable (span, nSpans)) {} Dot::Dot (const Span * sp, uint32_t nsp, const State * s) : from (s) , cases (new Cases (sp, nsp)) {} Go::Go () : nSpans (0) , span (NULL) , type (EMPTY) , info () {} void Go::init (const State * from) { if (nSpans == 0) { return; } // initialize high (wide) spans uint32_t hSpans = 0; const Span * hspan = NULL; for (uint32_t i = 0; i < nSpans; ++i) { if (span[i].ub > 0x100) { hspan = &span[i]; hSpans = nSpans - i; break; } } // initialize bitmaps uint32_t nBitmaps = 0; const BitMap * bitmap = NULL; const State * bitmap_state = NULL; for (uint32_t i = 0; i < nSpans; ++i) { if (span[i].to->isBase) { const BitMap *b = BitMap::find (span[i].to); if (b && matches(b->go->span, b->go->nSpans, b->on, span, nSpans, span[i].to)) { if (bitmap == NULL) { bitmap = b; bitmap_state = span[i].to; } nBitmaps++; } } } const uint32_t dSpans = nSpans - hSpans - nBitmaps; if (opts->target == opt_t::DOT) { type = DOT; info.dot = new Dot (span, nSpans, from); } else if (opts->gFlag && (dSpans >= opts->cGotoThreshold)) { type = CPGOTO; info.cpgoto = new Cpgoto (span, nSpans, hspan, hSpans, from->next); } else if (opts->bFlag && (nBitmaps > 0)) { type = BITMAP; info.bitmap = new GoBitmap (span, nSpans, hspan, hSpans, bitmap, bitmap_state, from->next); bUsedYYBitmap = true; } else { type = SWITCH_IF; info.switchif = new SwitchIf (span, nSpans, from->next); } } /* * Find all spans, that map to the given state. For each of them, * find upper adjacent span, that maps to another state (if such * span exists, otherwize try lower one). * If input contains single span that maps to the given state, * then output contains 0 spans. */ uint32_t unmap (Span * new_span, const Span * old_span, uint32_t old_nspans, const State * x) { uint32_t new_nspans = 0; for (uint32_t i = 0; i < old_nspans; ++i) { if (old_span[i].to != x) { if (new_nspans > 0 && new_span[new_nspans - 1].to == old_span[i].to) new_span[new_nspans - 1].ub = old_span[i].ub; else { new_span[new_nspans].to = old_span[i].to; new_span[new_nspans].ub = old_span[i].ub; ++new_nspans; } } } if (new_nspans > 0) new_span[new_nspans - 1].ub = old_span[old_nspans - 1].ub; return new_nspans; } } // namespace re2c re2c-0.16/src/codegen/input_api.cc0000644000175000017500000000663112650133301013706 00000000000000#include #include "src/codegen/input_api.h" #include "src/codegen/indent.h" #include "src/conf/opt.h" #include "src/globals.h" namespace re2c { InputAPI::InputAPI () : type_ (DEFAULT) {} InputAPI::type_t InputAPI::type () const { return type_; } void InputAPI::set (type_t t) { type_ = t; } std::string InputAPI::expr_peek () const { std::string s; switch (type_) { case DEFAULT: s = "*" + opts->yycursor; break; case CUSTOM: s = opts->yypeek + " ()"; break; } return s; } std::string InputAPI::expr_peek_save () const { return opts->yych + " = " + opts.yychConversion () + expr_peek (); } std::string InputAPI::stmt_peek (uint32_t ind) const { return indent (ind) + expr_peek_save () + ";\n"; } std::string InputAPI::stmt_skip (uint32_t ind) const { std::string s; switch (type_) { case DEFAULT: s = "++" + opts->yycursor; break; case CUSTOM: s = opts->yyskip + " ()"; break; } return indent (ind) + s + ";\n"; } std::string InputAPI::stmt_backup (uint32_t ind) const { std::string s; switch (type_) { case DEFAULT: s = opts->yymarker + " = " + opts->yycursor; break; case CUSTOM: s = opts->yybackup + " ()"; break; } return indent (ind) + s + ";\n"; } std::string InputAPI::stmt_backupctx (uint32_t ind) const { std::string s; switch (type_) { case DEFAULT: s = opts->yyctxmarker + " = " + opts->yycursor; break; case CUSTOM: s = opts->yybackupctx + " ()"; break; } return indent (ind) + s + ";\n"; } std::string InputAPI::stmt_restore (uint32_t ind) const { std::string s; switch (type_) { case DEFAULT: s = opts->yycursor + " = " + opts->yymarker; break; case CUSTOM: s = opts->yyrestore + " ()"; break; } return indent (ind) + s + ";\n"; } std::string InputAPI::stmt_restorectx (uint32_t ind) const { std::string s; switch (type_) { case DEFAULT: s = indent (ind) + opts->yycursor + " = " + opts->yyctxmarker + ";\n"; break; case CUSTOM: s = indent (ind) + opts->yyrestorectx + " ();\n"; break; } return s; } std::string InputAPI::stmt_skip_peek (uint32_t ind) const { return type_ == DEFAULT ? indent (ind) + opts->yych + " = " + opts.yychConversion () + "*++" + opts->yycursor + ";\n" : stmt_skip (ind) + stmt_peek (ind); } std::string InputAPI::stmt_skip_backup (uint32_t ind) const { return type_ == DEFAULT ? indent (ind) + opts->yymarker + " = ++" + opts->yycursor + ";\n" : stmt_skip (ind) + stmt_backup (ind); } std::string InputAPI::stmt_backup_peek (uint32_t ind) const { return type_ == DEFAULT ? indent (ind) + opts->yych + " = " + opts.yychConversion () + "*(" + opts->yymarker + " = " + opts->yycursor + ");\n" : stmt_backup (ind) + stmt_peek (ind); } std::string InputAPI::stmt_skip_backup_peek (uint32_t ind) const { return type_ == DEFAULT ? indent (ind) + opts->yych + " = " + opts.yychConversion () + "*(" + opts->yymarker + " = ++" + opts->yycursor + ");\n" : stmt_skip (ind) + stmt_backup (ind) + stmt_peek (ind); } std::string InputAPI::expr_lessthan_one () const { return type_ == DEFAULT ? opts->yylimit + " <= " + opts->yycursor : expr_lessthan (1); } std::string InputAPI::expr_lessthan (size_t n) const { std::ostringstream s; switch (type_) { case DEFAULT: s << "(" << opts->yylimit << " - " << opts->yycursor << ") < " << n; break; case CUSTOM: s << opts->yylessthan << " (" << n << ")"; break; } return s.str (); } } // end namespace re2c re2c-0.16/src/codegen/print.cc0000644000175000017500000000424312633273654013070 00000000000000#include #include "src/codegen/print.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" namespace re2c { bool is_print (uint32_t c) { return c >= 0x20 && c < 0x7F; } bool is_space (uint32_t c) { switch (c) { case '\t': case '\f': case '\v': case '\n': case '\r': case ' ': return true; default: return false; } } char hexCh(uint32_t c) { static const char * sHex = "0123456789ABCDEF"; return sHex[c & 0x0F]; } void prtChOrHex(std::ostream& o, uint32_t c) { if (opts->encoding.type () != Enc::EBCDIC && (is_print (c) || is_space (c))) { o << '\''; prtCh(o, c); o << '\''; } else { prtHex(o, c); } } void prtHex(std::ostream& o, uint32_t c) { o << "0x"; const uint32_t cunit_size = opts->encoding.szCodeUnit (); if (cunit_size >= 4) { o << hexCh (c >> 28u) << hexCh (c >> 24u) << hexCh (c >> 20u) << hexCh (c >> 16u); } if (cunit_size >= 2) { o << hexCh (c >> 12u) << hexCh (c >> 8u); } o << hexCh (c >> 4u) << hexCh (c); } void prtCh(std::ostream& o, uint32_t c) { const bool dot = opts->target == opt_t::DOT; switch (c) { case '\'': o << (dot ? "'" : "\\'"); break; case '"': o << (dot ? "\\\"" : "\""); break; case '\n': o << (dot ? "\\\\n" : "\\n"); break; case '\t': o << (dot ? "\\\\t" : "\\t"); break; case '\v': o << (dot ? "\\\\v" : "\\v"); break; case '\b': o << (dot ? "\\\\b" : "\\b"); break; case '\r': o << (dot ? "\\\\r" : "\\r"); break; case '\f': o << (dot ? "\\\\f" : "\\f"); break; case '\a': o << (dot ? "\\\\a" :"\\a"); break; case '\\': o << "\\\\"; // both .dot and C/C++ code expect "\\" break; default: o << static_cast (c); break; } } void prtChOrHexForSpan(std::ostream& o, uint32_t c) { if (opts->encoding.type () != Enc::EBCDIC && is_print (c) && (c != ']')) { prtCh(o, c); } else { prtHex(o, c); } } void printSpan(std::ostream& o, uint32_t lb, uint32_t ub) { o << "["; if ((ub - lb) == 1) { prtChOrHexForSpan(o, lb); } else { prtChOrHexForSpan(o, lb); o << "-"; prtChOrHexForSpan(o, ub - 1); } o << "]"; } } // end namespace re2c re2c-0.16/src/codegen/emit.h0000644000175000017500000000166612650133301012521 00000000000000#ifndef _RE2C_CODEGEN_EMIT_ #define _RE2C_CODEGEN_EMIT_ #include "src/codegen/output.h" #include "src/ir/adfa/adfa.h" namespace re2c { typedef std::vector RegExpIndices; void emit_action ( const Action & action , OutputFile & o , uint32_t ind , bool & readCh , const State * const s , const std::string & condName , const Skeleton * skeleton , const std::set & used_labels , bool save_yyaccept ); // helpers void genGoTo (OutputFile & o, uint32_t ind, const State * from, const State * to, bool & readCh); template std::string replaceParam (std::string str, const std::string & param, const _Ty & value) { if (!param.empty ()) { std::ostringstream strValue; strValue << value; std::string::size_type pos; while((pos = str.find(param)) != std::string::npos) { str.replace(pos, param.length(), strValue.str()); } } return str; } } // namespace re2c #endif // _RE2C_CODEGEN_EMIT_ re2c-0.16/src/codegen/output.cc0000644000175000017500000002220212650133301013246 00000000000000#include #include #include #include "src/codegen/indent.h" #include "src/codegen/output.h" #include "src/codegen/print.h" #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/rule_rank.h" namespace re2c { OutputFragment::OutputFragment (type_t t, uint32_t i) : type (t) , stream () , indent (i) {} uint32_t OutputFragment::count_lines () { uint32_t lines = 0; const std::string content = stream.str (); const char * p = content.c_str (); for (uint32_t i = 0; i < content.size (); ++i) { if (p[i] == '\n') { ++lines; } } return lines; } OutputBlock::OutputBlock () : fragments () , used_yyaccept (false) , force_start_label (false) , user_start_label () , line (0) { fragments.push_back (new OutputFragment (OutputFragment::CODE, 0)); } OutputBlock::~OutputBlock () { for (unsigned int i = 0; i < fragments.size (); ++i) { delete fragments[i]; } } OutputFile::OutputFile (const char * fn) : file_name (fn) , file (NULL) , blocks () , label_counter () , warn_condition_order (!opts->tFlag) // see note [condition order] { new_block (); } bool OutputFile::open () { if (file_name == NULL) { file_name = ""; file = stdout; } else { file = fopen (file_name, "wb"); } return file != NULL; } OutputFile::~OutputFile () { if (file != NULL && file != stdout) { fclose (file); } for (unsigned int i = 0; i < blocks.size (); ++i) { delete blocks[i]; } } std::ostream & OutputFile::stream () { return blocks.back ()->fragments.back ()->stream; } OutputFile & OutputFile::wraw (const char * s, size_t n) { stream ().write (s, static_cast (n)); return *this; } OutputFile & OutputFile::wu32_hex (uint32_t n) { prtHex (stream (), n); return *this; } OutputFile & OutputFile::wc_hex (uint32_t n) { prtChOrHex (stream (), n); return *this; } OutputFile & OutputFile::wrange (uint32_t l, uint32_t u) { printSpan (stream (), l, u); return *this; } OutputFile & OutputFile::wu32_width (uint32_t n, int w) { stream () << std::setw (w); stream () << n; return *this; } OutputFile & OutputFile::wline_info (uint32_t l, const char * fn) { output_line_info (stream (), l, fn); return *this; } OutputFile & OutputFile::wversion_time () { output_version_time (stream ()); return *this; } OutputFile & OutputFile::wuser_start_label () { const std::string label = blocks.back ()->user_start_label; if (!label.empty ()) { wstring(label).ws(":\n"); } return *this; } OutputFile & OutputFile::wc (char c) { stream () << c; return *this; } OutputFile & OutputFile::wu32 (uint32_t n) { stream () << n; return *this; } OutputFile & OutputFile::wu64 (uint64_t n) { stream () << n; return *this; } OutputFile & OutputFile::wstring (const std::string & s) { stream () << s; return *this; } OutputFile & OutputFile::ws (const char * s) { stream () << s; return *this; } OutputFile & OutputFile::wlabel (label_t l) { stream () << l; return *this; } OutputFile & OutputFile::wrank (rule_rank_t r) { stream () << r; return *this; } OutputFile & OutputFile::wind (uint32_t ind) { stream () << indent(ind); return *this; } void OutputFile::insert_code () { blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::CODE, 0)); } OutputFile & OutputFile::wdelay_line_info () { blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::LINE_INFO, 0)); insert_code (); return *this; } OutputFile & OutputFile::wdelay_state_goto (uint32_t ind) { if (opts->fFlag && !bWroteGetState) { blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::STATE_GOTO, ind)); insert_code (); bWroteGetState = true; } return *this; } OutputFile & OutputFile::wdelay_types () { warn_condition_order = false; // see note [condition order] blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::TYPES, 0)); insert_code (); return *this; } OutputFile & OutputFile::wdelay_warn_condition_order () { blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::WARN_CONDITION_ORDER, 0)); insert_code (); return *this; } OutputFile & OutputFile::wdelay_yyaccept_init (uint32_t ind) { blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::YYACCEPT_INIT, ind)); insert_code (); return *this; } OutputFile & OutputFile::wdelay_yymaxfill () { blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::YYMAXFILL, 0)); insert_code (); return *this; } void OutputFile::set_used_yyaccept () { blocks.back ()->used_yyaccept = true; } bool OutputFile::get_used_yyaccept () const { return blocks.back ()->used_yyaccept; } void OutputFile::set_force_start_label (bool force) { blocks.back ()->force_start_label = force; } void OutputFile::set_user_start_label (const std::string & label) { blocks.back ()->user_start_label = label; } bool OutputFile::get_force_start_label () const { return blocks.back ()->force_start_label; } void OutputFile::set_block_line (uint32_t l) { blocks.back ()->line = l; } uint32_t OutputFile::get_block_line () const { return blocks.back ()->line; } void OutputFile::new_block () { blocks.push_back (new OutputBlock ()); insert_code (); } void OutputFile::emit ( const std::vector & types , size_t max_fill ) { if (file != NULL) { unsigned int line_count = 1; for (unsigned int j = 0; j < blocks.size (); ++j) { OutputBlock & b = * blocks[j]; for (unsigned int i = 0; i < b.fragments.size (); ++i) { OutputFragment & f = * b.fragments[i]; switch (f.type) { case OutputFragment::CODE: break; case OutputFragment::LINE_INFO: output_line_info (f.stream, line_count + 1, file_name); break; case OutputFragment::STATE_GOTO: output_state_goto (f.stream, f.indent, 0); break; case OutputFragment::TYPES: output_types (f.stream, f.indent, types); break; case OutputFragment::WARN_CONDITION_ORDER: if (warn_condition_order) // see note [condition order] { warn.condition_order (b.line); } break; case OutputFragment::YYACCEPT_INIT: output_yyaccept_init (f.stream, f.indent, b.used_yyaccept); break; case OutputFragment::YYMAXFILL: output_yymaxfill (f.stream, max_fill); break; } std::string content = f.stream.str (); fwrite (content.c_str (), 1, content.size (), file); line_count += f.count_lines (); } } } } HeaderFile::HeaderFile (const char * fn) : stream () // header is always generated, but not always dumped to file // NULL filename crashes 'operator <<' on some platforms // TODO: generate header only if necessary , file_name (fn ? fn : ".h") , file (NULL) {} bool HeaderFile::open () { file = fopen (file_name, "wb"); return file != NULL; } void HeaderFile::emit (const std::vector & types) { output_version_time (stream); output_line_info (stream, 3, file_name); stream << "\n"; output_types (stream, 0, types); } HeaderFile::~HeaderFile () { if (file != NULL) { std::string content = stream.str (); fwrite (content.c_str (), 1, content.size (), file); fclose (file); } } Output::Output (const char * source_name, const char * header_name) : source (source_name) , header (header_name) , types () , skeletons () , max_fill (1) {} Output::~Output () { if (!warn.error ()) { source.emit (types, max_fill); header.emit (types); } } void output_state_goto (std::ostream & o, uint32_t ind, uint32_t start_label) { o << indent(ind) << "switch (" << output_get_state() << ") {\n"; if (opts->bUseStateAbort) { o << indent(ind) << "default: abort();\n"; o << indent(ind) << "case -1: goto " << opts->labelPrefix << start_label << ";\n"; } else { o << indent(ind) << "default: goto " << opts->labelPrefix << start_label << ";\n"; } for (uint32_t i = 0; i < last_fill_index; ++i) { o << indent(ind) << "case " << i << ": goto " << opts->yyfilllabel << i << ";\n"; } o << indent(ind) << "}\n"; if (opts->bUseStateNext) { o << opts->yynext << ":\n"; } } void output_yyaccept_init (std::ostream & o, uint32_t ind, bool used_yyaccept) { if (used_yyaccept) { o << indent (ind) << "unsigned int " << opts->yyaccept << " = 0;\n"; } } void output_yymaxfill (std::ostream & o, size_t max_fill) { o << "#define YYMAXFILL " << max_fill << "\n"; } void output_line_info (std::ostream & o, uint32_t line_number, const char * file_name) { if (!opts->iFlag) { o << "#line " << line_number << " \"" << file_name << "\"\n"; } } void output_types (std::ostream & o, uint32_t ind, const std::vector & types) { o << indent (ind++) << "enum " << opts->yycondtype << " {\n"; for (unsigned int i = 0; i < types.size (); ++i) { o << indent (ind) << opts->condEnumPrefix << types[i] << ",\n"; } o << indent (--ind) << "};\n"; } void output_version_time (std::ostream & o) { o << "/* Generated by re2c"; if (opts->version) { o << " " << PACKAGE_VERSION; } if (!opts->bNoGenerationDate) { o << " on "; time_t now = time (NULL); o.write (ctime (&now), 24); } o << " */" << "\n"; } std::string output_get_state () { return opts->state_get_naked ? opts->state_get : opts->state_get + "()"; } } // namespace re2c re2c-0.16/src/codegen/emit_action.cc0000644000175000017500000002264412650133301014213 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include "src/codegen/emit.h" #include "src/codegen/input_api.h" #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/adfa/action.h" #include "src/ir/adfa/adfa.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_rule.h" #include "src/ir/skeleton/skeleton.h" #include "src/parse/code.h" #include "src/parse/loc.h" namespace re2c { class label_t; static void need (OutputFile & o, uint32_t ind, bool & readCh, size_t n, bool bSetMarker); static void emit_match (OutputFile & o, uint32_t ind, bool & readCh, const State * const s); static void emit_initial (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const Initial & init, const std::set & used_labels); static void emit_save (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, uint32_t save, bool save_yyaccept); static void emit_accept_binary (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accept, size_t l, size_t r); static void emit_accept (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accept); static void emit_rule (OutputFile & o, uint32_t ind, const State * const s, const RuleOp * const rule, const std::string & condName, const Skeleton * skeleton); static void genYYFill (OutputFile & o, size_t need); static void genSetCondition (OutputFile & o, uint32_t ind, const std::string & newcond); static void genSetState (OutputFile & o, uint32_t ind, uint32_t fillIndex); void emit_action ( const Action & action , OutputFile & o , uint32_t ind , bool & readCh , const State * const s , const std::string & condName , const Skeleton * skeleton , const std::set & used_labels , bool save_yyaccept ) { switch (action.type) { case Action::MATCH: emit_match (o, ind, readCh, s); break; case Action::INITIAL: emit_initial (o, ind, readCh, s, * action.info.initial, used_labels); break; case Action::SAVE: emit_save (o, ind, readCh, s, action.info.save, save_yyaccept); break; case Action::MOVE: break; case Action::ACCEPT: emit_accept (o, ind, readCh, s, * action.info.accepts); break; case Action::RULE: emit_rule (o, ind, s, action.info.rule, condName, skeleton); break; } if (s->isPreCtxt && opts->target != opt_t::DOT) { o.wstring(opts->input_api.stmt_backupctx (ind)); } } void emit_match (OutputFile & o, uint32_t ind, bool & readCh, const State * const s) { if (opts->target == opt_t::DOT) { return; } const bool read_ahead = s && s->next && s->next->action.type != Action::RULE; if (s->fill != 0) { o.wstring(opts->input_api.stmt_skip (ind)); } else if (!read_ahead) { /* do not read next char if match */ o.wstring(opts->input_api.stmt_skip (ind)); readCh = true; } else { o.wstring(opts->input_api.stmt_skip_peek (ind)); readCh = false; } if (s->fill != 0) { need(o, ind, readCh, s->fill, false); } } void emit_initial (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const Initial & initial, const std::set & used_labels) { if (opts->target == opt_t::DOT) { return; } if (used_labels.count(s->label)) { if (s->fill != 0) { o.wstring(opts->input_api.stmt_skip (ind)); } else { o.wstring(opts->input_api.stmt_skip_peek (ind)); } } if (used_labels.count(initial.label)) { o.wstring(opts->labelPrefix).wlabel(initial.label).ws(":\n"); } if (opts->dFlag) { o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(initial.label).ws(", *").wstring(opts->yycursor).ws(");\n"); } if (s->fill != 0) { need(o, ind, readCh, s->fill, initial.setMarker); } else { if (initial.setMarker) { o.wstring(opts->input_api.stmt_backup (ind)); } readCh = false; } } void emit_save (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, uint32_t save, bool save_yyaccept) { if (opts->target == opt_t::DOT) { return; } if (save_yyaccept) { o.wind(ind).wstring(opts->yyaccept).ws(" = ").wu32(save).ws(";\n"); } if (s->fill != 0) { o.wstring(opts->input_api.stmt_skip_backup (ind)); need(o, ind, readCh, s->fill, false); } else { o.wstring(opts->input_api.stmt_skip_backup_peek (ind)); readCh = false; } } void emit_accept_binary (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accepts, size_t l, size_t r) { if (l < r) { const size_t m = (l + r) >> 1; o.wind(ind).ws("if (").wstring(opts->yyaccept).ws(r == l+1 ? " == " : " <= ").wu64(m).ws(") {\n"); emit_accept_binary (o, ++ind, readCh, s, accepts, l, m); o.wind(--ind).ws("} else {\n"); emit_accept_binary (o, ++ind, readCh, s, accepts, m + 1, r); o.wind(--ind).ws("}\n"); } else { genGoTo(o, ind, s, accepts[l], readCh); } } void emit_accept (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accepts) { const size_t accepts_size = accepts.size (); if (accepts_size > 0) { if (opts->target != opt_t::DOT) { o.wstring(opts->input_api.stmt_restore (ind)); } if (readCh) // shouldn't be necessary, but might become at some point { o.wstring(opts->input_api.stmt_peek (ind)); readCh = false; } if (accepts_size > 1) { if (opts->gFlag && accepts_size >= opts->cGotoThreshold) { o.wind(ind++).ws("{\n"); o.wind(ind++).ws("static void *").wstring(opts->yytarget).ws("[").wu64(accepts_size).ws("] = {\n"); for (uint32_t i = 0; i < accepts_size; ++i) { o.wind(ind).ws("&&").wstring(opts->labelPrefix).wlabel(accepts[i]->label).ws(",\n"); } o.wind(--ind).ws("};\n"); o.wind(ind).ws("goto *").wstring(opts->yytarget).ws("[").wstring(opts->yyaccept).ws("];\n"); o.wind(--ind).ws("}\n"); } else if (opts->sFlag || (accepts_size == 2 && opts->target != opt_t::DOT)) { emit_accept_binary (o, ind, readCh, s, accepts, 0, accepts_size - 1); } else if (opts->target == opt_t::DOT) { for (uint32_t i = 0; i < accepts_size; ++i) { o.wlabel(s->label).ws(" -> ").wlabel(accepts[i]->label); o.ws(" [label=\"yyaccept=").wu32(i).ws("\"]\n"); } } else { o.wind(ind).ws("switch (").wstring(opts->yyaccept).ws(") {\n"); for (uint32_t i = 0; i < accepts_size - 1; ++i) { o.wind(ind).ws("case ").wu32(i).ws(": \t"); genGoTo(o, 0, s, accepts[i], readCh); } o.wind(ind).ws("default:\t"); genGoTo(o, 0, s, accepts[accepts_size - 1], readCh); o.wind(ind).ws("}\n"); } } else { // no need to write if statement here since there is only case 0. genGoTo(o, ind, s, accepts[0], readCh); } } } void emit_rule (OutputFile & o, uint32_t ind, const State * const s, const RuleOp * const rule, const std::string & condName, const Skeleton * skeleton) { if (opts->target == opt_t::DOT) { o.wlabel(s->label); if (rule->code) { o.ws(" [label=\"").wstring(rule->code->loc.filename).ws(":").wu32(rule->code->loc.line).ws("\"]"); } o.ws("\n"); return; } uint32_t back = rule->ctx->fixedLength(); if (back != 0u && opts->target != opt_t::DOT) { o.wstring(opts->input_api.stmt_restorectx (ind)); } if (opts->target == opt_t::SKELETON) { skeleton->emit_action (o, ind, rule->rank); } else { if (!rule->newcond.empty () && condName != rule->newcond) { genSetCondition(o, ind, rule->newcond); } if (rule->code) { if (!yySetupRule.empty ()) { o.wind(ind).wstring(yySetupRule).ws("\n"); } o.wline_info(rule->code->loc.line, rule->code->loc.filename.c_str ()) .wind(ind).wstring(rule->code->text).ws("\n") .wdelay_line_info (); } else if (!rule->newcond.empty ()) { o.wind(ind).wstring(replaceParam(opts->condGoto, opts->condGotoParam, opts->condPrefix + rule->newcond)).ws("\n"); } } } void need (OutputFile & o, uint32_t ind, bool & readCh, size_t n, bool bSetMarker) { if (opts->target == opt_t::DOT) { return; } uint32_t fillIndex = last_fill_index; if (opts->fFlag) { last_fill_index++; genSetState (o, ind, fillIndex); } if (opts->fill_use && n > 0) { o.wind(ind); if (n == 1) { if (opts->fill_check) { o.ws("if (").wstring(opts->input_api.expr_lessthan_one ()).ws(") "); } genYYFill(o, n); } else { if (opts->fill_check) { o.ws("if (").wstring(opts->input_api.expr_lessthan (n)).ws(") "); } genYYFill(o, n); } } if (opts->fFlag) { o.wstring(opts->yyfilllabel).wu32(fillIndex).ws(":\n"); } if (n > 0) { if (bSetMarker) { o.wstring(opts->input_api.stmt_backup_peek (ind)); } else { o.wstring(opts->input_api.stmt_peek (ind)); } readCh = false; } } void genYYFill (OutputFile & o, size_t need) { o.wstring(replaceParam (opts->fill, opts->fill_arg, need)); if (!opts->fill_naked) { if (opts->fill_arg_use) { o.ws("(").wu64(need).ws(")"); } o.ws(";"); } o.ws("\n"); } void genSetCondition(OutputFile & o, uint32_t ind, const std::string& newcond) { o.wind(ind).wstring(replaceParam (opts->cond_set, opts->cond_set_arg, opts->condEnumPrefix + newcond)); if (!opts->cond_set_naked) { o.ws("(").wstring(opts->condEnumPrefix).wstring(newcond).ws(");"); } o.ws("\n"); } void genSetState(OutputFile & o, uint32_t ind, uint32_t fillIndex) { o.wind(ind).wstring(replaceParam (opts->state_set, opts->state_set_arg, fillIndex)); if (!opts->state_set_naked) { o.ws("(").wu32(fillIndex).ws(");"); } o.ws("\n"); } } // namespace re2c re2c-0.16/src/codegen/go.h0000644000175000017500000000745212633273654012210 00000000000000#ifndef _RE2C_CODEGEN_GO_ #define _RE2C_CODEGEN_GO_ #include #include #include #include "src/codegen/output.h" #include "src/util/c99_stdint.h" #include "src/util/forbid_copy.h" namespace re2c { class BitMap; class State; struct If; struct Span { uint32_t ub; State * to; FORBID_COPY (Span); }; struct Case { std::vector > ranges; const State * to; void emit (OutputFile & o, uint32_t ind); inline Case () : ranges () , to (NULL) {} FORBID_COPY (Case); }; struct Cases { const State * def; Case * cases; uint32_t cases_size; void add (uint32_t lb, uint32_t ub, State * to); Cases (const Span * s, uint32_t n); ~Cases (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); FORBID_COPY (Cases); }; struct Cond { std::string compare; uint32_t value; Cond (const std::string & cmp, uint32_t val); }; struct Binary { Cond * cond; If * thn; If * els; Binary (const Span * s, uint32_t n, const State * next); ~Binary (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); FORBID_COPY (Binary); }; struct Linear { std::vector > branches; Linear (const Span * s, uint32_t n, const State * next); ~Linear (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); }; struct If { enum type_t { BINARY, LINEAR } type; union { Binary * binary; Linear * linear; } info; If (type_t t, const Span * sp, uint32_t nsp, const State * next); ~If (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); }; struct SwitchIf { enum { SWITCH, IF } type; union { Cases * cases; If * ifs; } info; SwitchIf (const Span * sp, uint32_t nsp, const State * next); ~SwitchIf (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); }; struct GoBitmap { const BitMap * bitmap; const State * bitmap_state; SwitchIf * hgo; SwitchIf * lgo; GoBitmap (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const BitMap * bm, const State * bm_state, const State * next); ~GoBitmap (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); FORBID_COPY (GoBitmap); }; struct CpgotoTable { static const uint32_t TABLE_SIZE; const State ** table; CpgotoTable (const Span * span, uint32_t nSpans); ~CpgotoTable (); void emit (OutputFile & o, uint32_t ind); void used_labels (std::set & used); private: label_t max_label () const; FORBID_COPY (CpgotoTable); }; struct Cpgoto { SwitchIf * hgo; CpgotoTable * table; Cpgoto (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const State * next); ~Cpgoto (); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); FORBID_COPY (Cpgoto); }; struct Dot { const State * from; Cases * cases; Dot (const Span * sp, uint32_t nsp, const State * from); ~Dot (); void emit (OutputFile & o); FORBID_COPY (Dot); }; struct Go { uint32_t nSpans; // number of spans Span * span; enum { EMPTY, SWITCH_IF, BITMAP, CPGOTO, DOT } type; union { SwitchIf * switchif; GoBitmap * bitmap; Cpgoto * cpgoto; Dot * dot; } info; Go (); ~Go (); void init (const State * from); void emit (OutputFile & o, uint32_t ind, bool & readCh); void used_labels (std::set & used); Go (const Go & g) : nSpans (g.nSpans) , span (g.span) , type (g.type) , info (g.info) {} Go & operator = (const Go & g) { nSpans = g.nSpans; span = g.span; type = g.type; info = g.info; return * this; } }; } // namespace re2c #endif // _RE2C_CODEGEN_GO_ re2c-0.16/src/codegen/bitmap.cc0000644000175000017500000000527512633273654013216 00000000000000#include // min #include // memset #include "src/codegen/bitmap.h" #include "src/codegen/go.h" #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" namespace re2c { BitMap *BitMap::first = NULL; BitMap::BitMap(const Go *g, const State *x) : go(g) , on(x) , next(first) , i(0) , m(0) { first = this; } BitMap::~BitMap() { delete next; } const BitMap *BitMap::find(const Go *g, const State *x) { for (const BitMap *b = first; b; b = b->next) { if (matches(b->go->span, b->go->nSpans, b->on, g->span, g->nSpans, x)) { return b; } } return new BitMap(g, x); } const BitMap *BitMap::find(const State *x) { for (const BitMap *b = first; b; b = b->next) { if (b->on == x) { return b; } } return NULL; } static void doGen(const Go *g, const State *s, uint32_t *bm, uint32_t f, uint32_t m) { Span *b = g->span, *e = &b[g->nSpans]; uint32_t lb = 0; for (; b < e; ++b) { if (b->to == s) { for (; lb < b->ub && lb < 256; ++lb) { bm[lb-f] |= m; } } lb = b->ub; } } void BitMap::gen(OutputFile & o, uint32_t ind, uint32_t lb, uint32_t ub) { if (first && bUsedYYBitmap) { o.wind(ind).ws("static const unsigned char ").wstring(opts->yybm).ws("[] = {"); uint32_t c = 1, n = ub - lb; const BitMap *cb = first; while((cb = cb->next) != NULL) { ++c; } BitMap *b = first; uint32_t *bm = new uint32_t[n]; for (uint32_t i = 0, t = 1; b; i += n, t += 8) { memset(bm, 0, n * sizeof(uint32_t)); for (uint32_t m = 0x80; b && m; m >>= 1) { b->i = i; b->m = m; doGen(b->go, b->on, bm, lb, m); b = const_cast(b->next); } if (c > 8) { o.ws("\n").wind(ind+1).ws("/* table ").wu32(t).ws(" .. ").wu32(std::min(c, t+7)).ws(": ").wu32(i).ws(" */"); } for (uint32_t j = 0; j < n; ++j) { if (j % 8 == 0) { o.ws("\n").wind(ind+1); } if (opts->yybmHexTable) { o.wu32_hex(bm[j]); } else { o.wu32_width(bm[j], 3); } o.ws(", "); } } o.ws("\n").wind(ind).ws("};\n"); delete[] bm; } } // All spans in b1 that lead to s1 are pairwise equal to that in b2 leading to s2 bool matches(const Span * b1, uint32_t n1, const State * s1, const Span * b2, uint32_t n2, const State * s2) { const Span * e1 = &b1[n1]; uint32_t lb1 = 0; const Span * e2 = &b2[n2]; uint32_t lb2 = 0; for (;;) { for (; b1 < e1 && b1->to != s1; ++b1) { lb1 = b1->ub; } for (; b2 < e2 && b2->to != s2; ++b2) { lb2 = b2->ub; } if (b1 == e1) { return b2 == e2; } if (b2 == e2) { return false; } if (lb1 != lb2 || b1->ub != b2->ub) { return false; } ++b1; ++b2; } } } // end namespace re2c re2c-0.16/src/codegen/go_destruct.cc0000644000175000017500000000204612633273654014255 00000000000000#include "src/util/c99_stdint.h" #include #include #include "src/codegen/go.h" namespace re2c { Cases::~Cases () { delete [] cases; } Binary::~Binary () { delete cond; delete thn; delete els; } Linear::~Linear () { for (uint32_t i = 0; i < branches.size (); ++i) { delete branches[i].first; } } If::~If () { switch (type) { case BINARY: delete info.binary; break; case LINEAR: delete info.linear; break; } } SwitchIf::~SwitchIf () { switch (type) { case SWITCH: delete info.cases; break; case IF: delete info.ifs; break; } } GoBitmap::~GoBitmap () { delete hgo; delete lgo; } CpgotoTable::~CpgotoTable () { delete [] table; } Cpgoto::~Cpgoto () { delete hgo; delete table; } Dot::~Dot () { delete cases; } Go::~Go () { switch (type) { case EMPTY: break; case SWITCH_IF: delete info.switchif; break; case BITMAP: delete info.bitmap; break; case CPGOTO: delete info.cpgoto; break; case DOT: delete info.dot; break; } } } // namespace re2c re2c-0.16/src/codegen/emit_dfa.cc0000644000175000017500000002337612650133301013473 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include #include #include "src/codegen/bitmap.h" #include "src/codegen/emit.h" #include "src/codegen/go.h" #include "src/codegen/input_api.h" #include "src/codegen/label.h" #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/adfa/action.h" #include "src/ir/adfa/adfa.h" #include "src/ir/skeleton/skeleton.h" #include "src/util/counter.h" namespace re2c { static std::string genGetCondition (); static void genCondGotoSub (OutputFile & o, uint32_t ind, const std::vector & condnames, uint32_t cMin, uint32_t cMax); static void genCondTable (OutputFile & o, uint32_t ind, const std::vector & condnames); static void genCondGoto (OutputFile & o, uint32_t ind, const std::vector & condnames); static void emit_state (OutputFile & o, uint32_t ind, const State * s, bool used_label); std::string genGetCondition() { return opts->cond_get_naked ? opts->cond_get : opts->cond_get + "()"; } void genGoTo(OutputFile & o, uint32_t ind, const State *from, const State *to, bool & readCh) { if (opts->target == opt_t::DOT) { o.wlabel(from->label).ws(" -> ").wlabel(to->label).ws("\n"); return; } if (readCh && from->next != to) { o.wstring(opts->input_api.stmt_peek (ind)); readCh = false; } o.wind(ind).ws("goto ").wstring(opts->labelPrefix).wlabel(to->label).ws(";\n"); } void emit_state (OutputFile & o, uint32_t ind, const State * s, bool used_label) { if (opts->target != opt_t::DOT) { if (used_label) { o.wstring(opts->labelPrefix).wlabel(s->label).ws(":\n"); } if (opts->dFlag && (s->action.type != Action::INITIAL)) { o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(s->label).ws(", ").wstring(opts->input_api.expr_peek ()).ws(");\n"); } } } void DFA::count_used_labels (std::set & used, label_t start, label_t initial, bool force_start) const { // In '-f' mode, default state is always state 0 if (opts->fFlag) { used.insert (label_t::first ()); } if (force_start) { used.insert (start); } for (State * s = head; s; s = s->next) { s->go.used_labels (used); } for (uint32_t i = 0; i < accepts.size (); ++i) { used.insert (accepts[i]->label); } // must go last: it needs the set of used labels if (used.count (head->label)) { used.insert (initial); } } void DFA::emit_body (OutputFile & o, uint32_t& ind, const std::set & used_labels, label_t initial) const { // If DFA has transitions to initial state, then initial state // has a piece of code that advances input position. Wee must // skip it when entering DFA. if (used_labels.count(head->label)) { o.wind(ind).ws("goto ").wstring(opts->labelPrefix).wlabel(initial).ws(";\n"); } const bool save_yyaccept = accepts.size () > 1; for (State * s = head; s; s = s->next) { bool readCh = false; emit_state (o, ind, s, used_labels.count (s->label)); emit_action (s->action, o, ind, readCh, s, cond, skeleton, used_labels, save_yyaccept); s->go.emit(o, ind, readCh); } } void DFA::emit(Output & output, uint32_t& ind, bool isLastCond, bool& bPrologBrace) { OutputFile & o = output.source; bool bProlog = (!opts->cFlag || !bWroteCondCheck); // start_label points to the beginning of current re2c block // (prior to condition dispatch in '-c' mode) // it can forced by configuration 're2c:startlabel = ;' label_t start_label = o.label_counter.next (); // initial_label points to the beginning of DFA // in '-c' mode this is NOT equal to start_label label_t initial_label = bProlog && opts->cFlag ? o.label_counter.next () : start_label; for (State * s = head; s; s = s->next) { s->label = o.label_counter.next (); } std::set used_labels; count_used_labels (used_labels, start_label, initial_label, o.get_force_start_label ()); head->action.set_initial (initial_label, head->action.type == Action::SAVE); skeleton->warn_undefined_control_flow (); skeleton->warn_unreachable_rules (); skeleton->warn_match_empty (); if (opts->target == opt_t::SKELETON) { if (output.skeletons.insert (name).second) { skeleton->emit_data (o.file_name); skeleton->emit_start (o, max_fill, need_backup, need_backupctx, need_accept); uint32_t i = 2; emit_body (o, i, used_labels, initial_label); skeleton->emit_end (o, need_backup, need_backupctx); } } else { // Generate prolog if (bProlog) { o.ws("\n").wdelay_line_info (); if (opts->target == opt_t::DOT) { bPrologBrace = true; o.ws("digraph re2c {\n"); } else if ((!opts->fFlag && o.get_used_yyaccept ()) || (!opts->fFlag && opts->bEmitYYCh) || (opts->bFlag && !opts->cFlag && BitMap::first) || (opts->cFlag && !bWroteCondCheck && opts->gFlag) || (opts->fFlag && !bWroteGetState && opts->gFlag) ) { bPrologBrace = true; o.wind(ind++).ws("{\n"); } else if (ind == 0) { ind = 1; } if (!opts->fFlag && opts->target != opt_t::DOT) { if (opts->bEmitYYCh) { o.wind(ind).wstring(opts->yyctype).ws(" ").wstring(opts->yych).ws(";\n"); } o.wdelay_yyaccept_init (ind); } else { o.ws("\n"); } } if (opts->bFlag && !opts->cFlag && BitMap::first) { BitMap::gen(o, ind, lbChar, ubChar <= 256 ? ubChar : 256); } if (bProlog) { if (opts->cFlag && !bWroteCondCheck && opts->gFlag) { genCondTable(o, ind, output.types); } o.wdelay_state_goto (ind); if (opts->cFlag && opts->target != opt_t::DOT) { if (used_labels.count(start_label)) { o.wstring(opts->labelPrefix).wlabel(start_label).ws(":\n"); } } o.wuser_start_label (); if (opts->cFlag && !bWroteCondCheck) { genCondGoto(o, ind, output.types); } } if (opts->cFlag && !cond.empty()) { if (opts->condDivider.length()) { o.wstring(replaceParam(opts->condDivider, opts->condDividerParam, cond)).ws("\n"); } if (opts->target == opt_t::DOT) { o.wstring(cond).ws(" -> ").wlabel(head->label).ws("\n"); } else { o.wstring(opts->condPrefix).wstring(cond).ws(":\n"); } } if (opts->cFlag && opts->bFlag && BitMap::first) { o.wind(ind++).ws("{\n"); BitMap::gen(o, ind, lbChar, ubChar <= 256 ? ubChar : 256); } // Generate code emit_body (o, ind, used_labels, initial_label); if (opts->cFlag && opts->bFlag && BitMap::first) { o.wind(--ind).ws("}\n"); } // Generate epilog if ((!opts->cFlag || isLastCond) && bPrologBrace) { o.wind(--ind).ws("}\n"); } } // Cleanup if (BitMap::first) { delete BitMap::first; BitMap::first = NULL; } } void genCondTable(OutputFile & o, uint32_t ind, const std::vector & condnames) { const size_t conds = condnames.size (); o.wind(ind++).ws("static void *").wstring(opts->yyctable).ws("[").wu64(conds).ws("] = {\n"); for (size_t i = 0; i < conds; ++i) { o.wind(ind).ws("&&").wstring(opts->condPrefix).wstring(condnames[i]).ws(",\n"); } o.wind(--ind).ws("};\n"); } void genCondGotoSub(OutputFile & o, uint32_t ind, const std::vector & condnames, uint32_t cMin, uint32_t cMax) { if (cMin == cMax) { o.wind(ind).ws("goto ").wstring(opts->condPrefix).wstring(condnames[cMin]).ws(";\n"); } else { uint32_t cMid = cMin + ((cMax - cMin + 1) / 2); o.wind(ind).ws("if (").wstring(genGetCondition()).ws(" < ").wu32(cMid).ws(") {\n"); genCondGotoSub(o, ind + 1, condnames, cMin, cMid - 1); o.wind(ind).ws("} else {\n"); genCondGotoSub(o, ind + 1, condnames, cMid, cMax); o.wind(ind).ws("}\n"); } } /* * note [condition order] * * In theory re2c makes no guarantee about the order of conditions in * the generated lexer. Users should define condition type 'YYCONDTYPE' * and use values of this type with 'YYGETCONDITION' and 'YYSETCONDITION'. * This way code is independent of internal re2c condition numbering. * * However, it is possible to manually hardcode condition numbers and make * re2c generate condition dispatch without explicit use of condition names * (nested 'if' statements with '-b' or computed 'goto' table with '-g'). * This code is syntactically valid (compiles), but unsafe: * - change of re2c options may break compilation * - change of internal re2c condition numbering may break runtime * * re2c has to preserve the existing numbering scheme. * * re2c warns about implicit assumptions about condition order, unless: * - condition type is defined with 'types:re2c' or '-t, --type-header' * - dispatch is independent of condition order: either it uses * explicit condition names or there's only one condition and * dispatch shrinks to unconditional jump */ void genCondGoto(OutputFile & o, uint32_t ind, const std::vector & condnames) { const size_t conds = condnames.size (); if (opts->target == opt_t::DOT) { o.warn_condition_order = false; // see note [condition order] for (size_t i = 0; i < conds; ++i) { const std::string cond = condnames[i]; o.ws("0 -> ").wstring(cond).ws(" [label=\"state=").wstring(cond).ws("\"]\n"); } } else if (opts->gFlag) { o.wind(ind).ws("goto *").wstring(opts->yyctable).ws("[").wstring(genGetCondition()).ws("];\n"); } else if (opts->sFlag) { if (conds == 1) { o.warn_condition_order = false; // see note [condition order] } genCondGotoSub(o, ind, condnames, 0, static_cast (conds) - 1); } else { o.warn_condition_order = false; // see note [condition order] o.wind(ind).ws("switch (").wstring(genGetCondition()).ws(") {\n"); for (size_t i = 0; i < conds; ++i) { const std::string & cond = condnames[i]; o.wind(ind).ws("case ").wstring(opts->condEnumPrefix).wstring(cond).ws(": goto ").wstring(opts->condPrefix).wstring(cond).ws(";\n"); } o.wind(ind).ws("}\n"); } o.wdelay_warn_condition_order (); bWroteCondCheck = true; } } // end namespace re2c re2c-0.16/src/codegen/print.h0000644000175000017500000000066212633273654012733 00000000000000#ifndef _RE2C_CODEGEN_PRINT_ #define _RE2C_CODEGEN_PRINT_ #include "src/util/c99_stdint.h" #include namespace re2c { bool is_print (uint32_t c); bool is_space (uint32_t c); char hexCh(uint32_t c); void prtCh(std::ostream&, uint32_t); void prtHex(std::ostream&, uint32_t); void prtChOrHex(std::ostream&, uint32_t); void printSpan(std::ostream&, uint32_t, uint32_t); } // end namespace re2c #endif // _RE2C_CODEGEN_PRINT_ re2c-0.16/src/codegen/indent.h0000644000175000017500000000052412633273654013055 00000000000000#ifndef _RE2C_CODEGEN_INDENT_ #define _RE2C_CODEGEN_INDENT_ #include #include "src/globals.h" namespace re2c { inline std::string indent (uint32_t ind) { std::string str; while (opts->target != opt_t::DOT && ind-- > 0) { str += opts->indString; } return str; } } // end namespace re2c #endif // _RE2C_CODEGEN_INDENT_ re2c-0.16/src/codegen/output.h0000644000175000017500000000646512650133301013125 00000000000000#ifndef _RE2C_CODEGEN_OUTPUT_ #define _RE2C_CODEGEN_OUTPUT_ #include "src/util/c99_stdint.h" #include #include #include #include #include #include #include #include "src/codegen/label.h" #include "src/util/counter.h" #include "src/util/forbid_copy.h" namespace re2c { class rule_rank_t; struct OutputFragment { enum type_t { CODE // , CONFIG , LINE_INFO , STATE_GOTO , TYPES , WARN_CONDITION_ORDER , YYACCEPT_INIT , YYMAXFILL }; type_t type; std::ostringstream stream; uint32_t indent; OutputFragment (type_t t, uint32_t i); uint32_t count_lines (); }; struct OutputBlock { std::vector fragments; bool used_yyaccept; bool force_start_label; std::string user_start_label; uint32_t line; OutputBlock (); ~OutputBlock (); }; struct OutputFile { public: const char * file_name; private: FILE * file; std::vector blocks; public: counter_t label_counter; bool warn_condition_order; private: std::ostream & stream (); void insert_code (); public: OutputFile (const char * fn); ~OutputFile (); bool open (); void new_block (); // immediate output OutputFile & wraw (const char * s, size_t n); OutputFile & wc (char c); OutputFile & wc_hex (uint32_t n); OutputFile & wu32 (uint32_t n); OutputFile & wu32_hex (uint32_t n); OutputFile & wu32_width (uint32_t n, int w); OutputFile & wu64 (uint64_t n); OutputFile & wstring (const std::string & s); OutputFile & ws (const char * s); OutputFile & wlabel (label_t l); OutputFile & wrank (rule_rank_t l); OutputFile & wrange (uint32_t u, uint32_t l); OutputFile & wline_info (uint32_t l, const char * fn); OutputFile & wversion_time (); OutputFile & wuser_start_label (); OutputFile & wind (uint32_t ind); // delayed output OutputFile & wdelay_line_info (); OutputFile & wdelay_state_goto (uint32_t ind); OutputFile & wdelay_types (); OutputFile & wdelay_warn_condition_order (); OutputFile & wdelay_yyaccept_init (uint32_t ind); OutputFile & wdelay_yymaxfill (); void set_used_yyaccept (); bool get_used_yyaccept () const; void set_force_start_label (bool force); void set_user_start_label (const std::string & label); bool get_force_start_label () const; void set_block_line (uint32_t l); uint32_t get_block_line () const; void emit (const std::vector & types, size_t max_fill); FORBID_COPY (OutputFile); }; struct HeaderFile { HeaderFile (const char * fn); ~HeaderFile (); bool open (); void emit (const std::vector & types); private: std::ostringstream stream; const char * file_name; FILE * file; FORBID_COPY (HeaderFile); }; struct Output { OutputFile source; HeaderFile header; std::vector types; std::set skeletons; size_t max_fill; Output (const char * source_name, const char * header_name); ~Output (); }; void output_line_info (std::ostream &, uint32_t, const char *); void output_state_goto (std::ostream &, uint32_t, uint32_t); void output_types (std::ostream &, uint32_t, const std::vector &); void output_version_time (std::ostream &); void output_yyaccept_init (std::ostream &, uint32_t, bool); void output_yymaxfill (std::ostream &, size_t); // helpers std::string output_get_state (); } // namespace re2c #endif // _RE2C_CODEGEN_OUTPUT_ re2c-0.16/src/codegen/label.cc0000644000175000017500000000102412633273654013005 00000000000000#include #include "src/codegen/label.h" namespace re2c { const uint32_t label_t::FIRST = 0; label_t::label_t () : value (FIRST) {} void label_t::inc () { ++value; } label_t label_t::first () { return label_t (); } bool label_t::operator < (const label_t & l) const { return value < l.value; } uint32_t label_t::width () const { uint32_t v = value; uint32_t n = 0; while (v /= 10) ++n; return n; } std::ostream & operator << (std::ostream & o, label_t l) { o << l.value; return o; } } // namespace re2c re2c-0.16/src/codegen/label.h0000644000175000017500000000137612633273654012661 00000000000000#ifndef _RE2C_CODEGEN_LABEL_ #define _RE2C_CODEGEN_LABEL_ #include // ostream #include "src/util/c99_stdint.h" namespace re2c { template class counter_t; // label public API: // - get first label // - compare labels // - get label width // - output label to std::ostream // // label private API (for label counter): // - get initial label // - get next label class label_t { static const uint32_t FIRST; uint32_t value; label_t (); void inc (); public: static label_t first (); bool operator < (const label_t & l) const; uint32_t width () const; friend std::ostream & operator << (std::ostream & o, label_t l); friend class counter_t; }; } // namespace re2c #endif // _RE2C_CODEGEN_LABEL_ re2c-0.16/src/codegen/input_api.h0000644000175000017500000000176612650133301013554 00000000000000#ifndef _RE2C_CODEGEN_INPUT_API_ #define _RE2C_CODEGEN_INPUT_API_ #include "src/util/c99_stdint.h" #include namespace re2c { class InputAPI { public: enum type_t { DEFAULT , CUSTOM }; private: type_t type_; public: InputAPI (); type_t type () const; void set (type_t t); std::string expr_peek () const; std::string expr_peek_save () const; std::string stmt_peek (uint32_t ind) const; std::string stmt_skip (uint32_t ind) const; std::string stmt_backup (uint32_t ind) const; std::string stmt_backupctx (uint32_t ind) const; std::string stmt_restore (uint32_t ind) const; std::string stmt_restorectx (uint32_t ind) const; std::string stmt_skip_peek (uint32_t ind) const; std::string stmt_skip_backup (uint32_t ind) const; std::string stmt_backup_peek (uint32_t ind) const; std::string stmt_skip_backup_peek (uint32_t ind) const; std::string expr_lessthan_one () const; std::string expr_lessthan (size_t n) const; }; } // end namespace re2c #endif // _RE2C_CODEGEN_INPUT_API_ re2c-0.16/src/codegen/go_used_labels.cc0000644000175000017500000000341412650133301014661 00000000000000#include #include "src/util/c99_stdint.h" #include #include #include #include "src/codegen/go.h" #include "src/codegen/label.h" #include "src/ir/adfa/adfa.h" namespace re2c { void Cases::used_labels (std::set & used) { for (uint32_t i = 0; i < cases_size; ++i) { used.insert (cases[i].to->label); } } void Binary::used_labels (std::set & used) { thn->used_labels (used); els->used_labels (used); } void Linear::used_labels (std::set & used) { for (uint32_t i = 0; i < branches.size (); ++i) { used.insert (branches[i].second->label); } } void If::used_labels (std::set & used) { switch (type) { case BINARY: info.binary->used_labels (used); break; case LINEAR: info.linear->used_labels (used); break; } } void SwitchIf::used_labels (std::set & used) { switch (type) { case SWITCH: info.cases->used_labels (used); break; case IF: info.ifs->used_labels (used); break; } } void GoBitmap::used_labels (std::set & used) { if (hgo != NULL) { hgo->used_labels (used); } used.insert (bitmap_state->label); if (lgo != NULL) { lgo->used_labels (used); } } void CpgotoTable::used_labels (std::set & used) { for (uint32_t i = 0; i < TABLE_SIZE; ++i) { used.insert (table[i]->label); } } void Cpgoto::used_labels (std::set & used) { if (hgo != NULL) { hgo->used_labels (used); } table->used_labels (used); } void Go::used_labels (std::set & used) { switch (type) { case EMPTY: case DOT: break; case SWITCH_IF: info.switchif->used_labels (used); break; case BITMAP: info.bitmap->used_labels (used); break; case CPGOTO: info.cpgoto->used_labels (used); break; } } } // namespace re2c re2c-0.16/src/codegen/bitmap.h0000644000175000017500000000155712633273654013057 00000000000000#ifndef _RE2C_CODEGEN_BITMAP_ #define _RE2C_CODEGEN_BITMAP_ #include "src/util/c99_stdint.h" #include "src/util/forbid_copy.h" namespace re2c { struct Go; struct Span; class State; class OutputFile; class BitMap { public: static BitMap *first; const Go *go; const State *on; const BitMap *next; uint32_t i; uint32_t m; public: static const BitMap *find(const Go*, const State*); static const BitMap *find(const State*); static void gen(OutputFile &, uint32_t ind, uint32_t, uint32_t); BitMap(const Go*, const State*); ~BitMap(); FORBID_COPY (BitMap); }; bool matches(const Span * b1, uint32_t n1, const State * s1, const Span * b2, uint32_t n2, const State * s2); #ifdef _MSC_VER # pragma warning(disable: 4355) /* 'this' : used in base member initializer list */ #endif } // end namespace re2c #endif // _RE2C_CODEGEN_BITMAP_ re2c-0.16/src/codegen/go_emit.cc0000644000175000017500000001377712650133301013352 00000000000000#include #include "src/util/c99_stdint.h" #include #include #include #include "src/codegen/bitmap.h" #include "src/codegen/go.h" #include "src/codegen/input_api.h" #include "src/codegen/label.h" #include "src/codegen/output.h" #include "src/codegen/print.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/adfa/adfa.h" #include "src/ir/regexp/encoding/enc.h" namespace re2c { static void output_if (OutputFile & o, uint32_t ind, bool & readCh, const std::string & compare, uint32_t value); static void output_goto (OutputFile & o, uint32_t ind, bool & readCh, label_t to); static std::string output_yych (bool & readCh); static std::string output_hgo (OutputFile & o, uint32_t ind, bool & readCh, SwitchIf * hgo); std::string output_yych (bool & readCh) { if (readCh) { readCh = false; return "(" + opts->input_api.expr_peek_save () + ")"; } else { return opts->yych; } } void output_if (OutputFile & o, uint32_t ind, bool & readCh, const std::string & compare, uint32_t value) { o.wind(ind).ws("if (").wstring(output_yych (readCh)).ws(" ").wstring(compare).ws(" ").wc_hex (value).ws(") "); } void output_goto (OutputFile & o, uint32_t ind, bool & readCh, label_t to) { if (readCh) { o.wstring(opts->input_api.stmt_peek (ind)); readCh = false; } o.wind(ind).ws("goto ").wstring(opts->labelPrefix).wlabel(to).ws(";\n"); } std::string output_hgo (OutputFile & o, uint32_t ind, bool & readCh, SwitchIf * hgo) { std::string yych = output_yych (readCh); if (hgo != NULL) { o.wind(ind).ws("if (").wstring(yych).ws(" & ~0xFF) {\n"); hgo->emit (o, ind + 1, readCh); o.wind(ind).ws("} else "); yych = opts->yych; } else { o.wind(ind); } return yych; } void Case::emit (OutputFile & o, uint32_t ind) { for (uint32_t i = 0; i < ranges.size (); ++i) { for (uint32_t b = ranges[i].first; b < ranges[i].second; ++b) { o.wind(ind).ws("case ").wc_hex (b).ws(":"); if (opts->dFlag && opts->encoding.type () == Enc::EBCDIC) { const uint32_t c = opts->encoding.decodeUnsafe (b); if (is_print (c)) o.ws(" /* ").wc(static_cast (c)).ws(" */"); } bool last_case = i == ranges.size () - 1 && b == ranges[i].second - 1; if (!last_case) { o.ws("\n"); } } } } void Cases::emit (OutputFile & o, uint32_t ind, bool & readCh) { o.wind(ind).ws("switch (").wstring(output_yych (readCh)).ws(") {\n"); for (uint32_t i = 0; i < cases_size; ++i) { if (cases[i].to != def) { cases[i].emit (o, ind); output_goto (o, 1, readCh, cases[i].to->label); } } o.wind(ind).ws("default:"); output_goto (o, 1, readCh, def->label); o.wind(ind).ws("}\n"); } void Binary::emit (OutputFile & o, uint32_t ind, bool & readCh) { output_if (o, ind, readCh, cond->compare, cond->value); o.ws("{\n"); thn->emit (o, ind + 1, readCh); o.wind(ind).ws("} else {\n"); els->emit (o, ind + 1, readCh); o.wind(ind).ws("}\n"); } void Linear::emit (OutputFile & o, uint32_t ind, bool & readCh) { for (uint32_t i = 0; i < branches.size (); ++i) { if (branches[i].first != NULL) { output_if (o, ind, readCh, branches[i].first->compare, branches[i].first->value); output_goto (o, 0, readCh, branches[i].second->label); } else { output_goto (o, ind, readCh, branches[i].second->label); } } } void If::emit (OutputFile & o, uint32_t ind, bool & readCh) { switch (type) { case BINARY: info.binary->emit (o, ind, readCh); break; case LINEAR: info.linear->emit (o, ind, readCh); break; } } void SwitchIf::emit (OutputFile & o, uint32_t ind, bool & readCh) { switch (type) { case SWITCH: info.cases->emit (o, ind, readCh); break; case IF: info.ifs->emit (o, ind, readCh); break; } } void GoBitmap::emit (OutputFile & o, uint32_t ind, bool & readCh) { std::string yych = output_hgo (o, ind, readCh, hgo); o.ws("if (").wstring(opts->yybm).ws("[").wu32(bitmap->i).ws("+").wstring(yych).ws("] & "); if (opts->yybmHexTable) { o.wu32_hex(bitmap->m); } else { o.wu32(bitmap->m); } o.ws(") {\n"); output_goto (o, ind + 1, readCh, bitmap_state->label); o.wind(ind).ws("}\n"); if (lgo != NULL) { lgo->emit (o, ind, readCh); } } label_t CpgotoTable::max_label () const { label_t max = label_t::first (); for (uint32_t i = 0; i < TABLE_SIZE; ++i) { if (max < table[i]->label) { max = table[i]->label; }; } return max; } void CpgotoTable::emit (OutputFile & o, uint32_t ind) { o.wind(ind).ws("static void *").wstring(opts->yytarget).ws("[256] = {\n"); o.wind(++ind); const uint32_t max_digits = max_label ().width (); for (uint32_t i = 0; i < TABLE_SIZE; ++i) { o.ws("&&").wstring(opts->labelPrefix).wlabel(table[i]->label); if (i == TABLE_SIZE - 1) { o.ws("\n"); } else if (i % 8 == 7) { o.ws(",\n").wind(ind); } else { const uint32_t padding = max_digits - table[i]->label.width () + 1; o.ws(",").wstring(std::string (padding, ' ')); } } o.wind(--ind).ws("};\n"); } void Cpgoto::emit (OutputFile & o, uint32_t ind, bool & readCh) { std::string yych = output_hgo (o, ind, readCh, hgo); o.ws("{\n"); table->emit (o, ++ind); o.wind(ind).ws("goto *").wstring(opts->yytarget).ws("[").wstring(yych).ws("];\n"); o.wind(--ind).ws("}\n"); } void Dot::emit (OutputFile & o) { const uint32_t n = cases->cases_size; if (n == 1) { o.wlabel(from->label).ws(" -> ").wlabel(cases->cases[0].to->label).ws("\n"); } else { for (uint32_t i = 0; i < n; ++i) { o.wlabel(from->label).ws(" -> ").wlabel(cases->cases[i].to->label).ws(" [label=\""); for (uint32_t j = 0; j < cases->cases[i].ranges.size (); ++j) { o.wrange(cases->cases[i].ranges[j].first, cases->cases[i].ranges[j].second); } o.ws("\"]\n"); } } } void Go::emit (OutputFile & o, uint32_t ind, bool & readCh) { switch (type) { case EMPTY: break; case SWITCH_IF: info.switchif->emit (o, ind, readCh); break; case BITMAP: info.bitmap->emit (o, ind, readCh); break; case CPGOTO: info.cpgoto->emit (o, ind, readCh); break; case DOT: info.dot->emit (o); break; } } } // namespace re2c re2c-0.16/src/ir/0000755000175000017500000000000012650133525010477 500000000000000re2c-0.16/src/ir/regexp/0000755000175000017500000000000012650133525011771 500000000000000re2c-0.16/src/ir/regexp/display.cc0000644000175000017500000000153212633273654013677 00000000000000#include #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_alt.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_match.h" #include "src/ir/regexp/regexp_null.h" #include "src/ir/regexp/regexp_rule.h" namespace re2c { std::ostream & operator << (std::ostream & o, const RegExp & re) { re.display (o); return o; } void AltOp::display (std::ostream & o) const { o << exp1 << "|" << exp2; } void CatOp::display (std::ostream & o) const { o << exp1 << exp2; } void CloseOp::display (std::ostream & o) const { o << exp << "+"; } void MatchOp::display (std::ostream & o) const { o << match; } void NullOp::display (std::ostream & o) const { o << "_"; } void RuleOp::display (std::ostream & o) const { o << exp << "/" << ctx << ";"; } } // end namespace re2c re2c-0.16/src/ir/regexp/regexp_alt.h0000644000175000017500000000111212650133301014177 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_ALT_ #define _RE2C_IR_REGEXP_REGEXP_ALT_ #include "src/ir/regexp/regexp.h" namespace re2c { class AltOp: public RegExp { RegExp * exp1; RegExp * exp2; public: inline AltOp (RegExp * e1, RegExp * e2) : exp1 (e1) , exp2 (e2) {} void split (std::set &); uint32_t calc_size() const; uint32_t fixedLength (); nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n); void display (std::ostream & o) const; friend RegExp * mkAlt (RegExp *, RegExp *); FORBID_COPY (AltOp); }; } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_ALT_ re2c-0.16/src/ir/regexp/regexp_match.h0000644000175000017500000000103012650133301014512 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_MATCH_ #define _RE2C_IR_REGEXP_REGEXP_MATCH_ #include "src/ir/regexp/regexp.h" #include "src/util/range.h" namespace re2c { class MatchOp: public RegExp { public: Range * match; inline MatchOp (Range * m) : match (m) {} void split (std::set &); uint32_t calc_size() const; uint32_t fixedLength (); nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n); void display (std::ostream & o) const; FORBID_COPY (MatchOp); }; } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_MATCH_ re2c-0.16/src/ir/regexp/encoding/0000755000175000017500000000000012650133525013557 500000000000000re2c-0.16/src/ir/regexp/encoding/enc.cc0000644000175000017500000001527412633273654014575 00000000000000#include "src/ir/regexp/encoding/enc.h" #include "src/util/range.h" namespace re2c { const uint32_t Enc::SURR_MIN = 0xD800; const uint32_t Enc::SURR_MAX = 0xDFFF; const uint32_t Enc::UNICODE_ERROR = 0xFFFD; const uint32_t Enc::asc2ebc[256] = { /* Based on ISO 8859/1 and Code Page 37 */ 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x8e, 0x59, 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0xae, 0xdf }; const uint32_t Enc::ebc2asc[256] = { /* Based on ISO 8859/1 and Code Page 37 */ 0x00, 0x01, 0x02, 0x03, 0x9c, 0x09, 0x86, 0x7f, 0x97, 0x8d, 0x8e, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x9d, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8f, 0x1c, 0x1d, 0x1e, 0x1f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x0a, 0x17, 0x1b, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, 0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, 0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, 0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, 0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0xac, 0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, 0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, 0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, 0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, 0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xde, 0xb1, 0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, 0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0xdd, 0xfe, 0xae, 0x5e, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, 0xbd, 0xbe, 0x5b, 0x5d, 0xaf, 0xa8, 0xb4, 0xd7, 0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, 0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, 0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f }; /* * Returns code point representation for current * encoding with regard to current policy. * * Since code point is exacly specified by user, * it is assumed that user considers it to be valid. * We must check it. * * Returns false if this code point exceeds maximum * or is forbidden by current policy, otherwise * returns true. Overwrites code point. */ bool Enc::encode(uint32_t & c) const { if (c >= nCodePoints ()) { return false; } switch (type_) { case ASCII: return true; case EBCDIC: c = asc2ebc[c]; return true; case UCS2: case UTF16: case UTF32: case UTF8: if (c < SURR_MIN || c > SURR_MAX) return true; else { switch (policy_) { case POLICY_FAIL: return false; case POLICY_SUBSTITUTE: c = UNICODE_ERROR; return true; case POLICY_IGNORE: return true; } } } return false; // to silence gcc warning } /* * Returns original representation of code point. * Assumes code point is valid (hence 'unsafe'). */ uint32_t Enc::decodeUnsafe(uint32_t c) const { switch (type_) { case EBCDIC: c = ebc2asc[c & 0xFF]; break; case ASCII: case UCS2: case UTF16: case UTF32: case UTF8: break; } return c; } /* * Returns [l - h] range representation for current * encoding with regard to current policy. * * Since range borders are exacly specified by user, * it is assumed that user considers that all code * points from this range are valid. re2c must check it. * * Returns NULL if range contains code points that * exceed maximum or are forbidden by current policy, * otherwise returns pointer to newly constructed range. */ Range * Enc::encodeRange(uint32_t l, uint32_t h) const { if (l >= nCodePoints () || h >= nCodePoints ()) { return NULL; } Range * r = NULL; switch (type_) { case ASCII: r = Range::ran (l, h + 1); break; case EBCDIC: { const uint32_t el = asc2ebc[l]; r = Range::sym (el); for (uint32_t c = l + 1; c <= h; ++c) { const uint32_t ec = asc2ebc[c]; r = Range::add (r, Range::sym (ec)); } break; } case UCS2: case UTF16: case UTF32: case UTF8: r = Range::ran (l, h + 1); if (l <= SURR_MAX && h >= SURR_MIN) { switch (policy_) { case POLICY_FAIL: r = NULL; break; case POLICY_SUBSTITUTE: { Range * surrs = Range::ran (SURR_MIN, SURR_MAX + 1); Range * error = Range::sym (UNICODE_ERROR); r = Range::sub (r, surrs); r = Range::add (r, error); break; } case POLICY_IGNORE: break; } } break; } return r; } /* * Returns full range representation for current encoding * with regard to current policy. * * Since range is defined declaratively, re2c does * all the necessary corrections 'for free'. * * Always succeeds, returns pointer to newly constructed * range. */ Range * Enc::fullRange() const { Range * r = Range::ran (0, nCodePoints()); if (policy_ != POLICY_IGNORE) { Range * surrs = Range::ran (SURR_MIN, SURR_MAX + 1); r = Range::sub (r, surrs); } return r; } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/enc.h0000644000175000017500000001046112633273654014430 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_ENC_ #define _RE2C_IR_REGEXP_ENCODING_ENC_ #include "src/util/c99_stdint.h" namespace re2c { class Range; /* * note [encodings] * * Each encoding defines two concepts: * * 1) Code point -- abstract number, which represents single encoding symbol. * E.g., Unicode defines code points in the range [0 - 0x10FFFF] , so each * Unicode encoding must be capable of representing 0x110000 code points. * * 2) Code unit -- the smallest unit of memory, which is used in the encoded * text. One or more code units can be needed to represent a single code * point, depending on the encoding. For each encoding, all code points * either are represented with equal number of code units (fixed-length * encodings), or with variable number of code units (variable-length * encodings). * * +----------+------------------+-----------------------+-----------------+----------------+ * | encoding | code point range | code point size | code unit range | code unit size | * +----------+------------------+-----------------------+-----------------+----------------+ * | ASCII | 0 - 0xFF | fixed, 1 byte | 0 - 0xFF | 1 byte | * | EBCDIC | 0 - 0xFF | fixed, 1 byte | 0 - 0xFF | 1 byte | * | UCS2 | 0 - 0xFFFF | fixed, 2 bytes | 0 - 0xFFFF | 2 bytes | * | UTF16 | 0 - 0x10FFFF | variable, 2 - 4 bytes | 0 - 0xFFFF | 2 bytes | * | UTF32 | 0 - 0x10FFFF | fixed, 4 bytes | 0 - 0x10FFFF | 4 bytes | * | UTF8 | 0 - 0x10FFFF | variable, 1 - 4 bytes | 0 - 0xFF | 1 byte | * +----------+------------------+-----------------------+-----------------+----------------+ */ class Enc { public: // Supported encodings. enum type_t { ASCII , EBCDIC , UCS2 , UTF16 , UTF32 , UTF8 }; // What to do with invalid code points enum policy_t { POLICY_FAIL , POLICY_SUBSTITUTE , POLICY_IGNORE }; private: static const uint32_t asc2ebc[256]; static const uint32_t ebc2asc[256]; static const uint32_t SURR_MIN; static const uint32_t SURR_MAX; static const uint32_t UNICODE_ERROR; type_t type_; policy_t policy_; public: Enc() : type_ (ASCII) , policy_ (POLICY_IGNORE) { } static const char * name (type_t t); bool operator != (const Enc & e) const { return type_ != e.type_; } inline uint32_t nCodePoints() const; inline uint32_t nCodeUnits() const; inline uint32_t szCodePoint() const; inline uint32_t szCodeUnit() const; inline bool set(type_t t); inline void unset(type_t); inline type_t type () const; inline void setPolicy(policy_t t); bool encode(uint32_t & c) const; uint32_t decodeUnsafe(uint32_t c) const; Range * encodeRange(uint32_t l, uint32_t h) const; Range * fullRange() const; }; inline const char * Enc::name (type_t t) { switch (t) { case ASCII: return "ASCII"; case EBCDIC: return "EBCDIC"; case UTF8: return "UTF8"; case UCS2: return "USC2"; case UTF16: return "UTF16"; case UTF32: return "UTF32"; default: return ""; } } inline uint32_t Enc::nCodePoints() const { switch (type_) { case ASCII: case EBCDIC: return 0x100; case UCS2: return 0x10000; case UTF16: case UTF32: case UTF8: default: return 0x110000; } } inline uint32_t Enc::nCodeUnits() const { switch (type_) { case ASCII: case EBCDIC: case UTF8: return 0x100; case UCS2: case UTF16: return 0x10000; case UTF32: default: return 0x110000; } } // returns *maximal* code point size for encoding inline uint32_t Enc::szCodePoint() const { switch (type_) { case ASCII: case EBCDIC: return 1; case UCS2: return 2; case UTF16: case UTF32: case UTF8: default: return 4; } } inline uint32_t Enc::szCodeUnit() const { switch (type_) { case ASCII: case EBCDIC: case UTF8: return 1; case UCS2: case UTF16: return 2; case UTF32: default: return 4; } } inline bool Enc::set(type_t t) { if (type_ == t) return true; else if (type_ != ASCII) return false; else { type_ = t; return true; } } inline void Enc::unset(type_t t) { if (type_ == t) type_ = ASCII; } inline Enc::type_t Enc::type () const { return type_; } inline void Enc::setPolicy(policy_t t) { policy_ = t; } } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_ENC_ re2c-0.16/src/ir/regexp/encoding/range_suffix.h0000644000175000017500000000123512633273654016342 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_RANGE_SUFFIX_ #define _RE2C_IR_REGEXP_ENCODING_RANGE_SUFFIX_ #include "src/util/c99_stdint.h" #include // NULL #include "src/util/forbid_copy.h" #include "src/util/free_list.h" namespace re2c { class RegExp; struct RangeSuffix { static free_list freeList; uint32_t l; uint32_t h; RangeSuffix * next; RangeSuffix * child; RangeSuffix (uint32_t lo, uint32_t hi) : l (lo) , h (hi) , next (NULL) , child (NULL) { freeList.insert(this); } FORBID_COPY (RangeSuffix); }; RegExp * to_regexp (RangeSuffix * p); } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_RANGE_SUFFIX_ re2c-0.16/src/ir/regexp/encoding/case.h0000644000175000017500000000105512633273654014575 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_CASE_ #define _RE2C_IR_REGEXP_ENCODING_CASE_ #include "src/util/c99_stdint.h" namespace re2c { // TODO: support non-ASCII encodings bool is_alpha (uint32_t c); uint32_t to_lower_unsafe (uint32_t c); uint32_t to_upper_unsafe (uint32_t c); inline bool is_alpha (uint32_t c) { return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); } inline uint32_t to_lower_unsafe (uint32_t c) { return c | 0x20u; } inline uint32_t to_upper_unsafe (uint32_t c) { return c & ~0x20u; } } #endif // _RE2C_IR_REGEXP_ENCODING_CASE_ re2c-0.16/src/ir/regexp/encoding/range_suffix.cc0000644000175000017500000000132212633273654016475 00000000000000#include "src/ir/regexp/encoding/range_suffix.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_match.h" #include "src/util/range.h" namespace re2c { static RegExp * emit (RangeSuffix * p, RegExp * re); free_list RangeSuffix::freeList; RegExp * to_regexp (RangeSuffix * p) { return p ? emit (p, NULL) : new MatchOp (NULL); } /* * Build regexp from suffix tree. */ RegExp * emit(RangeSuffix * p, RegExp * re) { if (p == NULL) return re; else { RegExp * regexp = NULL; for (; p != NULL; p = p->next) { RegExp * re1 = doCat(new MatchOp(Range::ran (p->l, p->h + 1)), re); regexp = doAlt(regexp, emit(p->child, re1)); } return regexp; } } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf8/0000755000175000017500000000000012650133525014445 500000000000000re2c-0.16/src/ir/regexp/encoding/utf8/utf8_regexp.cc0000644000175000017500000000207112633273654017145 00000000000000#include "src/util/c99_stdint.h" #include "src/ir/regexp/encoding/utf8/utf8_regexp.h" #include "src/ir/regexp/encoding/range_suffix.h" #include "src/ir/regexp/encoding/utf8/utf8_range.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_match.h" #include "src/util/range.h" namespace re2c { RegExp * UTF8Symbol(utf8::rune r) { uint32_t chars[utf8::MAX_RUNE_LENGTH]; const uint32_t chars_count = utf8::rune_to_bytes(chars, r); RegExp * re = new MatchOp(Range::sym (chars[0])); for (uint32_t i = 1; i < chars_count; ++i) re = new CatOp(re, new MatchOp(Range::sym (chars[i]))); return re; } /* * Split Unicode character class {[l1, h1), ..., [lN, hN)} into * ranges [l1, h1-1], ..., [lN, hN-1] and return alternation of * them. We store partially built range in suffix tree, which * allows to eliminate common suffixes while building. */ RegExp * UTF8Range(const Range * r) { RangeSuffix * root = NULL; for (; r != NULL; r = r->next ()) UTF8splitByRuneLength(root, r->lower (), r->upper () - 1); return to_regexp (root); } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf8/utf8_range.cc0000644000175000017500000000621012633273654016746 00000000000000#include "src/ir/regexp/encoding/utf8/utf8_range.h" #include "src/ir/regexp/encoding/range_suffix.h" namespace re2c { /* * Now that we have catenation of byte ranges [l1-h1]...[lN-hN], * we want to add it to existing range, merging suffixes on the fly. */ void UTF8addContinuous(RangeSuffix * & root, utf8::rune l, utf8::rune h, uint32_t n) { uint32_t lcs[utf8::MAX_RUNE_LENGTH]; uint32_t hcs[utf8::MAX_RUNE_LENGTH]; utf8::rune_to_bytes(lcs, l); utf8::rune_to_bytes(hcs, h); RangeSuffix ** p = &root; for (uint32_t i = 1; i <= n; ++i) { const uint32_t lc = lcs[n - i]; const uint32_t hc = hcs[n - i]; for (;;) { if (*p == NULL) { *p = new RangeSuffix(lc, hc); p = &(*p)->child; break; } else if ((*p)->l == lc && (*p)->h == hc) { p = &(*p)->child; break; } else p = &(*p)->next; } } } /* * Split range into sub-ranges that agree on leading bytes. * * We have two Unicode runes of equal length, L and H, which * map to UTF-8 sequences 'L_1 ... L_n' and 'H_1 ... H_n'. * We want to represent Unicode range [L - H] as a catenation * of byte ranges [L_1 - H_1], ..., [L_n - H_n]. * * This is only possible if for all i > 1: * if L_i /= H_i, then L_(i+1) == 0x80 and H_(i+1) == 0xbf. * This condition ensures that: * 1) all possible UTF-8 sequences between L and H are allowed * 2) no byte ranges [b1 - b2] appear, such that b1 > b2 * * E.g.: * [\U000e0031-\U000e0043] => [f3-f3],[a0-a0],[80-81],[b1-83]. * The last byte range, [b1-83], is incorrect: its lower bound * is greater than its upper bound. To fix this, we must split * the original range into two sub-ranges: * [\U000e0031-\U000e003f] => [f3-f3],[a0-a0],[80-80],[b1-bf] * [\U000e0040-\U000e0043] => [f3-f3],[a0-a0],[81-81],[80-83] * * This function finds all such 'points of discontinuity' * and represents original range as alternation of continuous * sub-ranges. */ void UTF8splitByContinuity(RangeSuffix * & root, utf8::rune l, utf8::rune h, uint32_t n) { for (uint32_t i = 1; i < n; ++i) { uint32_t m = (1u << (6u * i)) - 1u; // last i bytes of a UTF-8 sequence if ((l & ~m) != (h & ~m)) { if ((l & m) != 0) { UTF8splitByContinuity(root, l, l | m, n); UTF8splitByContinuity(root, (l | m) + 1, h, n); return; } if ((h & m) != m) { UTF8splitByContinuity(root, l, (h & ~m) - 1, n); UTF8splitByContinuity(root, h & ~m, h, n); return; } } } UTF8addContinuous(root, l, h, n); } /* * Split range into sub-ranges, so that all runes in the same * sub-range have equal length of UTF-8 sequence. E.g., full * Unicode range [0-0x10FFFF] gets split into sub-ranges: * [0 - 0x7F] (1-byte UTF-8 sequences) * [0x80 - 0x7FF] (2-byte UTF-8 sequences) * [0x800 - 0xFFFF] (3-byte UTF-8 sequences) * [0x10000 - 0x10FFFF] (4-byte UTF-8 sequences) */ void UTF8splitByRuneLength(RangeSuffix * & root, utf8::rune l, utf8::rune h) { const uint32_t nh = utf8::rune_length(h); for (uint32_t nl = utf8::rune_length(l); nl < nh; ++nl) { utf8::rune r = utf8::max_rune(nl); UTF8splitByContinuity(root, l, r, nl); l = r + 1; } UTF8splitByContinuity(root, l, h, nh); } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf8/utf8.cc0000644000175000017500000000435212633273654015577 00000000000000#include "src/ir/regexp/encoding/utf8/utf8.h" namespace re2c { const uint32_t utf8::ERROR = 0xFFFDu; const utf8::rune utf8::MAX_1BYTE_RUNE = 0x7Fu; const utf8::rune utf8::MAX_2BYTE_RUNE = 0x7FFu; const utf8::rune utf8::MAX_3BYTE_RUNE = 0xFFFFu; const utf8::rune utf8::MAX_4BYTE_RUNE = 0x10FFFFu; const utf8::rune utf8::MAX_RUNE = utf8::MAX_4BYTE_RUNE; const uint32_t utf8::PREFIX_1BYTE = 0u; // 0000 0000 const uint32_t utf8::INFIX = 0x80u; // 1000 0000 const uint32_t utf8::PREFIX_2BYTE = 0xC0u; // 1100 0000 const uint32_t utf8::PREFIX_3BYTE = 0xE0u; // 1110 0000 const uint32_t utf8::PREFIX_4BYTE = 0xF0u; // 1111 0000 const uint32_t utf8::SHIFT = 6u; const uint32_t utf8::MASK = 0x3Fu; // 0011 1111 uint32_t utf8::rune_to_bytes(uint32_t *str, rune c) { // one byte sequence: 0-0x7F => 0xxxxxxx if (c <= MAX_1BYTE_RUNE) { str[0] = PREFIX_1BYTE | c; return 1; } // two byte sequence: 0x80-0x7FF => 110xxxxx 10xxxxxx if (c <= MAX_2BYTE_RUNE) { str[0] = PREFIX_2BYTE | (c >> 1*SHIFT); str[1] = INFIX | (c & MASK); return 2; } // If the Rune is out of range, convert it to the error rune. // Do this test here because the error rune encodes to three bytes. // Doing it earlier would duplicate work, since an out of range // Rune wouldn't have fit in one or two bytes. if (c > MAX_RUNE) c = ERROR; // three byte sequence: 0x800 - 0xFFFF => 1110xxxx 10xxxxxx 10xxxxxx if (c <= MAX_3BYTE_RUNE) { str[0] = PREFIX_3BYTE | (c >> 2*SHIFT); str[1] = INFIX | ((c >> 1*SHIFT) & MASK); str[2] = INFIX | (c & MASK); return 3; } // four byte sequence (21-bit value): // 0x10000 - 0x1FFFFF => 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx str[0] = PREFIX_4BYTE | (c >> 3*SHIFT); str[1] = INFIX | ((c >> 2*SHIFT) & MASK); str[2] = INFIX | ((c >> 1*SHIFT) & MASK); str[3] = INFIX | (c & MASK); return 4; } uint32_t utf8::rune_length(rune r) { if (r <= MAX_2BYTE_RUNE) return r <= MAX_1BYTE_RUNE ? 1 : 2; else return r <= MAX_3BYTE_RUNE ? 3 : 4; } utf8::rune utf8::max_rune(uint32_t i) { switch (i) { case 1: return MAX_1BYTE_RUNE; case 2: return MAX_2BYTE_RUNE; case 3: return MAX_3BYTE_RUNE; case 4: return MAX_4BYTE_RUNE; default: return ERROR; } } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf8/utf8.h0000644000175000017500000000222312633273654015434 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_UTF8_UTF8_ #define _RE2C_IR_REGEXP_ENCODING_UTF8_UTF8_ #include "src/util/c99_stdint.h" namespace re2c { class utf8 { public: typedef uint32_t rune; // maximum characters per rune // enum instead of static const member because of [-Wvla] enum { MAX_RUNE_LENGTH = 4u }; // decoding error static const uint32_t ERROR; // maximal runes for each rune length static const rune MAX_1BYTE_RUNE; static const rune MAX_2BYTE_RUNE; static const rune MAX_3BYTE_RUNE; static const rune MAX_4BYTE_RUNE; static const rune MAX_RUNE; static const uint32_t PREFIX_1BYTE; static const uint32_t INFIX; static const uint32_t PREFIX_2BYTE; static const uint32_t PREFIX_3BYTE; static const uint32_t PREFIX_4BYTE; static const uint32_t SHIFT; static const uint32_t MASK; // UTF-8 bytestring for given Unicode rune static uint32_t rune_to_bytes(uint32_t * s, rune r); // length of UTF-8 bytestring for given Unicode rune static uint32_t rune_length(rune r); // maximal Unicode rune with given length of UTF-8 bytestring static rune max_rune(uint32_t i); }; } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_UTF8_UTF8_ re2c-0.16/src/ir/regexp/encoding/utf8/utf8_regexp.h0000644000175000017500000000051012633273654017003 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_UTF8_REGEXP_ #define _RE2C_IR_REGEXP_ENCODING_UTF8_REGEXP_ #include "src/ir/regexp/encoding/utf8/utf8.h" namespace re2c { class Range; class RegExp; RegExp * UTF8Symbol(utf8::rune r); RegExp * UTF8Range(const Range * r); } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_UTF8_REGEXP_ re2c-0.16/src/ir/regexp/encoding/utf8/utf8_range.h0000644000175000017500000000101512633273654016606 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_UTF8_RANGE_ #define _RE2C_IR_REGEXP_ENCODING_UTF8_RANGE_ #include "src/util/c99_stdint.h" #include "src/ir/regexp/encoding/utf8/utf8.h" namespace re2c { struct RangeSuffix; void UTF8addContinuous(RangeSuffix * & p, utf8::rune l, utf8::rune h, uint32_t n); void UTF8splitByContinuity(RangeSuffix * & p, utf8::rune l, utf8::rune h, uint32_t n); void UTF8splitByRuneLength(RangeSuffix * & p, utf8::rune l, utf8::rune h); } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_UTF8_RANGE_ re2c-0.16/src/ir/regexp/encoding/utf16/0000755000175000017500000000000012650133525014524 500000000000000re2c-0.16/src/ir/regexp/encoding/utf16/utf16_regexp.cc0000644000175000017500000000206112633273654017302 00000000000000#include "src/util/c99_stdint.h" #include "src/ir/regexp/encoding/utf16/utf16_regexp.h" #include "src/ir/regexp/encoding/range_suffix.h" #include "src/ir/regexp/encoding/utf16/utf16_range.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_match.h" #include "src/util/range.h" namespace re2c { RegExp * UTF16Symbol(utf16::rune r) { if (r <= utf16::MAX_1WORD_RUNE) return new MatchOp(Range::sym (r)); else { const uint32_t ld = utf16::lead_surr(r); const uint32_t tr = utf16::trail_surr(r); return new CatOp(new MatchOp(Range::sym (ld)), new MatchOp(Range::sym (tr))); } } /* * Split Unicode character class {[l1, h1), ..., [lN, hN)} into * ranges [l1, h1-1], ..., [lN, hN-1] and return alternation of * them. We store partially built range in suffix tree, which * allows to eliminate common suffixes while building. */ RegExp * UTF16Range(const Range * r) { RangeSuffix * root = NULL; for (; r != NULL; r = r->next ()) UTF16splitByRuneLength(root, r->lower (), r->upper () - 1); return to_regexp (root); } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf16/utf16_range.h0000644000175000017500000000122112633273654016743 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_UTF16_RANGE_ #define _RE2C_IR_REGEXP_ENCODING_UTF16_RANGE_ #include "src/util/c99_stdint.h" #include "src/ir/regexp/encoding/utf16/utf16.h" namespace re2c { struct RangeSuffix; void UTF16addContinuous1(RangeSuffix * & root, uint32_t l, uint32_t h); void UTF16addContinuous2(RangeSuffix * & root, uint32_t l_ld, uint32_t h_ld, uint32_t l_tr, uint32_t h_tr); void UTF16splitByContinuity(RangeSuffix * & root, uint32_t l_ld, uint32_t h_ld, uint32_t l_tr, uint32_t h_tr); void UTF16splitByRuneLength(RangeSuffix * & root, utf16::rune l, utf16::rune h); } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_UTF16_RANGE_ re2c-0.16/src/ir/regexp/encoding/utf16/utf16.cc0000644000175000017500000000042712633273654015734 00000000000000#include "src/ir/regexp/encoding/utf16/utf16.h" namespace re2c { const uint32_t utf16::MAX_1WORD_RUNE = 0xFFFFu; const uint32_t utf16::MIN_LEAD_SURR = 0xD800u; const uint32_t utf16::MIN_TRAIL_SURR = 0xDC00u; const uint32_t utf16::MAX_TRAIL_SURR = 0xDFFFu; } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf16/utf16_range.cc0000644000175000017500000000726512633273654017117 00000000000000#include "src/ir/regexp/encoding/utf16/utf16_range.h" #include "src/ir/regexp/encoding/range_suffix.h" namespace re2c { /* * Add word range [w1-w2]. */ void UTF16addContinuous1(RangeSuffix * & root, uint32_t l, uint32_t h) { RangeSuffix ** p = &root; for (;;) { if (*p == NULL) { *p = new RangeSuffix(l, h); break; } else if ((*p)->l == l && (*p)->h == h) { break; } else p = &(*p)->next; } } /* * Now that we have catenation of word ranges [l1-h1],[l2-h2], * we want to add it to existing range, merging suffixes on the fly. */ void UTF16addContinuous2(RangeSuffix * & root, uint32_t l_ld, uint32_t h_ld, uint32_t l_tr, uint32_t h_tr) { RangeSuffix ** p = &root; for (;;) { if (*p == NULL) { *p = new RangeSuffix(l_tr, h_tr); p = &(*p)->child; break; } else if ((*p)->l == l_tr && (*p)->h == h_tr) { p = &(*p)->child; break; } else p = &(*p)->next; } for (;;) { if (*p == NULL) { *p = new RangeSuffix(l_ld, h_ld); break; } else if ((*p)->l == l_ld && (*p)->h == h_ld) { break; } else p = &(*p)->next; } } /* * Split range into sub-ranges that agree on leading surrogates. * * We have two Unicode runes, L and H, both map to UTF-16 * surrogate pairs 'L1 L2' and 'H1 H2'. * We want to represent Unicode range [L - H] as a catenation * of word ranges [L1 - H1],[L2 - H2]. * * This is only possible if the following condition holds: * if L1 /= H1, then L2 == 0xdc00 and H2 == 0xdfff. * This condition ensures that: * 1) all possible UTF-16 sequences between L and H are allowed * 2) no word ranges [w1 - w2] appear, such that w1 > w2 * * E.g.: * [\U00010001-\U00010400] => [d800-d801],[dc01-dc00]. * The last word range, [dc01-dc00], is incorrect: its lower bound * is greater than its upper bound. To fix this, we must split * the original range into two sub-ranges: * [\U00010001-\U000103ff] => [d800-d800],[dc01-dfff] * [\U00010400-\U00010400] => [d801-d801],[dc00-dc00] * * This function finds all such 'points of discontinuity' * and represents original range as alternation of continuous * sub-ranges. */ void UTF16splitByContinuity(RangeSuffix * & root, uint32_t l_ld, uint32_t h_ld, uint32_t l_tr, uint32_t h_tr) { if (l_ld != h_ld) { if (l_tr > utf16::MIN_TRAIL_SURR) { UTF16splitByContinuity(root, l_ld, l_ld, l_tr, utf16::MAX_TRAIL_SURR); UTF16splitByContinuity(root, l_ld + 1, h_ld, utf16::MIN_TRAIL_SURR, h_tr); return; } if (h_tr < utf16::MAX_TRAIL_SURR) { UTF16splitByContinuity(root, l_ld, h_ld - 1, l_tr, utf16::MAX_TRAIL_SURR); UTF16splitByContinuity(root, h_ld, h_ld, utf16::MIN_TRAIL_SURR, h_tr); return; } } UTF16addContinuous2(root, l_ld, h_ld, l_tr, h_tr); } /* * Split range into sub-ranges, so that all runes in the same * sub-range have equal length of UTF-16 sequence. E.g., full * Unicode range [0-0x10FFFF] gets split into sub-ranges: * [0 - 0xFFFF] (2-byte UTF-16 sequences) * [0x10000 - 0x10FFFF] (4-byte UTF-16 sequences) */ void UTF16splitByRuneLength(RangeSuffix * & root, utf16::rune l, utf16::rune h) { if (l <= utf16::MAX_1WORD_RUNE) { if (h <= utf16::MAX_1WORD_RUNE) { UTF16addContinuous1(root, l, h); } else { UTF16addContinuous1(root, l, utf16::MAX_1WORD_RUNE); const uint32_t h_ld = utf16::lead_surr(h); const uint32_t h_tr = utf16::trail_surr(h); UTF16splitByContinuity(root, utf16::MIN_LEAD_SURR, h_ld, utf16::MIN_TRAIL_SURR, h_tr); } } else { const uint32_t l_ld = utf16::lead_surr(l); const uint32_t l_tr = utf16::trail_surr(l); const uint32_t h_ld = utf16::lead_surr(h); const uint32_t h_tr = utf16::trail_surr(h); UTF16splitByContinuity(root, l_ld, h_ld, l_tr, h_tr); } } } // namespace re2c re2c-0.16/src/ir/regexp/encoding/utf16/utf16_regexp.h0000644000175000017500000000052012633273654017142 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_UTF16_REGEXP_ #define _RE2C_IR_REGEXP_ENCODING_UTF16_REGEXP_ #include "src/ir/regexp/encoding/utf16/utf16.h" namespace re2c { class Range; class RegExp; RegExp * UTF16Symbol(utf16::rune r); RegExp * UTF16Range(const Range * r); } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_UTF16_REGEXP_ re2c-0.16/src/ir/regexp/encoding/utf16/utf16.h0000644000175000017500000000142712633273654015577 00000000000000#ifndef _RE2C_IR_REGEXP_ENCODING_UTF16_UTF16_ #define _RE2C_IR_REGEXP_ENCODING_UTF16_UTF16_ #include "src/util/c99_stdint.h" namespace re2c { class utf16 { public: typedef uint32_t rune; static const uint32_t MAX_1WORD_RUNE; static const uint32_t MIN_LEAD_SURR; static const uint32_t MIN_TRAIL_SURR; static const uint32_t MAX_TRAIL_SURR; /* leading surrogate of UTF-16 symbol */ static inline uint32_t lead_surr(rune r); /* trailing surrogate of UTF-16 symbol */ static inline uint32_t trail_surr(rune r); }; inline uint32_t utf16::lead_surr(rune r) { return ((r - 0x10000u) / 0x400u) + MIN_LEAD_SURR; } inline uint32_t utf16::trail_surr(rune r) { return ((r - 0x10000u) % 0x400u) + MIN_TRAIL_SURR; } } // namespace re2c #endif // _RE2C_IR_REGEXP_ENCODING_UTF16_UTF16_ re2c-0.16/src/ir/regexp/fixed_length.cc0000644000175000017500000000142412633273654014672 00000000000000#include "src/util/c99_stdint.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_alt.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_match.h" #include "src/ir/regexp/regexp_null.h" namespace re2c { uint32_t RegExp::fixedLength () { return ~0u; } uint32_t AltOp::fixedLength () { uint32_t l1 = exp1->fixedLength (); uint32_t l2 = exp1->fixedLength (); if (l1 != l2 || l1 == ~0u) { return ~0u; } return l1; } uint32_t CatOp::fixedLength () { const uint32_t l1 = exp1->fixedLength (); if (l1 != ~0u) { const uint32_t l2 = exp2->fixedLength (); if (l2 != ~0u) { return l1 + l2; } } return ~0u; } uint32_t MatchOp::fixedLength () { return 1; } uint32_t NullOp::fixedLength () { return 0; } } // end namespace re2c re2c-0.16/src/ir/regexp/regexp.cc0000644000175000017500000001117312650133301013505 00000000000000#include #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/regexp/empty_class_policy.h" #include "src/ir/regexp/encoding/case.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/regexp/encoding/utf16/utf16_regexp.h" #include "src/ir/regexp/encoding/utf8/utf8_regexp.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_alt.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_match.h" #include "src/ir/regexp/regexp_null.h" #include "src/parse/scanner.h" #include "src/util/range.h" namespace re2c { static MatchOp * merge (MatchOp * m1, MatchOp * m2); free_list RegExp::vFreeList; RegExp * doAlt (RegExp * e1, RegExp * e2) { if (!e1) { return e2; } if (!e2) { return e1; } return new AltOp (e1, e2); } RegExp * mkAlt (RegExp * e1, RegExp * e2) { AltOp * a; MatchOp * m1; MatchOp * m2; a = dynamic_cast (e1); if (a != NULL) { m1 = dynamic_cast (a->exp1); if (m1 != NULL) { e1 = a->exp2; } } else { m1 = dynamic_cast (e1); if (m1 != NULL) { e1 = NULL; } } a = dynamic_cast (e2); if (a != NULL) { m2 = dynamic_cast (a->exp1); if (m2 != NULL) { e2 = a->exp2; } } else { m2 = dynamic_cast (e2); if (m2 != NULL) { e2 = NULL; } } return doAlt (merge (m1, m2), doAlt (e1, e2)); } MatchOp * merge (MatchOp * m1, MatchOp * m2) { if (!m1) { return m2; } if (!m2) { return m1; } MatchOp * m = new MatchOp (Range::add (m1->match, m2->match)); return m; } RegExp * doCat (RegExp * e1, RegExp * e2) { if (!e1) { return e2; } if (!e2) { return e1; } return new CatOp (e1, e2); } RegExp *Scanner::schr(uint32_t c) const { if (!opts->encoding.encode(c)) { fatalf("Bad code point: '0x%X'", c); } switch (opts->encoding.type ()) { case Enc::UTF16: return UTF16Symbol(c); case Enc::UTF8: return UTF8Symbol(c); default: return new MatchOp(Range::sym(c)); } } RegExp *Scanner::ichr(uint32_t c) const { if (is_alpha(c)) { RegExp *l = schr(to_lower_unsafe(c)); RegExp *u = schr(to_upper_unsafe(c)); return mkAlt(l, u); } else { return schr(c); } } RegExp *Scanner::cls(Range *r) const { if (!r) { switch (opts->empty_class_policy) { case EMPTY_CLASS_MATCH_EMPTY: warn.empty_class (get_line ()); return new NullOp; case EMPTY_CLASS_MATCH_NONE: warn.empty_class (get_line ()); break; case EMPTY_CLASS_ERROR: fatal ("empty character class"); break; } } switch (opts->encoding.type ()) { case Enc::UTF16: return UTF16Range(r); case Enc::UTF8: return UTF8Range(r); default: return new MatchOp(r); } } RegExp * Scanner::mkDiff (RegExp * e1, RegExp * e2) const { MatchOp * m1 = dynamic_cast (e1); MatchOp * m2 = dynamic_cast (e2); if (m1 == NULL || m2 == NULL) { fatal("can only difference char sets"); } Range * r = Range::sub (m1->match, m2->match); return cls(r); } RegExp * Scanner::mkDot() const { Range * full = opts->encoding.fullRange(); uint32_t c = '\n'; if (!opts->encoding.encode(c)) fatalf("Bad code point: '0x%X'", c); Range * ran = Range::sym (c); Range * inv = Range::sub (full, ran); return cls(inv); } /* * Create a byte range that includes all possible input characters. * This may include characters, which do not map to any valid symbol * in current encoding. For encodings, which directly map symbols to * input characters (ASCII, EBCDIC, UTF-32), it equals [^]. For other * encodings (UTF-16, UTF-8), [^] and this range are different. * * Also note that default range doesn't respect encoding policy * (the way invalid code points are treated). */ RegExp * Scanner::mkDefault() const { Range * def = Range::ran (0, opts->encoding.nCodeUnits()); return new MatchOp(def); } /* * note [counted repetition expansion] * * r{0} ;;= * r{n} ::= r{n-1} r * r{n,m} ::= r{n} (r{0} | ... | r{m-n}) * r{n,} ::= r{n} r* */ // see note [counted repetition expansion] RegExp * repeat (RegExp * e, uint32_t n) { RegExp * r = NULL; for (uint32_t i = 0; i < n; ++i) { r = doCat (r, e); } return r; } // see note [counted repetition expansion] RegExp * repeat_from_to (RegExp * e, uint32_t n, uint32_t m) { RegExp * r1 = repeat (e, n); RegExp * r2 = NULL; for (uint32_t i = n; i < m; ++i) { r2 = mkAlt (new NullOp, doCat (e, r2)); } return doCat (r1, r2); } // see note [counted repetition expansion] RegExp * repeat_from (RegExp * e, uint32_t n) { RegExp * r1 = repeat (e, n); RegExp * r2 = new CloseOp (e); return doCat (r1, r2); } } // namespace re2c re2c-0.16/src/ir/regexp/regexp_rule.h0000644000175000017500000000153312650133301014375 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_RULE_ #define _RE2C_IR_REGEXP_REGEXP_RULE_ #include #include "src/ir/regexp/regexp.h" #include "src/ir/rule_rank.h" #include "src/parse/code.h" namespace re2c { class RuleOp: public RegExp { public: const Loc loc; private: RegExp * exp; public: RegExp * ctx; rule_rank_t rank; const Code * code; const std::string newcond; inline RuleOp ( const Loc & l , RegExp * r1 , RegExp * r2 , rule_rank_t r , const Code * c , const std::string * cond ) : loc (l) , exp (r1) , ctx (r2) , rank (r) , code (c) , newcond (cond ? *cond : "") {} void display (std::ostream & o) const; void split (std::set &); uint32_t calc_size() const; nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n); FORBID_COPY (RuleOp); }; } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_RULE_ re2c-0.16/src/ir/regexp/regexp_cat.h0000644000175000017500000000103512650133301014172 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_CAT_ #define _RE2C_IR_REGEXP_REGEXP_CAT_ #include "src/ir/regexp/regexp.h" namespace re2c { class CatOp: public RegExp { RegExp * exp1; RegExp * exp2; public: inline CatOp (RegExp * e1, RegExp * e2) : exp1 (e1) , exp2 (e2) {} void split (std::set &); uint32_t calc_size() const; uint32_t fixedLength (); nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n); void display (std::ostream & o) const; FORBID_COPY (CatOp); }; } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_CAT_ re2c-0.16/src/ir/regexp/regexp_null.h0000644000175000017500000000064012650133301014376 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_NULL_ #define _RE2C_IR_REGEXP_REGEXP_NULL_ #include "src/ir/regexp/regexp.h" namespace re2c { class NullOp: public RegExp { public: void split (std::set &); uint32_t calc_size() const; uint32_t fixedLength (); nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n); void display (std::ostream & o) const; }; } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_NULL_ re2c-0.16/src/ir/regexp/regexp.h0000644000175000017500000000221412650133301013343 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_ #define _RE2C_IR_REGEXP_REGEXP_ #include "src/util/c99_stdint.h" #include #include #include #include "src/util/free_list.h" #include "src/util/forbid_copy.h" namespace re2c { struct nfa_state_t; struct nfa_t; typedef std::vector charset_t; class RegExp { public: static free_list vFreeList; inline RegExp () { vFreeList.insert (this); } inline virtual ~RegExp () { vFreeList.erase (this); } virtual void split (std::set &) = 0; virtual uint32_t calc_size() const = 0; virtual uint32_t fixedLength (); virtual nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n) = 0; virtual void display (std::ostream &) const = 0; friend std::ostream & operator << (std::ostream & o, const RegExp & re); FORBID_COPY (RegExp); }; RegExp * doAlt (RegExp * e1, RegExp * e2); RegExp * mkAlt (RegExp * e1, RegExp * e2); RegExp * doCat (RegExp * e1, RegExp * e2); RegExp * repeat (RegExp * e, uint32_t n); RegExp * repeat_from_to (RegExp * e, uint32_t n, uint32_t m); RegExp * repeat_from (RegExp * e, uint32_t n); } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_ re2c-0.16/src/ir/regexp/regexp_close.h0000644000175000017500000000074012650133301014532 00000000000000#ifndef _RE2C_IR_REGEXP_REGEXP_CLOSE_ #define _RE2C_IR_REGEXP_REGEXP_CLOSE_ #include "src/ir/regexp/regexp.h" namespace re2c { class CloseOp: public RegExp { RegExp * exp; public: inline CloseOp (RegExp * e) : exp (e) {} void split (std::set &); uint32_t calc_size() const; nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n); void display (std::ostream & o) const; FORBID_COPY (CloseOp); }; } // end namespace re2c #endif // _RE2C_IR_REGEXP_REGEXP_CLOSE_ re2c-0.16/src/ir/regexp/empty_class_policy.h0000644000175000017500000000053712633273654016002 00000000000000#ifndef _RE2C_IR_REGEXP_EMPTY_CLASS_POLICY_ #define _RE2C_IR_REGEXP_EMPTY_CLASS_POLICY_ namespace re2c { enum empty_class_policy_t { EMPTY_CLASS_MATCH_EMPTY, // match on empty input EMPTY_CLASS_MATCH_NONE, // fail to match on any input EMPTY_CLASS_ERROR // compilation error }; } // namespace re2c #endif // _RE2C_IR_REGEXP_EMPTY_CLASS_POLICY_ re2c-0.16/src/ir/dfa/0000755000175000017500000000000012650133525011231 500000000000000re2c-0.16/src/ir/dfa/dfa.h0000644000175000017500000000152512650133301012047 00000000000000#ifndef _RE2C_IR_DFA_DFA_ #define _RE2C_IR_DFA_DFA_ #include "src/util/c99_stdint.h" #include #include "src/ir/regexp/regexp.h" #include "src/parse/rules.h" #include "src/util/forbid_copy.h" namespace re2c { struct nfa_t; class RuleOp; struct dfa_state_t { size_t *arcs; RuleOp *rule; bool ctx; dfa_state_t() : arcs(NULL) , rule(NULL) , ctx(false) {} ~dfa_state_t() { delete[] arcs; } FORBID_COPY(dfa_state_t); }; struct dfa_t { static const size_t NIL; std::vector states; const size_t nchars; dfa_t(const nfa_t &nfa, const charset_t &charset, rules_t &rules); ~dfa_t(); }; enum dfa_minimization_t { DFA_MINIMIZATION_TABLE, DFA_MINIMIZATION_MOORE }; void minimization(dfa_t &dfa); void fillpoints(const dfa_t &dfa, std::vector &fill); } // namespace re2c #endif // _RE2C_IR_DFA_DFA_ re2c-0.16/src/ir/dfa/minimization.cc0000644000175000017500000001172412650133301014164 00000000000000#include #include #include #include "src/conf/opt.h" #include "src/ir/dfa/dfa.h" #include "src/globals.h" namespace re2c { class RuleOp; /* * note [DFA minimization: table filling algorithm] * * This algorithm is simple and slow; it's a reference implementation. * * The algorithm constructs (strictly lower triangular) boolean matrix * indexed by DFA states. Each matrix cell (S1,S2) indicates if states * S1 and S2 are distinguishable. Initialy states are distinguished * according to their rule and context. One step of the algorithm * updates the matrix as follows: each pair of states S1 and S2 is * marked as distinguishable iff exist transitions from S1 and S2 on * the same symbol that go to distinguishable states. The algorithm * loops until the matrix stops changing. */ static void minimization_table( size_t *part, const std::vector &states, size_t nchars) { const size_t count = states.size(); bool **tbl = new bool*[count]; tbl[0] = new bool[count * (count - 1) / 2]; for (size_t i = 0; i < count - 1; ++i) { tbl[i + 1] = tbl[i] + i; } for (size_t i = 0; i < count; ++i) { dfa_state_t *s1 = states[i]; for (size_t j = 0; j < i; ++j) { dfa_state_t *s2 = states[j]; tbl[i][j] = s1->ctx != s2->ctx || s1->rule != s2->rule; } } for (bool loop = true; loop;) { loop = false; for (size_t i = 0; i < count; ++i) { for (size_t j = 0; j < i; ++j) { if (!tbl[i][j]) { for (size_t k = 0; k < nchars; ++k) { size_t oi = states[i]->arcs[k]; size_t oj = states[j]->arcs[k]; if (oi < oj) { std::swap(oi, oj); } if (oi != oj && (oi == dfa_t::NIL || oj == dfa_t::NIL || tbl[oi][oj])) { tbl[i][j] = true; loop = true; break; } } } } } } for (size_t i = 0; i < count; ++i) { part[i] = i; for (size_t j = 0; j < i; ++j) { if (!tbl[i][j]) { part[i] = j; break; } } } delete[] tbl[0]; delete[] tbl; } /* * note [DFA minimization: Moore algorithm] * * The algorithm maintains partition of DFA states. * Initial partition is coarse: states are distinguished according * to their rule and context. Partition is gradually refined: each * set of states is split into minimal number of subsets such that * for all states in a subset transitions on the same symbol go to * the same set of states. * The algorithm loops until partition stops changing. */ static void minimization_moore( size_t *part, const std::vector &states, size_t nchars) { const size_t count = states.size(); size_t *next = new size_t[count]; std::map, size_t> init; for (size_t i = 0; i < count; ++i) { dfa_state_t *s = states[i]; std::pair key(s->rule, s->ctx); if (init.insert(std::make_pair(key, i)).second) { part[i] = i; next[i] = dfa_t::NIL; } else { const size_t j = init[key]; part[i] = j; next[i] = next[j]; next[j] = i; } } size_t *out = new size_t[nchars * count]; size_t *diff = new size_t[count]; for (bool loop = true; loop;) { loop = false; for (size_t i = 0; i < count; ++i) { if (i != part[i] || next[i] == dfa_t::NIL) { continue; } for (size_t j = i; j != dfa_t::NIL; j = next[j]) { size_t *o = &out[j * nchars]; size_t *a = states[j]->arcs; for (size_t c = 0; c < nchars; ++c) { o[c] = a[c] == dfa_t::NIL ? dfa_t::NIL : part[a[c]]; } } size_t diff_count = 0; for (size_t j = i; j != dfa_t::NIL;) { const size_t j_next = next[j]; size_t n = 0; for (; n < diff_count; ++n) { size_t k = diff[n]; if (memcmp(&out[j * nchars], &out[k * nchars], nchars * sizeof(size_t)) == 0) { part[j] = k; next[j] = next[k]; next[k] = j; break; } } if (n == diff_count) { diff[diff_count++] = j; part[j] = j; next[j] = dfa_t::NIL; } j = j_next; } loop |= diff_count > 1; } } delete[] out; delete[] diff; delete[] next; } void minimization(dfa_t &dfa) { const size_t count = dfa.states.size(); size_t *part = new size_t[count]; switch (opts->dfa_minimization) { case DFA_MINIMIZATION_TABLE: minimization_table(part, dfa.states, dfa.nchars); break; case DFA_MINIMIZATION_MOORE: minimization_moore(part, dfa.states, dfa.nchars); break; } size_t *compact = new size_t[count]; for (size_t i = 0, j = 0; i < count; ++i) { if (i == part[i]) { compact[i] = j++; } } size_t new_count = 0; for (size_t i = 0; i < count; ++i) { dfa_state_t *s = dfa.states[i]; if (i == part[i]) { size_t *arcs = s->arcs; for (size_t c = 0; c < dfa.nchars; ++c) { if (arcs[c] != dfa_t::NIL) { arcs[c] = compact[part[arcs[c]]]; } } dfa.states[new_count++] = s; } else { delete s; } } dfa.states.resize(new_count); delete[] compact; delete[] part; } } // namespace re2c re2c-0.16/src/ir/dfa/fillpoints.cc0000644000175000017500000000706012650133301013636 00000000000000#include #include #include #include "src/ir/dfa/dfa.h" namespace re2c { static const size_t INFINITY = std::numeric_limits::max(); static const size_t UNDEFINED = INFINITY - 1; static bool loopback(size_t node, size_t narcs, const size_t *arcs) { for (size_t i = 0; i < narcs; ++i) { if (arcs[i] == node) { return true; } } return false; } /* * node [finding strongly connected components of DFA] * * A slight modification of Tarjan's algorithm. * * The algorithm walks graph in deep-first order. It maintains a stack * of nodes that have already been visited but haven't been assigned to * SCC yet. For each node the algorithm calculates 'lowlink': index of * the highest ancestor node reachable in one step from a descendant of * the node. Lowlink is used to determine when a set of nodes should be * popped off the stack into a new SCC. * * We use lowlink to hold different kinds of information: * - values in range [0 .. stack size] mean that this node is on stack * (link to a node with the smallest index reachable from this one) * - UNDEFINED means that this node has not been visited yet * - INFINITY means that this node has already been popped off stack * * We use stack size (rather than topological sort index) as unique index * of a node on stack. This is safe because indices of nodes on stack are * still unique and less than indices of nodes that have been popped off * stack (INFINITY). * */ static void scc( const dfa_t &dfa, std::stack &stack, std::vector &lowlink, std::vector &trivial, size_t i) { const size_t link = stack.size(); lowlink[i] = link; stack.push(i); const size_t *arcs = dfa.states[i]->arcs; for (size_t c = 0; c < dfa.nchars; ++c) { const size_t j = arcs[c]; if (j != dfa_t::NIL) { if (lowlink[j] == UNDEFINED) { scc(dfa, stack, lowlink, trivial, j); } if (lowlink[j] < lowlink[i]) { lowlink[i] = lowlink[j]; } } } if (lowlink[i] == link) { // SCC is non-trivial (has loops) iff it either: // - consists of multiple nodes (they all must be interconnected) // - consists of single node which loops back to itself trivial[i] = i == stack.top() && !loopback(i, dfa.nchars, arcs); size_t j; do { j = stack.top(); stack.pop(); lowlink[j] = INFINITY; } while (j != i); } } static void calc_fill( const dfa_t &dfa, const std::vector &trivial, std::vector &fill, size_t i) { if (fill[i] == UNDEFINED) { fill[i] = 0; const size_t *arcs = dfa.states[i]->arcs; for (size_t c = 0; c < dfa.nchars; ++c) { const size_t j = arcs[c]; if (j != dfa_t::NIL) { calc_fill(dfa, trivial, fill, j); size_t max = 1; if (trivial[j]) { max += fill[j]; } if (max > fill[i]) { fill[i] = max; } } } } } void fillpoints(const dfa_t &dfa, std::vector &fill) { const size_t size = dfa.states.size(); // find DFA states that belong to non-trivial SCC std::stack stack; std::vector lowlink(size, UNDEFINED); std::vector trivial(size, false); scc(dfa, stack, lowlink, trivial, 0); // for each DFA state, calculate YYFILL argument: // maximal path length to the next YYFILL state fill.resize(size, UNDEFINED); calc_fill(dfa, trivial, fill, 0); // The following states must trigger YYFILL: // - inital state // - all states in non-trivial SCCs // for other states, reset YYFILL argument to zero for (size_t i = 1; i < size; ++i) { if (trivial[i]) { fill[i] = 0; } } } } // namespace re2c re2c-0.16/src/ir/dfa/determinization.cc0000644000175000017500000001106312650133301014656 00000000000000#include #include #include #include #include #include "src/ir/dfa/dfa.h" #include "src/ir/nfa/nfa.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_rule.h" #include "src/ir/rule_rank.h" #include "src/parse/rules.h" #include "src/util/ord_hash_set.h" #include "src/util/range.h" namespace re2c { const size_t dfa_t::NIL = std::numeric_limits::max(); /* * note [marking DFA states] * * DFA state is a set of NFA states. * However, DFA state includes not all NFA states that are in * epsilon-closure (NFA states that have only epsilon-transitions * and are not context of final states are omitted). * The included states are called 'kernel' states. * * We mark visited NFA states during closure construction. * These marks serve two purposes: * - avoid loops in NFA * - avoid duplication of NFA states in kernel * * Note that after closure construction: * - all non-kernel states must be unmarked (these states are * not stored in kernel and it is impossible to unmark them * afterwards) * - all kernel states must be marked (because we may later * extend this kernel with epsilon-closure of another NFA * state). Kernel states are unmarked later (before finding * or adding DFA state). */ static nfa_state_t **closure(nfa_state_t **cP, nfa_state_t *n) { if (!n->mark) { n->mark = true; switch (n->type) { case nfa_state_t::ALT: cP = closure(cP, n->value.alt.out2); cP = closure(cP, n->value.alt.out1); n->mark = false; break; case nfa_state_t::CTX: *(cP++) = n; cP = closure(cP, n->value.ctx.out); break; default: *(cP++) = n; break; } } return cP; } static size_t find_state ( nfa_state_t **kernel , nfa_state_t **end , ord_hash_set_t &kernels ) { // zero-sized kernel corresponds to default state if (kernel == end) { return dfa_t::NIL; } // see note [marking DFA states] for (nfa_state_t **p = kernel; p != end; ++p) { (*p)->mark = false; } // sort kernel states: we need this to get stable hash // and to compare states with simple 'memcmp' std::sort(kernel, end); const size_t size = static_cast(end - kernel) * sizeof(nfa_state_t*); return kernels.insert(kernel, size); } dfa_t::dfa_t(const nfa_t &nfa, const charset_t &charset, rules_t &rules) : states() , nchars(charset.size() - 1) // (n + 1) bounds for n ranges { std::map > s2rules; ord_hash_set_t kernels; nfa_state_t **const buffer = new nfa_state_t*[nfa.size]; std::vector > arcs(nchars); find_state(buffer, closure(buffer, nfa.root), kernels); for (size_t i = 0; i < kernels.size(); ++i) { dfa_state_t *s = new dfa_state_t; states.push_back(s); nfa_state_t **kernel; const size_t kernel_size = kernels.deref(i, kernel); for (size_t j = 0; j < kernel_size; ++j) { nfa_state_t *n = kernel[j]; switch (n->type) { case nfa_state_t::RAN: { nfa_state_t *m = n->value.ran.out; size_t c = 0; for (Range *r = n->value.ran.ran; r; r = r->next ()) { for (; charset[c] != r->lower(); ++c); for (; charset[c] != r->upper(); ++c) { arcs[c].push_back(m); } } break; } case nfa_state_t::CTX: s->ctx = true; break; case nfa_state_t::FIN: s2rules[i].insert(n->value.fin.rule); break; default: break; } } s->arcs = new size_t[nchars]; for(size_t c = 0; c < nchars; ++c) { nfa_state_t **end = buffer; for (std::vector::const_iterator j = arcs[c].begin(); j != arcs[c].end(); ++j) { end = closure(end, *j); } s->arcs[c] = find_state(buffer, end, kernels); } for(size_t c = 0; c < nchars; ++c) { arcs[c].clear(); } } delete[] buffer; const size_t count = states.size(); for (size_t i = 0; i < count; ++i) { dfa_state_t *s = states[i]; std::set &rs = s2rules[i]; // for each final state: choose the rule with the smallest rank for (std::set::const_iterator j = rs.begin(); j != rs.end(); ++j) { RuleOp *rule = *j; if (!s->rule || rule->rank < s->rule->rank) { s->rule = rule; } } // other rules are shadowed by the chosen rule for (std::set::const_iterator j = rs.begin(); j != rs.end(); ++j) { RuleOp *rule = *j; if (s->rule != rule) { rules[rule->rank].shadow.insert(s->rule->rank); } } } } dfa_t::~dfa_t() { std::vector::iterator i = states.begin(), e = states.end(); for (; i != e; ++i) { delete *i; } } } // namespace re2c re2c-0.16/src/ir/skeleton/0000755000175000017500000000000012650133525012323 500000000000000re2c-0.16/src/ir/skeleton/control_flow.cc0000644000175000017500000000254012650133303015254 00000000000000#include #include #include #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/path.h" #include "src/ir/skeleton/skeleton.h" #include "src/ir/skeleton/way.h" #include "src/util/u32lim.h" namespace re2c { // We don't need all patterns that cause undefined behaviour. // We only need some examples, the shorter the better. // See also note [counting skeleton edges]. void Node::naked_ways (way_t & prefix, std::vector & ways, nakeds_t &size) { if (!rule.rank.is_none ()) { return; } else if (end ()) { ways.push_back (prefix); size = size + nakeds_t::from64(prefix.size ()); } else if (loop < 2) { local_inc _ (loop); for (arcsets_t::iterator i = arcsets.begin (); i != arcsets.end () && !size.overflow (); ++i) { prefix.push_back (&i->second); i->first->naked_ways (prefix, ways, size); prefix.pop_back (); } } } void Skeleton::warn_undefined_control_flow () { way_t prefix; std::vector ways; Node::nakeds_t size = Node::nakeds_t::from32(0u); nodes->naked_ways (prefix, ways, size); if (!ways.empty ()) { warn.undefined_control_flow (line, cond, ways, size.overflow ()); } else if (size.overflow ()) { warn.fail (Warn::UNDEFINED_CONTROL_FLOW, line, "DFA is too large to check undefined control flow"); } } } // namespace re2c re2c-0.16/src/ir/skeleton/generate_data.cc0000644000175000017500000001404012650133303015326 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include #include #include #include #include #include "src/conf/msg.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/path.h" #include "src/ir/skeleton/skeleton.h" #include "src/util/u32lim.h" namespace re2c { template static Node::covers_t cover_one (FILE * input, FILE * keys, const path_t & path); /* * note [generating skeleton path cover] * * With --skeleton switch we need to generate lots of data: strings that * correspond to various paths in DFA and match given regular expression. * We try to generate path cover (a set of paths that cover all skeleton * arcs at least once). Generation must stop as soon as the size of path * cover exceeds limit (in which case we'll only get a partial path cover). * * The algorithm walks graph nodes in deep-first order and assigns suffix * to each node (a path from this node to end node). In order to calculate * suffix for a given node the algorithm must know suffix for any child * node (end nodes are assigned empty suffix at start). Suffix is only * calculated once for each node and then reused as much times as the node * is visited. This is what reduces search space. * * The algorithm calculates prefix (multipath to current node). If current * node has already been assigned suffix, the algorithm immediately * calculates path cover from prefix and suffix. Otherwise it recurses to * child nodes (updating prefix on the go). * * The algorithm avoids eternal loops by maintaining loop counter for each * node. Loop counter is incremented on recursive enter and decremented on * recursive return. If loop counter is greater than 1, current branch is * abandoned and recursion returns immediately. * * See also note [counting skeleton edges]. * */ template void Node::cover (path_t & prefix, FILE * input, FILE * keys, covers_t &size) { if (end () && suffix == NULL) { suffix = new path_t (rule, ctx); } if (suffix != NULL) { prefix.append (suffix); size = size + cover_one (input, keys, prefix); } else if (loop < 2) { local_inc _ (loop); for (arcs_t::iterator i = arcs.begin (); i != arcs.end () && !size.overflow(); ++i) { path_t new_prefix = prefix; new_prefix.extend (i->first->rule, i->first->ctx, &i->second); i->first->cover (new_prefix, input, keys, size); if (i->first->suffix != NULL && suffix == NULL) { suffix = new path_t (rule, ctx); suffix->extend (i->first->rule, i->first->ctx, &i->second); suffix->append (i->first->suffix); } } } } template void Skeleton::generate_paths_cunit_key (FILE * input, FILE * keys) { path_t prefix (nodes->rule, nodes->ctx); Node::covers_t size = Node::covers_t::from32(0u); nodes->cover (prefix, input, keys, size); if (size.overflow ()) { warning ( NULL , line , false , "DFA %sis too large: can only generate partial path cover" , incond (cond).c_str () ); } } template void Skeleton::generate_paths_cunit (FILE * input, FILE * keys) { switch (sizeof_key) { case 4: generate_paths_cunit_key (input, keys); break; case 2: generate_paths_cunit_key (input, keys); break; case 1: generate_paths_cunit_key (input, keys); break; } } void Skeleton::generate_paths (FILE * input, FILE * keys) { switch (opts->encoding.szCodeUnit ()) { case 4: generate_paths_cunit (input, keys); break; case 2: generate_paths_cunit (input, keys); break; case 1: generate_paths_cunit (input, keys); break; } } void Skeleton::emit_data (const char * fname) { const std::string input_name = std::string (fname) + "." + name + ".input"; FILE * input = fopen (input_name.c_str (), "wb"); if (!input) { error ("cannot open file: %s", input_name.c_str ()); exit (1); } const std::string keys_name = std::string (fname) + "." + name + ".keys"; FILE * keys = fopen (keys_name.c_str (), "wb"); if (!keys) { error ("cannot open file: %s", keys_name.c_str ()); exit (1); } generate_paths (input, keys); fclose (input); fclose (keys); } template static uintn_t to_le(uintn_t n) { uintn_t m; uint8_t *p = reinterpret_cast(&m); for (size_t i = 0; i < sizeof(uintn_t); ++i) { p[i] = static_cast(n >> (i * 8)); } return m; } template static void keygen (FILE * f, size_t count, size_t len, size_t len_match, rule_rank_t match) { const key_t m = Skeleton::rule2key (match); const size_t keys_size = 3 * count; key_t * keys = new key_t [keys_size]; for (uint32_t i = 0; i < keys_size;) { keys[i++] = to_le(static_cast (len)); keys[i++] = to_le(static_cast (len_match)); keys[i++] = to_le(m); } fwrite (keys, sizeof (key_t), keys_size, f); delete [] keys; } template static Node::covers_t cover_one (FILE * input, FILE * keys, const path_t & path) { const size_t len = path.len (); size_t count = 0; for (size_t i = 0; i < len; ++i) { count = std::max (count, path[i]->size ()); } const Node::covers_t size = Node::covers_t::from64(len) * Node::covers_t::from64(count); if (!size.overflow ()) { // input const size_t buffer_size = size.uint32 (); cunit_t * buffer = new cunit_t [buffer_size]; for (size_t i = 0; i < len; ++i) { const std::vector & arc = *path[i]; const size_t width = arc.size (); for (size_t j = 0; j < count; ++j) { const size_t k = j % width; buffer[j * len + i] = to_le(static_cast (arc[k])); } } fwrite (buffer, sizeof (cunit_t), buffer_size, input); delete [] buffer; // keys keygen (keys, count, len, path.len_matching (), path.match ()); } return size; } } // namespace re2c re2c-0.16/src/ir/skeleton/way.h0000644000175000017500000000066112650133303013211 00000000000000#ifndef _RE2C_IR_SKELETON_WAY_ #define _RE2C_IR_SKELETON_WAY_ #include "src/util/c99_stdint.h" #include #include #include namespace re2c { typedef std::vector > way_arc_t; typedef std::vector way_t; bool cmp_ways (const way_t & w1, const way_t & w2); void fprint_way (FILE * f, const way_t & p); } // namespace re2c #endif // _RE2C_IR_SKELETON_WAY_ re2c-0.16/src/ir/skeleton/way.cc0000644000175000017500000000304512650133303013346 00000000000000#include #include #include "src/ir/skeleton/way.h" namespace re2c { static bool cmp_way_arcs (const way_arc_t * a1, const way_arc_t * a2); static void fprint_way_arc (FILE * f, const way_arc_t & arc); bool cmp_way_arcs (const way_arc_t * a1, const way_arc_t * a2) { return std::lexicographical_compare(a1->begin(), a1->end(), a2->begin(), a2->end()); } // define strict weak ordering on patterns: // 1st criterion is length (short patterns go first) // 2nd criterion is lexicographical order (applies to patterns of equal length) bool cmp_ways (const way_t & w1, const way_t & w2) { const size_t s1 = w1.size (); const size_t s2 = w2.size (); return (s1 == s2 && std::lexicographical_compare(w1.begin(), w1.end(), w2.begin(), w2.end(), cmp_way_arcs)) || s1 < s2; } void fprint_way (FILE * f, const way_t & w) { fprintf (f, "'"); const size_t len = w.size (); for (size_t i = 0 ; i < len; ++i) { if (i > 0) { fprintf (f, " "); } if (w[i] == NULL) { fprintf (stderr, "(nil)"); } else { fprint_way_arc (stderr, *w[i]); } } fprintf (f, "'"); } void fprint_way_arc (FILE * f, const way_arc_t & arc) { const size_t ranges = arc.size (); if (ranges == 1 && arc[0].first == arc[0].second) { fprintf (f, "\\x%X", arc[0].first); } else { fprintf (f, "["); for (size_t i = 0; i < ranges; ++i) { const uint32_t l = arc[i].first; const uint32_t u = arc[i].second; fprintf (f, "\\x%X", l); if (l != u) { fprintf (f, "-\\x%X", u); } } fprintf (f, "]"); } } } // namespace re2c re2c-0.16/src/ir/skeleton/skeleton.h0000644000175000017500000001134712650133303014240 00000000000000#ifndef _RE2C_IR_SKELETON_SKELETON_ #define _RE2C_IR_SKELETON_SKELETON_ #include "src/util/c99_stdint.h" #include #include #include #include #include #include #include #include #include "src/ir/regexp/regexp.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/path.h" #include "src/ir/skeleton/way.h" #include "src/parse/rules.h" #include "src/util/local_increment.h" #include "src/util/forbid_copy.h" #include "src/util/u32lim.h" namespace re2c { struct dfa_t; struct OutputFile; class RuleOp; struct Node { /* * note [counting skeleton edges] * * To avoid any possible overflows all size calculations are wrapped in * a special truncated unsigned 32-bit integer type that checks overflow * on each binary operation or conversion from another type. * * Two things contribute to size calculation: path length and the number * of outgoing arcs in each node. Some considerations on why these values * will not overflow before they are converted to truncated type: * * - Maximal number of outgoing arcs in each node cannot exceed 32 bits: * it is bounded by the number of code units in current encoding, and * re2c doesn't support any encoding with more than 2^32 code units. * Conversion is safe. * * - Maximal path length cannot exceed 32 bits: we estimate it right * after skeleton construction and check for overflow. If path length * does overflow, an error is reported and re2c aborts. */ // Type for calculating the size of path cover. // Paths are dumped to file as soon as generated and don't eat // heap space. The total size of path cover (measured in edges) // is O(N^2) where N is the number of edges in skeleton. typedef u32lim_t<1024 * 1024 * 1024> covers_t; // ~1Gb // Type for counting arcs in paths that cause undefined behaviour. // These paths are stored on heap, so the limit should be low. // Most real-world cases have only a few short paths. // We don't need all paths anyway, just some examples. typedef u32lim_t<1024> nakeds_t; // ~1Kb typedef std::map arcs_t; typedef std::map arcsets_t; typedef local_increment_t local_inc; // outgoing arcs arcs_t arcs; arcsets_t arcsets; // how many times this node has been visited // (controls looping in graph traversals) uint8_t loop; // rule for corresponding DFA state (if any) rule_t rule; // start of trailing context bool ctx; // maximal distance to end node (assuming one iteration per loop) static const uint32_t DIST_ERROR; static const uint32_t DIST_MAX; uint32_t dist; // rules reachable from this node (including absent rule) std::set reachable; // path to end node (for constructing path cover) path_t * suffix; Node (); void init(bool b, RuleOp *r, const std::vector > &arcs); ~Node (); bool end () const; void calc_dist (); void calc_reachable (); template void cover (path_t & prefix, FILE * input, FILE * keys, covers_t &size); void naked_ways (way_t & prefix, std::vector & ways, nakeds_t &size); FORBID_COPY (Node); }; struct Skeleton { const std::string name; const std::string cond; const uint32_t line; const size_t nodes_count; Node * nodes; size_t sizeof_key; rules_t rules; Skeleton ( const dfa_t &dfa , const charset_t &cs , const rules_t & rs , const std::string &dfa_name , const std::string &dfa_cond , uint32_t dfa_line ); ~Skeleton (); void warn_undefined_control_flow (); void warn_unreachable_rules (); void warn_match_empty (); void emit_data (const char * fname); static void emit_prolog (OutputFile & o); void emit_start ( OutputFile & o , size_t maxfill , bool backup , bool backupctx , bool accept ) const; void emit_end ( OutputFile & o , bool backup , bool backupctx ) const; static void emit_epilog (OutputFile & o, const std::set & names); void emit_action (OutputFile & o, uint32_t ind, rule_rank_t rank) const; template static key_t rule2key (rule_rank_t r); uint32_t rule2key (rule_rank_t r) const; private: template void generate_paths_cunit_key (FILE * input, FILE * keys); template void generate_paths_cunit (FILE * input, FILE * keys); void generate_paths (FILE * input, FILE * keys); FORBID_COPY (Skeleton); }; template key_t Skeleton::rule2key (rule_rank_t r) { if (r.is_none()) { return std::numeric_limits::max(); } else if (r.is_def()) { key_t k = std::numeric_limits::max(); return --k; } else { return static_cast(r.uint32()); } } } // namespace re2c #endif // _RE2C_IR_SKELETON_SKELETON_ re2c-0.16/src/ir/skeleton/path.h0000644000175000017500000000305312650133303013343 00000000000000#ifndef _RE2C_IR_SKELETON_PATH_ #define _RE2C_IR_SKELETON_PATH_ #include #include "src/ir/rule_rank.h" #include "src/util/c99_stdint.h" namespace re2c { struct rule_t { rule_rank_t rank; bool restorectx; rule_t (rule_rank_t r, bool c) : rank (r) , restorectx (c) {} // needed by STL containers // same as 'std::pair' comparator bool operator < (const rule_t & r) const { return rank < r.rank || (!(r.rank < rank) && restorectx < r.restorectx); } }; class path_t { public: typedef std::vector arc_t; private: std::vector arcs; rule_t rule; size_t rule_pos; bool ctx; size_t ctx_pos; public: explicit path_t (rule_t r, bool c) : arcs () , rule (r) , rule_pos (0) , ctx (c) , ctx_pos (0) {} size_t len () const { return arcs.size (); } size_t len_matching () const { return rule.restorectx ? ctx_pos : rule_pos; } rule_rank_t match () const { return rule.rank; } const arc_t * operator [] (size_t i) const { return arcs[i]; } void extend (rule_t r, bool c, const arc_t * a) { arcs.push_back (a); if (!r.rank.is_none ()) { rule = r; rule_pos = arcs.size (); } if (c) { ctx = true; ctx_pos = arcs.size (); } } void append (const path_t * p) { if (!p->rule.rank.is_none ()) { rule = p->rule; rule_pos = arcs.size () + p->rule_pos; } if (p->ctx) { ctx = true; ctx_pos = arcs.size () + p->ctx_pos; } arcs.insert (arcs.end (), p->arcs.begin (), p->arcs.end ()); } }; } // namespace re2c #endif // _RE2C_IR_SKELETON_PATH_ re2c-0.16/src/ir/skeleton/match_empty.cc0000644000175000017500000000176312650133303015065 00000000000000#include #include #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/path.h" #include "src/ir/skeleton/skeleton.h" #include "src/parse/rules.h" namespace re2c { void Skeleton::warn_match_empty () { Node & head = nodes[0]; head.calc_reachable (); const std::set & reach = head.reachable; // warn about rules that match empty string if (!head.rule.rank.is_none ()) { bool reachable = head.end (); for (std::set::const_iterator i = reach.begin (); !reachable && i != reach.end (); ++i) { reachable |= i->rank.is_none (); } if (reachable) { warn.match_empty_string (rules[head.rule.rank].line); } } // warn about rules that match empty string with nonempty trailing context if (head.ctx) { for (std::set::const_iterator i = reach.begin (); i != reach.end (); ++i) { if (i->restorectx) { warn.match_empty_string (rules[i->rank].line); } } } } } // namespace re2c re2c-0.16/src/ir/skeleton/unreachable.cc0000644000175000017500000000330012650133303015011 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/path.h" #include "src/ir/skeleton/skeleton.h" #include "src/parse/rules.h" namespace re2c { void Node::calc_reachable () { if (!reachable.empty ()) { return; } else if (end ()) { reachable.insert (rule); } else if (loop < 2) { local_inc _ (loop); for (arcs_t::iterator i = arcs.begin (); i != arcs.end (); ++i) { i->first->calc_reachable (); reachable.insert (i->first->reachable.begin (), i->first->reachable.end ()); } } } void Skeleton::warn_unreachable_rules () { nodes->calc_reachable (); for (uint32_t i = 0; i < nodes_count; ++i) { const rule_rank_t r1 = nodes[i].rule.rank; const std::set & rs = nodes[i].reachable; for (std::set::const_iterator j = rs.begin (); j != rs.end (); ++j) { const rule_rank_t r2 = j->rank; if (r1 == r2 || r2.is_none ()) { rules[r1].reachable = true; } else { rules[r1].shadow.insert (r2); } } } // warn about unreachable rules: // - rules that are shadowed by other rules, e.g. rule '[a]' is shadowed by '[a] [^]' // - infinite rules that consume infinitely many characters and fail on YYFILL, e.g. '[^]*' // - rules that contain never-matching link, e.g. '[]' with option '--empty-class match-none' // default rule '*' should not be reported for (rules_t::const_iterator i = rules.begin (); i != rules.end (); ++i) { const rule_rank_t r = i->first; if (!r.is_none () && !r.is_def () && !rules[r].reachable) { warn.unreachable_rule (cond, i->second, rules); } } } } // namespace re2c re2c-0.16/src/ir/skeleton/skeleton.cc0000644000175000017500000000660312650133301014373 00000000000000#include #include #include #include "src/codegen/go.h" #include "src/conf/msg.h" #include "src/ir/dfa/dfa.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_rule.h" #include "src/ir/skeleton/skeleton.h" namespace re2c { Node::Node () : arcs () , arcsets () , loop (0) , rule (rule_rank_t::none (), false) , ctx (false) , dist (DIST_ERROR) , reachable () , suffix (NULL) {} void Node::init(bool c, RuleOp *r, const std::vector > &a) { if (r) { rule.rank = r->rank; rule.restorectx = r->ctx->fixedLength () != 0; } ctx = c; uint32_t lb = 0; std::vector >::const_iterator i = a.begin(), e = a.end(); for (; i != e; ++i) { Node *n = i->first; const uint32_t ub = i->second - 1; // pick at most 0x100 unique edges from this range // (for 1-byte code units this covers the whole range: [0 - 0xFF]) // - range bounds must be included // - values should be evenly distributed // - values should be deterministic const uint32_t step = 1 + (ub - lb) / 0x100; for (uint32_t c = lb; c < ub; c += step) { arcs[n].push_back (c); } arcs[n].push_back (ub); arcsets[n].push_back (std::make_pair (lb, ub)); lb = ub + 1; } } Node::~Node () { delete suffix; } bool Node::end () const { return arcs.size () == 0; } Skeleton::Skeleton ( const dfa_t &dfa , const charset_t &cs , const rules_t &rs , const std::string &dfa_name , const std::string &dfa_cond , uint32_t dfa_line ) : name (dfa_name) , cond (dfa_cond) , line (dfa_line) , nodes_count (dfa.states.size()) , nodes (new Node [nodes_count + 1]) // +1 for default state , sizeof_key (4) , rules (rs) { const size_t nc = cs.size() - 1; // initialize skeleton nodes Node *nil = &nodes[nodes_count]; for (size_t i = 0; i < nodes_count; ++i) { dfa_state_t *s = dfa.states[i]; std::vector > arcs; for (size_t c = 0; c < nc;) { const size_t j = s->arcs[c]; for (;++c < nc && s->arcs[c] == j;); Node *to = j == dfa_t::NIL ? nil : &nodes[j]; arcs.push_back(std::make_pair(to, cs[c])); } // all arcs go to default node => this node is final, drop arcs if (arcs.size() == 1 && arcs[0].first == nil) { arcs.clear(); } nodes[i].init(s->ctx, s->rule, arcs); } // calculate maximal path length, check overflow nodes->calc_dist (); const uint32_t maxlen = nodes->dist; if (maxlen == Node::DIST_MAX) { error ("DFA path %sis too long", incond (cond).c_str ()); exit (1); } // calculate maximal rule rank (disregarding default and none rules) uint32_t maxrule = 0; for (uint32_t i = 0; i < nodes_count; ++i) { const rule_rank_t r = nodes[i].rule.rank; if (!r.is_none () && !r.is_def ()) { maxrule = std::max (maxrule, r.uint32 ()); } } // two upper values reserved for default and none rules) maxrule += 2; // initialize size of key const uint32_t max = std::max (maxlen, maxrule); if (max <= std::numeric_limits::max()) { sizeof_key = 1; } else if (max <= std::numeric_limits::max()) { sizeof_key = 2; } } Skeleton::~Skeleton () { delete [] nodes; } uint32_t Skeleton::rule2key (rule_rank_t r) const { switch (sizeof_key) { default: // shouldn't happen case 4: return rule2key (r); case 2: return rule2key (r); case 1: return rule2key (r); } } } // namespace re2c re2c-0.16/src/ir/skeleton/maxlen.cc0000644000175000017500000000165212650133303014034 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include #include "src/ir/skeleton/skeleton.h" namespace re2c { // 0 < DIST_MAX < DIST_ERROR <= std::numeric_limits::max() const uint32_t Node::DIST_ERROR = std::numeric_limits::max(); const uint32_t Node::DIST_MAX = DIST_ERROR - 1; // different from YYMAXFILL calculation // in the way it handles loops and empty regexp void Node::calc_dist () { if (dist != DIST_ERROR) { return; } else if (end ()) { dist = 0; } else if (loop < 2) { local_inc _ (loop); for (arcs_t::iterator i = arcs.begin (); i != arcs.end (); ++i) { i->first->calc_dist (); if (i->first->dist != DIST_ERROR) { if (dist == DIST_ERROR) { dist = i->first->dist; } else { dist = std::max (dist, i->first->dist); } } } dist = std::min (dist + 1, DIST_MAX); } } } // namespace re2c re2c-0.16/src/ir/skeleton/generate_code.cc0000644000175000017500000002431212650133303015332 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include #include "src/codegen/bitmap.h" #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/skeleton.h" namespace re2c { static void exact_uint (OutputFile & o, size_t width) { if (width == sizeof (char)) { o.ws("unsigned char"); } else if (width == sizeof (short)) { o.ws("unsigned short"); } else if (width == sizeof (int)) { o.ws("unsigned int"); } else if (width == sizeof (long)) { o.ws("unsigned long"); } else { o.ws("uint").wu64 (width * 8).ws("_t"); } } static void from_le(OutputFile &o, uint32_t ind, size_t size, const char *expr) { o.ws("\n").wind(ind).ws("/* from little-endian to host-endian */"); o.ws("\n").wind(ind).ws("unsigned char *p = (unsigned char*)&").ws(expr).ws(";"); o.ws("\n").wind(ind).ws(expr).ws(" = p[0]"); for (uint32_t i = 1; i < size; ++i) { o.ws(" + (p[").wu32(i).ws("] << ").wu32(i * 8).ws("u)"); } o.ws(";"); } void Skeleton::emit_prolog (OutputFile & o) { o.ws("\n#include "); o.ws("\n#include /* malloc, free */"); o.ws("\n"); o.ws("\nstatic void *read_file"); o.ws("\n").wind(1).ws("( const char *fname"); o.ws("\n").wind(1).ws(", size_t unit"); o.ws("\n").wind(1).ws(", size_t padding"); o.ws("\n").wind(1).ws(", size_t *pfsize"); o.ws("\n").wind(1).ws(")"); o.ws("\n{"); o.ws("\n").wind(1).ws("void *buffer = NULL;"); o.ws("\n").wind(1).ws("size_t fsize = 0;"); o.ws("\n"); o.ws("\n").wind(1).ws("/* open file */"); o.ws("\n").wind(1).ws("FILE *f = fopen(fname, \"rb\");"); o.ws("\n").wind(1).ws("if(f == NULL) {"); o.ws("\n").wind(2).ws("goto error;"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); o.ws("\n").wind(1).ws("/* get file size */"); o.ws("\n").wind(1).ws("fseek(f, 0, SEEK_END);"); o.ws("\n").wind(1).ws("fsize = (size_t) ftell(f) / unit;"); o.ws("\n").wind(1).ws("fseek(f, 0, SEEK_SET);"); o.ws("\n"); o.ws("\n").wind(1).ws("/* allocate memory for file and padding */"); o.ws("\n").wind(1).ws("buffer = malloc(unit * (fsize + padding));"); o.ws("\n").wind(1).ws("if (buffer == NULL) {"); o.ws("\n").wind(2).ws("goto error;"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); o.ws("\n").wind(1).ws("/* read the whole file in memory */"); o.ws("\n").wind(1).ws("if (fread(buffer, unit, fsize, f) != fsize) {"); o.ws("\n").wind(2).ws("goto error;"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); o.ws("\n").wind(1).ws("fclose(f);"); o.ws("\n").wind(1).ws("*pfsize = fsize;"); o.ws("\n").wind(1).ws("return buffer;"); o.ws("\n"); o.ws("\nerror:"); o.ws("\n").wind(1).ws("fprintf(stderr, \"error: cannot read file '%s'\\n\", fname);"); o.ws("\n").wind(1).ws("free(buffer);"); o.ws("\n").wind(1).ws("if (f != NULL) {"); o.ws("\n").wind(2).ws("fclose(f);"); o.ws("\n").wind(1).ws("}"); o.ws("\n").wind(1).ws("return NULL;"); o.ws("\n}"); o.ws("\n"); } void Skeleton::emit_start ( OutputFile & o , size_t maxfill , bool backup , bool backupctx , bool accept ) const { const size_t sizeof_cunit = opts->encoding.szCodeUnit(); const uint32_t default_rule = rule2key (rule_rank_t::none ()); o.ws("\n#define YYCTYPE "); exact_uint (o, sizeof_cunit); o.ws("\n#define YYKEYTYPE "); exact_uint (o, sizeof_key); o.ws("\n#define YYPEEK() *cursor"); o.ws("\n#define YYSKIP() ++cursor"); if (backup) { o.ws("\n#define YYBACKUP() marker = cursor"); o.ws("\n#define YYRESTORE() cursor = marker"); } if (backupctx) { o.ws("\n#define YYBACKUPCTX() ctxmarker = cursor"); o.ws("\n#define YYRESTORECTX() cursor = ctxmarker"); } o.ws("\n#define YYLESSTHAN(n) (limit - cursor) < n"); o.ws("\n#define YYFILL(n) { break; }"); o.ws("\n"); o.ws("\nstatic int action_").wstring(name); o.ws("\n").wind(1).ws("( unsigned int i"); o.ws("\n").wind(1).ws(", const YYKEYTYPE *keys"); o.ws("\n").wind(1).ws(", const YYCTYPE *start"); o.ws("\n").wind(1).ws(", const YYCTYPE *token"); o.ws("\n").wind(1).ws(", const YYCTYPE **cursor"); o.ws("\n").wind(1).ws(", YYKEYTYPE rule_act"); o.ws("\n").wind(1).ws(")"); o.ws("\n{"); o.ws("\n").wind(1).ws("const long pos = token - start;"); o.ws("\n").wind(1).ws("const long len_act = *cursor - token;"); o.ws("\n").wind(1).ws("const long len_exp = (long) keys [3 * i + 1];"); o.ws("\n").wind(1).ws("const YYKEYTYPE rule_exp = keys [3 * i + 2];"); o.ws("\n").wind(1).ws("if (rule_exp == ").wu32(default_rule).ws(") {"); o.ws("\n").wind(2).ws("fprintf"); o.ws("\n").wind(3).ws("( stderr"); o.ws("\n").wind(3).ws(", \"warning: lex_").wstring(name).ws(": control flow is undefined for input\""); o.ws("\n").wind(4).ws("\" at position %ld, rerun re2c with '-W'\\n\""); o.ws("\n").wind(3).ws(", pos"); o.ws("\n").wind(3).ws(");"); o.ws("\n").wind(1).ws("}"); o.ws("\n").wind(1).ws("if (len_act == len_exp && rule_act == rule_exp) {"); o.ws("\n").wind(2).ws("const YYKEYTYPE offset = keys[3 * i];"); o.ws("\n").wind(2).ws("*cursor = token + offset;"); o.ws("\n").wind(2).ws("return 0;"); o.ws("\n").wind(1).ws("} else {"); o.ws("\n").wind(2).ws("fprintf"); o.ws("\n").wind(3).ws("( stderr"); o.ws("\n").wind(3).ws(", \"error: lex_").wstring(name).ws(": at position %ld (iteration %u):\\n\""); o.ws("\n").wind(4).ws("\"\\texpected: match length %ld, rule %u\\n\""); o.ws("\n").wind(4).ws("\"\\tactual: match length %ld, rule %u\\n\""); o.ws("\n").wind(3).ws(", pos"); o.ws("\n").wind(3).ws(", i"); o.ws("\n").wind(3).ws(", len_exp"); o.ws("\n").wind(3).ws(", rule_exp"); o.ws("\n").wind(3).ws(", len_act"); o.ws("\n").wind(3).ws(", rule_act"); o.ws("\n").wind(3).ws(");"); o.ws("\n").wind(2).ws("return 1;"); o.ws("\n").wind(1).ws("}"); o.ws("\n}"); o.ws("\n"); o.ws("\nint lex_").wstring(name).ws("()"); o.ws("\n{"); o.ws("\n").wind(1).ws("const size_t padding = ").wu64(maxfill).ws("; /* YYMAXFILL */"); o.ws("\n").wind(1).ws("int status = 0;"); o.ws("\n").wind(1).ws("size_t input_len = 0;"); o.ws("\n").wind(1).ws("size_t keys_count = 0;"); o.ws("\n").wind(1).ws("YYCTYPE *input = NULL;"); o.ws("\n").wind(1).ws("YYKEYTYPE *keys = NULL;"); o.ws("\n").wind(1).ws("const YYCTYPE *cursor = NULL;"); o.ws("\n").wind(1).ws("const YYCTYPE *limit = NULL;"); o.ws("\n").wind(1).ws("const YYCTYPE *token = NULL;"); o.ws("\n").wind(1).ws("const YYCTYPE *eof = NULL;"); o.ws("\n").wind(1).ws("unsigned int i = 0;"); o.ws("\n"); o.ws("\n").wind(1).ws("input = (YYCTYPE *) read_file"); o.ws("\n").wind(2).ws("(\"").wstring(o.file_name).ws(".").wstring(name).ws(".input\""); o.ws("\n").wind(2).ws(", sizeof (YYCTYPE)"); o.ws("\n").wind(2).ws(", padding"); o.ws("\n").wind(2).ws(", &input_len"); o.ws("\n").wind(2).ws(");"); o.ws("\n").wind(1).ws("if (input == NULL) {"); o.ws("\n").wind(2).ws("status = 1;"); o.ws("\n").wind(2).ws("goto end;"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); if (sizeof_cunit > 1) { o.ws("\n").wind(1).ws("for (i = 0; i < input_len; ++i) {"); from_le(o, 2, sizeof_cunit, "input[i]"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); } o.ws("\n").wind(1).ws("keys = (YYKEYTYPE *) read_file"); o.ws("\n").wind(2).ws("(\"").wstring(o.file_name).ws(".").wstring(name).ws(".keys\""); o.ws("\n").wind(2).ws(", 3 * sizeof (YYKEYTYPE)"); o.ws("\n").wind(2).ws(", 0"); o.ws("\n").wind(2).ws(", &keys_count"); o.ws("\n").wind(2).ws(");"); o.ws("\n").wind(1).ws("if (keys == NULL) {"); o.ws("\n").wind(2).ws("status = 1;"); o.ws("\n").wind(2).ws("goto end;"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); if (sizeof_key > 1) { o.ws("\n").wind(1).ws("for (i = 0; i < 3 * keys_count; ++i) {"); from_le(o, 2, sizeof_key, "keys[i]"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); } o.ws("\n").wind(1).ws("cursor = input;"); o.ws("\n").wind(1).ws("limit = input + input_len + padding;"); o.ws("\n").wind(1).ws("eof = input + input_len;"); o.ws("\n"); o.ws("\n").wind(1).ws("for (i = 0; status == 0 && i < keys_count; ++i) {"); o.ws("\n").wind(2).ws("token = cursor;"); if (backup) { o.ws("\n").wind(2).ws("const YYCTYPE *marker = NULL;"); } if (backupctx) { o.ws("\n").wind(2).ws("const YYCTYPE *ctxmarker = NULL;"); } o.ws("\n").wind(2).ws("YYCTYPE yych;"); if (accept) { o.ws("\n").wind(2).ws("unsigned int yyaccept = 0;"); } o.ws("\n"); if (opts->bFlag && BitMap::first) { BitMap::gen (o, 2, 0, std::min (0x100u, opts->encoding.nCodeUnits ())); } o.ws("\n"); } void Skeleton::emit_end ( OutputFile & o , bool backup , bool backupctx ) const { o.ws("\n").wind(1).ws("}"); o.ws("\n").wind(1).ws("if (status == 0) {"); o.ws("\n").wind(2).ws("if (cursor != eof) {"); o.ws("\n").wind(3).ws("status = 1;"); o.ws("\n").wind(3).ws("const long pos = token - input;"); o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": unused input strings left at position %ld\\n\", pos);"); o.ws("\n").wind(2).ws("}"); o.ws("\n").wind(2).ws("if (i != keys_count) {"); o.ws("\n").wind(3).ws("status = 1;"); o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": unused keys left after %u iterations\\n\", i);"); o.ws("\n").wind(2).ws("}"); o.ws("\n").wind(1).ws("}"); o.ws("\n"); o.ws("\nend:"); o.ws("\n").wind(1).ws("free(input);"); o.ws("\n").wind(1).ws("free(keys);"); o.ws("\n"); o.ws("\n").wind(1).ws("return status;"); o.ws("\n}"); o.ws("\n"); o.ws("\n#undef YYCTYPE"); o.ws("\n#undef YYKEYTYPE"); o.ws("\n#undef YYPEEK"); o.ws("\n#undef YYSKIP"); if (backup) { o.ws("\n#undef YYBACKUP"); o.ws("\n#undef YYRESTORE"); } if (backupctx) { o.ws("\n#undef YYBACKUPCTX"); o.ws("\n#undef YYRESTORECTX"); } o.ws("\n#undef YYLESSTHAN"); o.ws("\n#undef YYFILL"); o.ws("\n"); } void Skeleton::emit_epilog (OutputFile & o, const std::set & names) { o.ws("\n").ws("int main()"); o.ws("\n").ws("{"); for (std::set::const_iterator i = names.begin (); i != names.end (); ++i) { o.ws("\n").wind(1).ws("if(lex_").wstring(*i).ws("() != 0) {"); o.ws("\n").wind(2).ws("return 1;"); o.ws("\n").wind(1).ws("}"); } o.ws("\n").wind(1).ws("return 0;"); o.ws("\n}"); o.ws("\n"); } void Skeleton::emit_action (OutputFile & o, uint32_t ind, rule_rank_t rank) const { o.wind(ind).ws("status = action_").wstring(name).ws("(i, keys, input, token, &cursor, ").wu32(rule2key (rank)).ws(");\n"); o.wind(ind).ws("continue;\n"); } } // namespace re2c re2c-0.16/src/ir/compile.h0000644000175000017500000000053012650133303012210 00000000000000#ifndef _RE2C_IR_COMPILE_ #define _RE2C_IR_COMPILE_ #include "src/util/c99_stdint.h" #include #include "src/util/smart_ptr.h" namespace re2c { class DFA; struct Output; struct Spec; smart_ptr compile (Spec & spec, Output & output, const std::string & cond, uint32_t cunits); } // namespace re2c #endif // _RE2C_IR_COMPILE_ re2c-0.16/src/ir/compile.cc0000644000175000017500000000607512650133301012356 00000000000000#include #include #include #include "src/codegen/output.h" #include "src/ir/compile.h" #include "src/ir/adfa/adfa.h" #include "src/ir/dfa/dfa.h" #include "src/ir/nfa/nfa.h" #include "src/ir/regexp/regexp.h" #include "src/ir/skeleton/skeleton.h" #include "src/parse/spec.h" namespace re2c { static std::string make_name(const std::string &cond, uint32_t line) { std::ostringstream os; os << "line" << line; std::string name = os.str(); if (!cond.empty ()) { name += "_"; name += cond; } return name; } smart_ptr compile (Spec & spec, Output & output, const std::string & cond, uint32_t cunits) { const uint32_t line = output.source.get_block_line(); const std::string name = make_name(cond, line); // The original set of code units (charset) might be very large. // A common trick it is to split charset into disjoint character ranges // and choose a representative of each range (we choose lower bound). // The set of all representatives is the new (compacted) charset. // Don't forget to include zero and upper bound, even if they // do not explicitely apper in ranges. std::set bounds; spec.re->split(bounds); bounds.insert(0); bounds.insert(cunits); charset_t cs; for (std::set::const_iterator i = bounds.begin(); i != bounds.end(); ++i) { cs.push_back(*i); } nfa_t nfa(spec.re); dfa_t dfa(nfa, cs, spec.rules); // skeleton must be constructed after DFA construction // but prior to any other DFA transformations Skeleton *skeleton = new Skeleton(dfa, cs, spec.rules, name, cond, line); minimization(dfa); // find YYFILL states and calculate argument to YYFILL std::vector fill; fillpoints(dfa, fill); // ADFA stands for 'DFA with actions' DFA *adfa = new DFA(dfa, fill, skeleton, cs, name, cond, line); /* * note [reordering DFA states] * * re2c-generated code depends on the order of states in DFA: simply * flipping two states may change the output significantly. * The order of states is affected by many factors, e.g.: * - flipping left and right subtrees of alternative when constructing * AST (also applies to iteration and counted repetition) * - changing the order in which graph nodes are visited (applies to * any intermediate representation: bytecode, NFA, DFA, etc.) * * To make the resulting code independent of such changes, we hereby * reorder DFA states. The ordering scheme is very simple: * * Starting with DFA root, walk DFA nodes in breadth-first order. * Child nodes are ordered accoding to the (alphabetically) first symbol * leading to each node. Each node must be visited exactly once. * Default state (NULL) is always the last state. */ adfa->reorder(); // skeleton is constructed, do further DFA transformations adfa->prepare(); // finally gather overall DFA statistics adfa->calc_stats(); // accumulate global statistics from this particular DFA output.max_fill = std::max (output.max_fill, adfa->max_fill); if (adfa->need_accept) { output.source.set_used_yyaccept (); } return make_smart_ptr(adfa); } } // namespace re2c re2c-0.16/src/ir/rule_rank.h0000644000175000017500000000176212633273654012571 00000000000000#ifndef _RE2C_IR_RULE_RANK_ #define _RE2C_IR_RULE_RANK_ #include "src/util/c99_stdint.h" #include namespace re2c { template class counter_t; // rule rank public API: // - get rule rank corresponding to nonexistent/default rule // - check if rank corresponds to nonexistent/default rule // - compare ranks // - output rank to std::ostream // // rule rank private API (for rule rank counter): // - get first rank // - get next rank class rule_rank_t { static const uint32_t NONE; static const uint32_t DEF; uint32_t value; rule_rank_t (); void inc (); public: static rule_rank_t none (); static rule_rank_t def (); bool is_none () const; bool is_def () const; bool operator < (const rule_rank_t & r) const; bool operator == (const rule_rank_t & r) const; friend std::ostream & operator << (std::ostream & o, rule_rank_t r); uint32_t uint32 () const; friend class counter_t; }; } // namespace re2c #endif // _RE2C_IR_RULE_RANK_ re2c-0.16/src/ir/adfa/0000755000175000017500000000000012650133525011372 500000000000000re2c-0.16/src/ir/adfa/prepare.cc0000644000175000017500000001070412650133303013253 00000000000000#include "src/util/c99_stdint.h" #include #include #include "src/codegen/bitmap.h" #include "src/codegen/go.h" #include "src/globals.h" #include "src/ir/adfa/action.h" #include "src/ir/adfa/adfa.h" #include "src/ir/regexp/regexp_rule.h" #include "src/ir/rule_rank.h" #include "src/util/allocate.h" namespace re2c { void DFA::split(State *s) { State *move = new State; addState(move, s); move->action.set_move (); move->rule = s->rule; move->fill = s->fill; move->go = s->go; s->rule = NULL; s->go.nSpans = 1; s->go.span = allocate (1); s->go.span[0].ub = ubChar; s->go.span[0].to = move; } static uint32_t merge(Span *x0, State *fg, State *bg) { Span *x = x0, *f = fg->go.span, *b = bg->go.span; uint32_t nf = fg->go.nSpans, nb = bg->go.nSpans; State *prev = NULL, *to; // NB: we assume both spans are for same range for (;;) { if (f->ub == b->ub) { to = f->to == b->to ? bg : f->to; if (to == prev) { --x; } else { x->to = prev = to; } x->ub = f->ub; ++x; ++f; --nf; ++b; --nb; if (nf == 0 && nb == 0) { return static_cast (x - x0); } } while (f->ub < b->ub) { to = f->to == b->to ? bg : f->to; if (to == prev) { --x; } else { x->to = prev = to; } x->ub = f->ub; ++x; ++f; --nf; } while (b->ub < f->ub) { to = b->to == f->to ? bg : f->to; if (to == prev) { --x; } else { x->to = prev = to; } x->ub = b->ub; ++x; ++b; --nb; } } } void DFA::findBaseState() { Span *span = allocate (ubChar - lbChar); for (State *s = head; s; s = s->next) { if (s->fill == 0) { for (uint32_t i = 0; i < s->go.nSpans; ++i) { State *to = s->go.span[i].to; if (to->isBase) { to = to->go.span[0].to; uint32_t nSpans = merge(span, s, to); if (nSpans < s->go.nSpans) { operator delete (s->go.span); s->go.nSpans = nSpans; s->go.span = allocate (nSpans); memcpy(s->go.span, span, nSpans*sizeof(Span)); } break; } } } } operator delete (span); } void DFA::prepare () { bUsedYYBitmap = false; // create rule states std::map rules; for (State * s = head; s; s = s->next) { if (s->rule) { if (rules.find (s->rule->rank) == rules.end ()) { State *n = new State; n->action.set_rule (s->rule); rules[s->rule->rank] = n; addState(n, s); } for (uint32_t i = 0; i < s->go.nSpans; ++i) { if (!s->go.span[i].to) { s->go.span[i].to = rules[s->rule->rank]; } } } } // create default state (if needed) State * default_state = NULL; for (State * s = head; s; s = s->next) { for (uint32_t i = 0; i < s->go.nSpans; ++i) { if (!s->go.span[i].to) { if (!default_state) { default_state = new State; addState(default_state, s); } s->go.span[i].to = default_state; } } } // find backup states and create accept state (if needed) if (default_state) { for (State * s = head; s; s = s->next) { if (s->rule) { for (uint32_t i = 0; i < s->go.nSpans; ++i) { if (!s->go.span[i].to->rule && s->go.span[i].to->action.type != Action::RULE) { const uint32_t accept = static_cast (accepts.find_or_add (rules[s->rule->rank])); s->action.set_save (accept); } } } } default_state->action.set_accept (&accepts); } // split ``base'' states into two parts for (State * s = head; s; s = s->next) { s->isBase = false; if (s->fill != 0) { for (uint32_t i = 0; i < s->go.nSpans; ++i) { if (s->go.span[i].to == s) { s->isBase = true; split(s); if (opts->bFlag) { BitMap::find(&s->next->go, s); } s = s->next; break; } } } } // find ``base'' state, if possible findBaseState(); for (State * s = head; s; s = s->next) { s->go.init (s); } } void DFA::calc_stats () { // calculate 'YYMAXFILL' max_fill = 0; for (State * s = head; s; s = s->next) { if (max_fill < s->fill) { max_fill = s->fill; } } // determine if 'YYMARKER' or 'YYBACKUP'/'YYRESTORE' pair is used need_backup = accepts.size () > 0; // determine if 'YYCTXMARKER' or 'YYBACKUPCTX'/'YYRESTORECTX' pair is used for (State * s = head; s; s = s->next) { if (s->isPreCtxt) { need_backupctx = true; } } // determine if 'yyaccept' variable is used need_accept = accepts.size () > 1; } } // namespace re2c re2c-0.16/src/ir/adfa/adfa.h0000644000175000017500000000327312650133301012353 00000000000000#ifndef _RE2C_IR_ADFA_ADFA_ #define _RE2C_IR_ADFA_ADFA_ #include #include "src/util/c99_stdint.h" #include #include #include "src/codegen/go.h" #include "src/codegen/label.h" #include "src/ir/adfa/action.h" #include "src/ir/regexp/regexp.h" #include "src/util/forbid_copy.h" namespace re2c { struct Skeleton; struct Output; struct OutputFile; struct dfa_t; struct State { label_t label; RuleOp * rule; State * next; size_t fill; bool isPreCtxt; bool isBase; Go go; Action action; State () : label (label_t::first ()) , rule (NULL) , next (0) , fill (0) , isPreCtxt (false) , isBase (false) , go () , action () {} ~State () { operator delete (go.span); } FORBID_COPY (State); }; class DFA { accept_t accepts; Skeleton * skeleton; public: const std::string name; const std::string cond; const uint32_t line; uint32_t lbChar; uint32_t ubChar; uint32_t nStates; State * head; // statistics size_t max_fill; bool need_backup; bool need_backupctx; bool need_accept; public: DFA ( const dfa_t &dfa , const std::vector &fill , Skeleton *skel , const charset_t &charset , const std::string &n , const std::string &c , uint32_t l ); ~DFA (); void reorder(); void prepare(); void calc_stats(); void emit (Output &, uint32_t &, bool, bool &); private: void addState(State*, State *); void split (State *); void findBaseState (); void count_used_labels (std::set & used, label_t prolog, label_t start, bool force_start) const; void emit_body (OutputFile &, uint32_t &, const std::set & used_labels, label_t initial) const; FORBID_COPY (DFA); }; } // namespace re2c #endif // _RE2C_IR_ADFA_ADFA_ re2c-0.16/src/ir/adfa/action.h0000644000175000017500000000264212650133303012736 00000000000000#ifndef _RE2C_IR_ADFA_ACTION_ #define _RE2C_IR_ADFA_ACTION_ #include #include "src/codegen/label.h" #include "src/util/c99_stdint.h" #include "src/util/uniq_vector.h" namespace re2c { struct OutputFile; class RuleOp; class State; struct Initial { label_t label; bool setMarker; inline Initial (label_t l, bool b) : label (l) , setMarker (b) {} }; typedef uniq_vector_t accept_t; class Action { public: enum type_t { MATCH, INITIAL, SAVE, MOVE, ACCEPT, RULE } type; union { Initial * initial; uint32_t save; const accept_t * accepts; const RuleOp * rule; } info; public: inline Action () : type (MATCH) , info () {} ~Action () { clear (); } void set_initial (label_t label, bool used_marker) { clear (); type = INITIAL; info.initial = new Initial (label, used_marker); } void set_save (uint32_t save) { clear (); type = SAVE; info.save = save; } void set_move () { clear (); type = MOVE; } void set_accept (const accept_t * accepts) { clear (); type = ACCEPT; info.accepts = accepts; } void set_rule (const RuleOp * const rule) { clear (); type = RULE; info.rule = rule; } private: void clear () { switch (type) { case INITIAL: delete info.initial; break; case MATCH: case SAVE: case MOVE: case ACCEPT: case RULE: break; } } }; } // namespace re2c #endif // _RE2C_IR_ADFA_ACTION_ re2c-0.16/src/ir/adfa/adfa.cc0000644000175000017500000000417212650133301012510 00000000000000#include #include #include #include #include #include "src/codegen/go.h" #include "src/ir/adfa/adfa.h" #include "src/ir/dfa/dfa.h" #include "src/ir/skeleton/skeleton.h" #include "src/util/allocate.h" namespace re2c { DFA::DFA ( const dfa_t &dfa , const std::vector &fill , Skeleton *skel , const charset_t &charset , const std::string &n , const std::string &c , uint32_t l ) : accepts () , skeleton (skel) , name (n) , cond (c) , line (l) , lbChar(0) , ubChar(charset.back()) , nStates(0) , head(NULL) // statistics , max_fill (0) , need_backup (false) , need_backupctx (false) , need_accept (false) { const size_t nstates = dfa.states.size(); const size_t nchars = dfa.nchars; State **i2s = new State*[nstates]; for (size_t i = 0; i < nstates; ++i) { i2s[i] = new State; } State **p = &head; for (size_t i = 0; i < nstates; ++i) { dfa_state_t *t = dfa.states[i]; State *s = i2s[i]; ++nStates; *p = s; p = &s->next; s->isPreCtxt = t->ctx; s->rule = t->rule; s->fill = fill[i]; s->go.span = allocate(nchars); uint32_t j = 0; for (uint32_t c = 0; c < nchars; ++j) { const size_t to = t->arcs[c]; for (;++c < nchars && t->arcs[c] == to;); s->go.span[j].to = to == dfa_t::NIL ? NULL : i2s[to]; s->go.span[j].ub = charset[c]; } s->go.nSpans = j; } *p = NULL; delete[] i2s; } DFA::~DFA() { State *s; while ((s = head)) { head = s->next; delete s; } delete skeleton; } void DFA::reorder() { std::vector ord; ord.reserve(nStates); std::queue todo; todo.push(head); std::set done; done.insert(head); for(;!todo.empty();) { State *s = todo.front(); todo.pop(); ord.push_back(s); for(uint32_t i = 0; i < s->go.nSpans; ++i) { State *q = s->go.span[i].to; if(q && done.insert(q).second) { todo.push(q); } } } assert(nStates == ord.size()); ord.push_back(NULL); for(uint32_t i = 0; i < nStates; ++i) { ord[i]->next = ord[i + 1]; } } void DFA::addState(State *s, State *next) { ++nStates; s->next = next->next; next->next = s; } } // namespace re2c re2c-0.16/src/ir/nfa/0000755000175000017500000000000012650133525011243 500000000000000re2c-0.16/src/ir/nfa/nfa.h0000644000175000017500000000212512650133301012070 00000000000000#ifndef _RE2C_IR_NFA_NFA_ #define _RE2C_IR_NFA_NFA_ #include "src/util/c99_stdint.h" #include "src/util/forbid_copy.h" namespace re2c { struct Range; struct RegExp; struct RuleOp; struct nfa_state_t { enum type_t { ALT, RAN, CTX, FIN } type; union { struct { nfa_state_t *out1; nfa_state_t *out2; } alt; struct { nfa_state_t *out; Range *ran; } ran; struct { nfa_state_t *out; } ctx; struct { RuleOp *rule; } fin; } value; bool mark; void alt(nfa_state_t *s1, nfa_state_t *s2) { type = ALT; value.alt.out1 = s1; value.alt.out2 = s2; mark = false; } void ran(nfa_state_t *s, Range *r) { type = RAN; value.ran.out = s; value.ran.ran = r; mark = false; } void ctx(nfa_state_t *s) { type = CTX; value.ctx.out = s; mark = false; } void fin(RuleOp *r) { type = FIN; value.fin.rule = r; mark = false; } }; struct nfa_t { const uint32_t max_size; uint32_t size; nfa_state_t *states; nfa_state_t *root; nfa_t(RegExp *re); ~nfa_t(); FORBID_COPY(nfa_t); }; } // namespace re2c #endif // _RE2C_IR_NFA_NFA_ re2c-0.16/src/ir/nfa/split.cc0000644000175000017500000000162112650133301012615 00000000000000#include "src/util/c99_stdint.h" #include #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_alt.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_match.h" #include "src/ir/regexp/regexp_null.h" #include "src/ir/regexp/regexp_rule.h" #include "src/util/range.h" namespace re2c { void AltOp::split (std::set & cs) { exp1->split (cs); exp2->split (cs); } void CatOp::split (std::set & cs) { exp1->split (cs); exp2->split (cs); } void CloseOp::split (std::set & cs) { exp->split (cs); } void MatchOp::split (std::set & cs) { for (Range *r = match; r; r = r->next ()) { cs.insert (r->lower ()); cs.insert (r->upper ()); } } void NullOp::split (std::set &) {} void RuleOp::split (std::set & cs) { exp->split (cs); ctx->split (cs); } } // namespace re2c re2c-0.16/src/ir/nfa/nfa.cc0000644000175000017500000000273312650133301012233 00000000000000#include "src/ir/nfa/nfa.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_alt.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_match.h" #include "src/ir/regexp/regexp_null.h" #include "src/ir/regexp/regexp_rule.h" namespace re2c { nfa_t::nfa_t(RegExp *re) : max_size(re->calc_size()) , size(0) , states(new nfa_state_t[max_size]) , root(re->compile(*this, NULL)) {} nfa_t::~nfa_t() { delete[] states; } nfa_state_t *AltOp::compile(nfa_t &nfa, nfa_state_t *t) { nfa_state_t *s = &nfa.states[nfa.size++]; s->alt(exp1->compile(nfa, t), exp2->compile(nfa, t)); return s; } nfa_state_t *CatOp::compile(nfa_t &nfa, nfa_state_t *t) { nfa_state_t *s2 = exp2->compile(nfa, t); nfa_state_t *s1 = exp1->compile(nfa, s2); return s1; } nfa_state_t *CloseOp::compile(nfa_t &nfa, nfa_state_t *t) { nfa_state_t *s = &nfa.states[nfa.size++]; s->alt(t, exp->compile(nfa, s)); return s; } nfa_state_t *MatchOp::compile(nfa_t &nfa, nfa_state_t *t) { nfa_state_t *s = &nfa.states[nfa.size++]; s->ran(t, match); return s; } nfa_state_t *NullOp::compile(nfa_t &, nfa_state_t *t) { return t; } nfa_state_t *RuleOp::compile(nfa_t &nfa, nfa_state_t *) { nfa_state_t *s3 = &nfa.states[nfa.size++]; s3->fin(this); if (ctx->calc_size() > 0) { nfa_state_t *s2 = &nfa.states[nfa.size++]; s2->ctx(ctx->compile(nfa, s3)); s3 = s2; } nfa_state_t *s1 = exp->compile(nfa, s3); return s1; } } // namespace re2c re2c-0.16/src/ir/nfa/calc_size.cc0000644000175000017500000000150312650133301013415 00000000000000#include "src/util/c99_stdint.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_alt.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_match.h" #include "src/ir/regexp/regexp_null.h" #include "src/ir/regexp/regexp_rule.h" namespace re2c { uint32_t AltOp::calc_size() const { return exp1->calc_size() + exp2->calc_size() + 1; } uint32_t CatOp::calc_size() const { return exp1->calc_size() + exp2->calc_size(); } uint32_t CloseOp::calc_size() const { return exp->calc_size() + 1; } uint32_t MatchOp::calc_size() const { return 1; } uint32_t NullOp::calc_size() const { return 0; } uint32_t RuleOp::calc_size() const { const uint32_t n = ctx->calc_size(); return exp->calc_size() + (n > 0 ? n + 1 : 0) + 1; } } // end namespace re2c re2c-0.16/src/ir/rule_rank.cc0000644000175000017500000000173212633273654012724 00000000000000#include #include #include #include "src/ir/rule_rank.h" namespace re2c { const uint32_t rule_rank_t::NONE = std::numeric_limits::max(); const uint32_t rule_rank_t::DEF = rule_rank_t::NONE - 1; rule_rank_t::rule_rank_t () : value (0) {} void rule_rank_t::inc () { assert (value < DEF - 1); ++value; } rule_rank_t rule_rank_t::none () { rule_rank_t r; r.value = NONE; return r; } rule_rank_t rule_rank_t::def () { rule_rank_t r; r.value = DEF; return r; } bool rule_rank_t::is_none () const { return value == NONE; } bool rule_rank_t::is_def () const { return value == DEF; } bool rule_rank_t::operator < (const rule_rank_t & r) const { return value < r.value; } bool rule_rank_t::operator == (const rule_rank_t & r) const { return value == r.value; } std::ostream & operator << (std::ostream & o, rule_rank_t r) { o << r.value; return o; } uint32_t rule_rank_t::uint32 () const { return value; } } // namespace re2c re2c-0.16/src/parse/0000755000175000017500000000000012650133526011200 500000000000000re2c-0.16/src/parse/input.h0000644000175000017500000000051212633273654012436 00000000000000#ifndef _RE2C_PARSE_INPUT_ #define _RE2C_PARSE_INPUT_ #include #include #include "src/util/forbid_copy.h" namespace re2c { struct Input { FILE * file; std::string file_name; Input (const char * fn); ~Input (); bool open (); FORBID_COPY (Input); }; } // namespace re2c #endif // _RE2C_PARSE_INPUT_ re2c-0.16/src/parse/unescape.h0000644000175000017500000000043112633273654013102 00000000000000#ifndef _RE2C_PARSE_UNESCAPE_ #define _RE2C_PARSE_UNESCAPE_ #include "src/util/c99_stdint.h" namespace re2c { uint32_t unesc_hex (const char * s, const char * s_end); uint32_t unesc_oct (const char * s, const char * s_end); } // namespace re2c #endif // _RE2C_PARSE_UNESCAPE_ re2c-0.16/src/parse/unescape.cc0000644000175000017500000000206312633273654013243 00000000000000#include "src/parse/unescape.h" namespace re2c { // expected characters: [0-9a-zA-Z] static inline uint32_t hex_digit (const char c) { switch (c) { case '0': return 0; case '1': return 1; case '2': return 2; case '3': return 3; case '4': return 4; case '5': return 5; case '6': return 6; case '7': return 7; case '8': return 8; case '9': return 9; case 'a': case 'A': return 0xA; case 'b': case 'B': return 0xB; case 'c': case 'C': return 0xC; case 'd': case 'D': return 0xD; case 'e': case 'E': return 0xE; case 'f': case 'F': return 0xF; default: return ~0u; // unexpected } } // expected string format: "\" [xXuU] [0-9a-zA-Z]* uint32_t unesc_hex (const char * s, const char * s_end) { uint32_t n = 0; for (s += 2; s != s_end; ++s) { n <<= 4; n += hex_digit (*s); } return n; } // expected string format: "\" [0-7]* uint32_t unesc_oct (const char * s, const char * s_end) { uint32_t n = 0; for (++s; s != s_end; ++s) { n <<= 3; n += static_cast (*s - '0'); } return n; } } // namespace re2c re2c-0.16/src/parse/input.cc0000644000175000017500000000056212633273654012601 00000000000000#include "src/parse/input.h" namespace re2c { Input::Input (const char * fn) : file (NULL) , file_name (fn) {} bool Input::open () { if (file_name == "") { file = stdin; } else { file = fopen (file_name.c_str (), "rb"); } return file != NULL; } Input::~Input () { if (file != NULL && file != stdin) { fclose (file); } } } // namespace re2c re2c-0.16/src/parse/loc.h0000644000175000017500000000046512641503534012053 00000000000000#ifndef _RE2C_PARSE_LOC_ #define _RE2C_PARSE_LOC_ #include #include "src/util/c99_stdint.h" namespace re2c { struct Loc { std::string filename; uint32_t line; inline Loc (const std::string & f, uint32_t l) : filename (f) , line (l) {} }; } // namespace re2c #endif // _RE2C_PARSE_LOC_ re2c-0.16/src/parse/scanner.h0000644000175000017500000000526212633273654012737 00000000000000#ifndef _RE2C_PARSE_SCANNER_ #define _RE2C_PARSE_SCANNER_ #include "src/util/c99_stdint.h" #include #include #include "src/parse/input.h" #include "src/util/attribute.h" #include "src/util/forbid_copy.h" namespace re2c { class Range; class RegExp; struct OutputFile; struct ScannerState { enum lexer_state_t { LEX_NORMAL, LEX_FLEX_NAME }; // positioning char * tok; char * ptr; char * cur; char * pos; char * ctx; // buffer char * bot; char * lim; char * top; char * eof; ptrdiff_t tchar; uint32_t tline; uint32_t cline; bool in_parse; lexer_state_t lexer_state; ScannerState (); ScannerState (const ScannerState &); ScannerState & operator = (const ScannerState &); }; class Scanner: private ScannerState { static const uint32_t BSIZE; Input & in; public: OutputFile & out; private: void fill (uint32_t); void set_sourceline (); uint32_t lex_cls_chr(); uint32_t lex_str_chr(char quote, bool &end); RegExp *lex_cls(bool neg); RegExp *lex_str(char quote, bool casing); RegExp *schr(uint32_t c) const; RegExp *ichr(uint32_t c) const; RegExp *cls(Range *r) const; void lex_conf (); void lex_conf_assign (); void lex_conf_semicolon (); int32_t lex_conf_number (); std::string lex_conf_string (); size_t tok_len () const; public: Scanner(Input &, OutputFile &); ~Scanner(); enum ParseMode { Stop, Parse, Reuse, Rules }; ParseMode echo(); int scan(); void reuse(); void save_state(ScannerState&) const; void restore_state(const ScannerState&); uint32_t get_cline() const; uint32_t get_line() const; const std::string & get_fname () const; void set_in_parse(bool new_in_parse); void fatal_at(uint32_t line, ptrdiff_t ofs, const char *msg) const; void fatalf_at(uint32_t line, const char*, ...) const RE2C_GXX_ATTRIBUTE ((format (printf, 3, 4))); void fatalf(const char*, ...) const RE2C_GXX_ATTRIBUTE ((format (printf, 2, 3))); void fatal(const char*) const; void fatal(ptrdiff_t, const char*) const; RegExp * mkDiff (RegExp * e1, RegExp * e2) const; RegExp * mkDot () const; RegExp * mkDefault () const; FORBID_COPY (Scanner); }; inline size_t Scanner::tok_len () const { // lexing and fill procedures must maintain: token pointer <= cursor pointer return static_cast (cur - tok); } inline const std::string & Scanner::get_fname () const { return in.file_name; } inline uint32_t Scanner::get_cline() const { return cline; } inline uint32_t Scanner::get_line() const { return in_parse ? tline : cline; } inline void Scanner::save_state(ScannerState& state) const { state = *this; } inline void Scanner::fatal(const char *msg) const { fatal(0, msg); } } // end namespace re2c #endif // _RE2C_PARSE_SCANNER_ re2c-0.16/src/parse/lex_conf.re0000644000175000017500000001657012633273654013266 00000000000000#include "src/util/c99_stdint.h" #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/parse/scanner.h" #include "src/util/s_to_n32_unsafe.h" namespace re2c { // global re2c config (affects the whole file) /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = cur; re2c:define:YYLIMIT = lim; re2c:define:YYMARKER = ptr; re2c:define:YYCTXMARKER = ctx; re2c:define:YYFILL = fill; // source code is in ASCII: pointers have type 'char *' // but re2c makes an implicit assumption that YYCTYPE is unsigned // when it generates comparisons re2c:yych:conversion = 1; space = [ \t]; conf_assign = space* "=" space*; naked_char = . \ (space | [;]); naked = "" | (naked_char \ ['"]) naked_char*; number = "0" | ("-"? [1-9] [0-9]*); */ void Scanner::lex_conf () { tok = cur; /*!re2c * { fatal ((tok - pos) - tchar, "unrecognized configuration"); } "flags:" [ewxu8] { Enc::type_t enc = Enc::ASCII; switch (cur[-1]) { case 'e': enc = Enc::EBCDIC; break; case 'w': enc = Enc::UCS2; break; case 'x': enc = Enc::UTF16; break; case 'u': enc = Enc::UTF32; break; case '8': enc = Enc::UTF8; break; } const int32_t n = lex_conf_number (); if (n == 0) { opts.unset_encoding (enc); } else if (!opts.set_encoding (enc)) { fatalf ("Cannot set %s encoding: please reset %s encoding first" , Enc::name (enc) , Enc::name (opts->encoding.type ())); } return; } "define:YYCONDTYPE" { opts.set_yycondtype (lex_conf_string ()); return; } "define:YYGETCONDITION" { opts.set_cond_get (lex_conf_string ()); return; } "define:YYGETCONDITION:naked" { opts.set_cond_get_naked (lex_conf_number () != 0); return; } "define:YYSETCONDITION" { opts.set_cond_set (lex_conf_string ()); return; } "define:YYSETCONDITION@cond" { opts.set_cond_set_arg (lex_conf_string ()); return; } "define:YYSETCONDITION:naked" { opts.set_cond_set_naked (lex_conf_number () != 0); return; } "condprefix" { opts.set_condPrefix (lex_conf_string ()); return; } "condenumprefix" { opts.set_condEnumPrefix (lex_conf_string ()); return; } "cond:divider" { opts.set_condDivider (lex_conf_string ()); return; } "cond:divider@cond" { opts.set_condDividerParam (lex_conf_string ()); return; } "cond:goto" { opts.set_condGoto (lex_conf_string ()); return; } "cond:goto@cond" { opts.set_condGotoParam (lex_conf_string ()); return; } "variable:yyctable" { opts.set_yyctable (lex_conf_string ()); return; } "define:YYGETSTATE" { opts.set_state_get (lex_conf_string ()); return; } "define:YYGETSTATE:naked" { opts.set_state_get_naked (lex_conf_number () != 0); return; } "define:YYSETSTATE" { opts.set_state_set (lex_conf_string ()); return; } "define:YYSETSTATE:naked" { opts.set_state_set_naked (lex_conf_number () != 0); return; } "define:YYSETSTATE@state" { opts.set_state_set_arg (lex_conf_string ()); return; } "label:yyFillLabel" { opts.set_yyfilllabel (lex_conf_string ()); return; } "label:yyNext" { opts.set_yynext (lex_conf_string ()); return; } "state:abort" { opts.set_bUseStateAbort (lex_conf_number () != 0); return; } "state:nextlabel" { opts.set_bUseStateNext (lex_conf_number () != 0); return; } "variable:yyaccept" { opts.set_yyaccept (lex_conf_string ()); return; } "variable:yybm" { opts.set_yybm (lex_conf_string ()); return; } "yybm:hex" { opts.set_yybmHexTable (lex_conf_number () != 0); return; } "cgoto:threshold" { const int32_t n = lex_conf_number (); if (n < 0) { fatal ("configuration 'cgoto:threshold' must be nonnegative"); } opts.set_cGotoThreshold (static_cast (n)); return; } "variable:yytarget" { opts.set_yytarget (lex_conf_string ()); return; } "define:YYCURSOR" { opts.set_yycursor (lex_conf_string ()); return; } "define:YYMARKER" { opts.set_yymarker (lex_conf_string ()); return; } "define:YYCTXMARKER" { opts.set_yyctxmarker (lex_conf_string ()); return; } "define:YYLIMIT" { opts.set_yylimit (lex_conf_string ()); return; } "define:YYPEEK" { opts.set_yypeek (lex_conf_string ()); return; } "define:YYSKIP" { opts.set_yyskip (lex_conf_string ()); return; } "define:YYBACKUP" { opts.set_yybackup (lex_conf_string ()); return; } "define:YYBACKUPCTX" { opts.set_yybackupctx (lex_conf_string ()); return; } "define:YYRESTORE" { opts.set_yyrestore (lex_conf_string ()); return; } "define:YYRESTORECTX" { opts.set_yyrestorectx (lex_conf_string ()); return; } "define:YYLESSTHAN" { opts.set_yylessthan (lex_conf_string ()); return; } "indent:string" { opts.set_indString (lex_conf_string ()); return; } "indent:top" { const int32_t n = lex_conf_number (); if (n < 0) { fatal ("configuration 'indent:top' must be nonnegative"); } opts.set_topIndent (static_cast (n)); return; } "define:YYDEBUG" { opts.set_yydebug (lex_conf_string ()); return; } "define:YYCTYPE" { opts.set_yyctype (lex_conf_string ()); return; } "variable:yych" { opts.set_yych (lex_conf_string ()); return; } "yych:conversion" { opts.set_yychConversion (lex_conf_number () != 0); return; } "yych:emit" { opts.set_bEmitYYCh (lex_conf_number () != 0); return; } "define:YYFILL" { opts.set_fill (lex_conf_string ()); return; } "yyfill:enable" { opts.set_fill_use (lex_conf_number () != 0); return; } "define:YYFILL@len" { opts.set_fill_arg (lex_conf_string ()); return; } "yyfill:parameter" { opts.set_fill_arg_use (lex_conf_number () != 0); return; } "define:YYFILL:naked" { opts.set_fill_naked (lex_conf_number () != 0); return; } "yyfill:check" { opts.set_fill_check (lex_conf_number () != 0); return; } "labelprefix" { opts.set_labelPrefix (lex_conf_string ()); return; } // try to lex number first, otherwize it would be lexed as a naked string "startlabel" / conf_assign number { out.set_force_start_label (lex_conf_number () != 0); return; } "startlabel" { out.set_user_start_label (lex_conf_string ()); return; } // deprecated "variable:yystable" { lex_conf_string (); return; } */ } void Scanner::lex_conf_assign () { /*!re2c * { fatal ("missing '=' in configuration"); } conf_assign { return; } */ } void Scanner::lex_conf_semicolon () { /*!re2c * { fatal ("missing ending ';' in configuration"); } space* ";" { return; } */ } int32_t Scanner::lex_conf_number () { lex_conf_assign (); tok = cur; /*!re2c number { int32_t n = 0; if (!s_to_i32_unsafe (tok, cur, n)) { fatal ("configuration value overflow"); } lex_conf_semicolon (); return n; } */ } std::string Scanner::lex_conf_string () { lex_conf_assign (); std::string s; tok = cur; /*!re2c ['"] { const char quote = tok[0]; for (bool end;;) { const uint32_t c = lex_str_chr(quote, end); if (end) { goto end; } if (c > 0xFF) { fatalf ("multibyte character in configuration string: 0x%X", c); } else { s += static_cast(c); } } } naked { s = std::string(tok, tok_len()); goto end; } */ end: lex_conf_semicolon (); return s; } } // end namespace re2c re2c-0.16/src/parse/code.cc0000644000175000017500000000015412633273654012351 00000000000000#include "src/parse/code.h" namespace re2c { free_list Code::freelist; } // namespace re2c re2c-0.16/src/parse/lex.re0000644000175000017500000003401512633273654012253 00000000000000#include "src/util/c99_stdint.h" #include #include #include #include #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_null.h" #include "src/parse/code.h" #include "src/parse/extop.h" #include "src/parse/input.h" #include "src/parse/scanner.h" #include "src/parse/parser.h" // needed by "y.tab.h" #include "src/parse/unescape.h" #include "src/util/range.h" #include "src/util/s_to_n32_unsafe.h" #include "y.tab.h" extern YYSTYPE yylval; #define YYCTYPE unsigned char #define YYCURSOR cur #define YYLIMIT lim #define YYMARKER ptr #define YYCTXMARKER ctx #define YYFILL(n) { fill (n); } namespace re2c { // source code is in ASCII: pointers have type 'char *' // but re2c makes an implicit assumption that YYCTYPE is unsigned // when it generates comparisons /*!re2c re2c:yych:conversion = 1; */ /*!re2c zero = "\000"; dstring = "\"" ((. \ [\\"] ) | "\\" .)* "\""; sstring = "'" ((. \ [\\'] ) | "\\" .)* "'" ; letter = [a-zA-Z]; digit = [0-9]; lineno = [1-9] digit*; name = (letter|digit|"_")+; space = [ \t]; ws = (space | [\r\n]); eol = ("\r\n" | "\n"); lineinf = lineno (space+ dstring)? eol; esc = "\\"; hex_digit = [0-9a-fA-F]; esc_hex = esc ("x" hex_digit{2} | [uX] hex_digit{4} | "U" hex_digit{8}); esc_oct = esc [0-3] [0-7]{2}; // max 1-byte octal value is '\377' esc_simple = esc [abfnrtv\\]; */ Scanner::ParseMode Scanner::echo() { bool ignore_eoc = false; int ignore_cnt = 0; if (eof && cur == eof) // Catch EOF { return Stop; } tok = cur; echo: /*!re2c beginRE = "%{" | "/*!re2c"; beginRE { if (opts->rFlag) { fatal("found standard 're2c' block while using -r flag"); } if (opts->target == opt_t::CODE) { const size_t lexeme_len = cur[-1] == '{' ? sizeof ("%{") - 1 : sizeof ("/*!re2c") - 1; out.wraw(tok, tok_len () - lexeme_len); } tok = cur; return Parse; } "/*!rules:re2c" { if (opts->rFlag) { opts.reset_mapCodeName (); } else { fatal("found 'rules:re2c' block without -r flag"); } tok = cur; return Rules; } "/*!use:re2c" { if (!opts->rFlag) { fatal("found 'use:re2c' block without -r flag"); } reuse(); if (opts->target == opt_t::CODE) { const size_t lexeme_len = sizeof ("/*!use:re2c") - 1; out.wraw(tok, tok_len () - lexeme_len); } tok = cur; return Reuse; } "/*!max:re2c" { if (opts->target != opt_t::DOT) { out.wdelay_yymaxfill (); } tok = pos = cur; ignore_eoc = true; goto echo; } "/*!getstate:re2c" { tok = pos = cur; out.wdelay_state_goto (opts->topIndent); ignore_eoc = true; goto echo; } "/*!ignore:re2c" { tok = pos = cur; ignore_eoc = true; goto echo; } "/*!types:re2c" { tok = pos = cur; ignore_eoc = true; if (opts->target != opt_t::DOT) { out.wdelay_line_info ().ws("\n") .wdelay_types ().ws("\n") .wline_info (cline, get_fname ().c_str ()); } goto echo; } "*" "/" "\r"? "\n" { cline++; if (ignore_eoc) { if (ignore_cnt) { out.wline_info (cline, get_fname ().c_str ()); } ignore_eoc = false; ignore_cnt = 0; } else if (opts->target == opt_t::CODE) { out.wraw(tok, tok_len ()); } tok = pos = cur; goto echo; } "*" "/" { if (ignore_eoc) { if (ignore_cnt) { out.ws("\n").wline_info (cline, get_fname ().c_str ()); } ignore_eoc = false; ignore_cnt = 0; } else if (opts->target == opt_t::CODE) { out.wraw(tok, tok_len ()); } tok = pos = cur; goto echo; } "\n" space* "#" space* "line" space+ / lineinf { set_sourceline (); goto echo; } "\n" { if (ignore_eoc) { ignore_cnt++; } else if (opts->target == opt_t::CODE) { out.wraw(tok, tok_len ()); } tok = pos = cur; cline++; goto echo; } zero { if (!ignore_eoc && opts->target == opt_t::CODE) { out.wraw(tok, tok_len () - 1); // -1 so we don't write out the \0 } if(cur == eof) { return Stop; } } * { goto echo; } */ } int Scanner::scan() { uint32_t depth; scan: tchar = cur - pos; tline = cline; tok = cur; switch (lexer_state) { case LEX_NORMAL: goto start; case LEX_FLEX_NAME: goto flex_name; } start: /*!re2c "{" { depth = 1; goto code; } ":" / "=>" { return *tok; } ":=" { tok += 2; /* skip ":=" */ depth = 0; goto code; } "//" { goto nextLine; } "/*" { depth = 1; goto comment; } endRE = "%}" | "*/"; endRE { tok = cur; return 0; } "'" { yylval.regexp = lex_str('\'', opts->bCaseInsensitive || !opts->bCaseInverted); return TOKEN_REGEXP; } "\"" { yylval.regexp = lex_str('"', opts->bCaseInsensitive || opts->bCaseInverted); return TOKEN_REGEXP; } "[" { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; } "[^" { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; } "<>" / (space* ("{" | "=>" | ":=")) { return TOKEN_NOCOND; } ",()|=;/\\] { return *tok; } "*" { yylval.op = *tok; return TOKEN_STAR; } [+?] { yylval.op = *tok; return TOKEN_CLOSE; } "{" [0-9]+ "}" { if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.extop.min)) { fatal ("repetition count overflow"); } yylval.extop.max = yylval.extop.min; return TOKEN_CLOSESIZE; } "{" [0-9]+ "," [0-9]+ "}" { const char * p = strchr (tok, ','); if (!s_to_u32_unsafe (tok + 1, p, yylval.extop.min)) { fatal ("repetition lower bound overflow"); } if (!s_to_u32_unsafe (p + 1, cur - 1, yylval.extop.max)) { fatal ("repetition upper bound overflow"); } return TOKEN_CLOSESIZE; } "{" [0-9]+ ",}" { if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.extop.min)) { fatal ("repetition lower bound overflow"); } yylval.extop.max = std::numeric_limits::max(); return TOKEN_CLOSESIZE; } "{" [0-9]* "," { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } "{" name "}" { if (!opts->FFlag) { fatal("curly braces for names only allowed with -F switch"); } yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces return TOKEN_ID; } "re2c:" { lex_conf (); return TOKEN_CONF; } name / (space+ [^=>,]) { yylval.str = new std::string (tok, tok_len ()); if (opts->FFlag) { lexer_state = LEX_FLEX_NAME; return TOKEN_FID; } else { return TOKEN_ID; } } name / (space* [=>,]) { yylval.str = new std::string (tok, tok_len ()); return TOKEN_ID; } name / [^] { if (!opts->FFlag) { yylval.str = new std::string (tok, tok_len()); return TOKEN_ID; } else { RegExp *r = NULL; const bool casing = opts->bCaseInsensitive || opts->bCaseInverted; for (char *s = tok; s < cur; ++s) { const uint32_t c = static_cast(*s); r = doCat(r, casing ? ichr(c) : schr(c)); } yylval.regexp = r ? r : new NullOp; return TOKEN_REGEXP; } } "." { yylval.regexp = mkDot(); return TOKEN_REGEXP; } space+ { goto scan; } eol space* "#" space* "line" space+ / lineinf { set_sourceline (); goto scan; } eol { if (cur == eof) return 0; pos = cur; cline++; goto scan; } * { fatalf("unexpected character: '%c'", *tok); goto scan; } */ flex_name: /*!re2c eol { YYCURSOR = tok; lexer_state = LEX_NORMAL; return TOKEN_FID_END; } * { YYCURSOR = tok; goto start; } */ code: /*!re2c "}" { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else if (--depth == 0) { yylval.code = new Code (tok, tok_len (), get_fname (), tline); return TOKEN_CODE; } goto code; } "{" { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else { ++depth; } goto code; } "\n" space* "#" space* "line" space+ / lineinf { set_sourceline (); goto code; } "\n" / ws { if (depth == 0) { goto code; } else if (cur == eof) { fatal("missing '}'"); } pos = cur; cline++; goto code; } "\n" { if (depth == 0) { tok += strspn(tok, " \t\r\n"); while (cur > tok && strchr(" \t\r\n", cur[-1])) { --cur; } yylval.code = new Code (tok, tok_len (), get_fname (), tline); return TOKEN_CODE; } else if (cur == eof) { fatal("missing '}'"); } pos = cur; cline++; goto code; } zero { if (cur == eof) { if (depth) { fatal("missing '}'"); } return 0; } goto code; } dstring | sstring { goto code; } * { goto code; } */ comment: /*!re2c "*/" { if (--depth == 0) { goto scan; } else { goto comment; } } "/*" { ++depth; fatal("ambiguous /* found"); goto comment; } "\n" space* "#" space* "line" space+ / lineinf { set_sourceline (); goto comment; } "\n" { if (cur == eof) { return 0; } tok = pos = cur; cline++; goto comment; } * { if (cur == eof) { return 0; } goto comment; } */ nextLine: /*!re2c /* resync emacs */ "\n" { if(cur == eof) { return 0; } tok = pos = cur; cline++; goto scan; } * { if(cur == eof) { return 0; } goto nextLine; } */ } static void escape (std::string & dest, const std::string & src) { dest = src; size_t l = dest.length(); for (size_t p = 0; p < l; ++p) { if (dest[p] == '\\') { dest.insert(++p, "\\"); ++l; } } } RegExp *Scanner::lex_cls(bool neg) { Range *r = NULL, *s; uint32_t u, l; fst: /*!re2c "]" { goto end; } "" { l = lex_cls_chr(); goto snd; } */ snd: /*!re2c "" { u = l; goto add; } "-" / [^\]] { u = lex_cls_chr(); if (l > u) { warn.swapped_range(get_line(), l, u); std::swap(l, u); } goto add; } */ add: if (!(s = opts->encoding.encodeRange(l, u))) { fatalf ("Bad code point range: '0x%X - 0x%X'", l, u); } r = Range::add(r, s); goto fst; end: if (neg) { r = Range::sub(opts->encoding.fullRange(), r); } return cls(r); } uint32_t Scanner::lex_cls_chr() { tok = cur; /*!re2c * { fatal ((tok - pos) - tchar, "syntax error"); } esc [xXuU] { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); } esc [0-7] { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); } esc { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); } . \ esc { return static_cast(tok[0]); } esc_hex { return unesc_hex(tok, cur); } esc_oct { return unesc_oct(tok, cur); } esc "a" { return static_cast('\a'); } esc "b" { return static_cast('\b'); } esc "f" { return static_cast('\f'); } esc "n" { return static_cast('\n'); } esc "r" { return static_cast('\r'); } esc "t" { return static_cast('\t'); } esc "v" { return static_cast('\v'); } esc "\\" { return static_cast('\\'); } esc "-" { return static_cast('-'); } esc "]" { return static_cast(']'); } esc . { warn.useless_escape(tline, tok - pos, tok[1]); return static_cast(tok[1]); } */ } uint32_t Scanner::lex_str_chr(char quote, bool &end) { end = false; tok = cur; /*!re2c * { fatal ((tok - pos) - tchar, "syntax error"); } esc [xXuU] { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); } esc [0-7] { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); } esc { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); } . \ esc { end = tok[0] == quote; return static_cast(tok[0]); } esc_hex { return unesc_hex(tok, cur); } esc_oct { return unesc_oct(tok, cur); } esc "a" { return static_cast('\a'); } esc "b" { return static_cast('\b'); } esc "f" { return static_cast('\f'); } esc "n" { return static_cast('\n'); } esc "r" { return static_cast('\r'); } esc "t" { return static_cast('\t'); } esc "v" { return static_cast('\v'); } esc "\\" { return static_cast('\\'); } esc . { if (tok[1] != quote) { warn.useless_escape(tline, tok - pos, tok[1]); } return static_cast(tok[1]); } */ } RegExp *Scanner::lex_str(char quote, bool casing) { RegExp *r = NULL; for (bool end;;) { const uint32_t c = lex_str_chr(quote, end); if (end) { return r ? r : new NullOp; } r = doCat(r, casing ? ichr(c) : schr(c)); } } void Scanner::set_sourceline () { sourceline: tok = cur; /*!re2c lineno { if (!s_to_u32_unsafe (tok, cur, cline)) { fatal ("line number overflow"); } goto sourceline; } dstring { escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes goto sourceline; } "\n" { if (cur == eof) { --cur; } else { pos = cur; } tok = cur; return; } * { goto sourceline; } */ } } // end namespace re2c re2c-0.16/src/parse/spec.h0000644000175000017500000000135012650133301012211 00000000000000#ifndef _RE2C_PARSE_SPEC_ #define _RE2C_PARSE_SPEC_ #include "src/ir/regexp/regexp_rule.h" #include "src/parse/rules.h" namespace re2c { struct Spec { RegExp * re; rules_t rules; Spec () : re (NULL) , rules () {} Spec (const Spec & spec) : re (spec.re) , rules (spec.rules) {} Spec & operator = (const Spec & spec) { re = spec.re; rules = spec.rules; return *this; } bool add_def (RuleOp * r) { if (rules.find (rule_rank_t::def ()) != rules.end ()) { return false; } else { add (r); return true; } } void add (RuleOp * r) { rules[r->rank].line = r->loc.line; re = mkAlt (re, r); } void clear () { re = NULL; rules.clear (); } }; } // namespace re2c #endif // _RE2C_PARSE_SPEC_ re2c-0.16/src/parse/parser.ypp0000644000175000017500000003444212650133301013144 00000000000000%{ #include "src/util/c99_stdint.h" #include #include #include #include #include #include #include #include #include #include #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/ir/compile.h" #include "src/ir/adfa/adfa.h" #include "src/ir/regexp/encoding/enc.h" #include "src/ir/regexp/encoding/range_suffix.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_cat.h" #include "src/ir/regexp/regexp_close.h" #include "src/ir/regexp/regexp_null.h" #include "src/ir/regexp/regexp_rule.h" #include "src/ir/rule_rank.h" #include "src/ir/skeleton/skeleton.h" #include "src/parse/code.h" #include "src/parse/extop.h" #include "src/parse/loc.h" #include "src/parse/parser.h" #include "src/parse/scanner.h" #include "src/parse/spec.h" #include "src/util/counter.h" #include "src/util/free_list.h" #include "src/util/range.h" #include "src/util/smart_ptr.h" #define YYMALLOC malloc #define YYFREE free using namespace re2c; extern "C" { int yylex(); void yyerror(const char*); } static counter_t rank_counter; static std::vector condnames; static re2c::SpecMap specMap; static Spec spec; static RuleOp *specNone = NULL; static RuleOpList specStar; static RuleOp * star_default = NULL; static Scanner *in = NULL; static Scanner::ParseMode parseMode; static SetupMap ruleSetupMap; static bool foundRules; static symbol_table_t symbol_table; /* Bison version 1.875 emits a definition that is not working * with several g++ version. Hence we disable it here. */ #if defined(__GNUC__) #define __attribute__(x) #endif void context_check(CondList *clist) { if (!opts->cFlag) { delete clist; in->fatal("conditions are only allowed when using -c switch"); } } void context_none(CondList *clist) { delete clist; context_check(NULL); in->fatal("no expression specified"); } void context_rule ( CondList * clist , const Loc & loc , RegExp * expr , RegExp * look , const Code * code , const std::string * newcond ) { context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (specMap.find(*it) == specMap.end()) { condnames.push_back (*it); } RuleOp * rule = new RuleOp ( loc , expr , look , rank_counter.next () , code , newcond ); specMap[*it].add (rule); } delete clist; delete newcond; } void setup_rule(CondList *clist, const Code * code) { assert(clist); assert(code); context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (ruleSetupMap.find(*it) != ruleSetupMap.end()) { in->fatalf_at(code->loc.line, "code to setup rule '%s' is already defined", it->c_str()); } ruleSetupMap[*it] = std::make_pair(code->loc.line, code->text); } delete clist; } void default_rule(CondList *clist, const Code * code) { assert(clist); assert(code); context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { RuleOp * def = new RuleOp ( code->loc , in->mkDefault () , new NullOp , rule_rank_t::def () , code , NULL ); if (!specMap[*it].add_def (def)) { in->fatalf_at(code->loc.line, "code to default rule '%s' is already defined", it->c_str()); } } delete clist; } %} %start spec %union { re2c::RegExp * regexp; const re2c::Code * code; char op; re2c::ExtOp extop; std::string * str; re2c::CondList * clist; }; %token TOKEN_CLOSE %token TOKEN_CLOSESIZE %token TOKEN_CODE %token TOKEN_CONF %token TOKEN_ID %token TOKEN_FID %token TOKEN_FID_END %token TOKEN_NOCOND %token TOKEN_REGEXP %token TOKEN_SETUP %token TOKEN_STAR %type TOKEN_CLOSE TOKEN_STAR TOKEN_SETUP close %type TOKEN_CLOSESIZE %type TOKEN_CODE %type TOKEN_REGEXP rule look expr diff term factor primary %type TOKEN_ID TOKEN_FID newcond %type cond clist %% spec: /* empty */ { } | spec rule { foundRules = true; } | spec decl ; decl: TOKEN_ID '=' expr ';' { if (!symbol_table.insert (std::make_pair (* $1, $3)).second) { in->fatal("sym already defined"); } delete $1; } | TOKEN_FID expr TOKEN_FID_END { if (!symbol_table.insert (std::make_pair (* $1, $2)).second) { in->fatal("sym already defined"); } delete $1; } | TOKEN_ID '=' expr '/' { in->fatal("trailing contexts are not allowed in named definitions"); } | TOKEN_FID expr '/' { in->fatal("trailing contexts are not allowed in named definitions"); } | TOKEN_CONF {} ; rule: expr look TOKEN_CODE { if (opts->cFlag) { in->fatal("condition or '<*>' required when using -c switch"); } RuleOp * rule = new RuleOp ( $3->loc , $1 , $2 , rank_counter.next () , $3 , NULL ); spec.add (rule); } | TOKEN_STAR TOKEN_CODE /* default rule */ { if (opts->cFlag) in->fatal("condition or '<*>' required when using -c switch"); RuleOp * def = new RuleOp ( $2->loc , in->mkDefault () , new NullOp , rule_rank_t::def () , $2 , NULL ); if (!spec.add_def (def)) { in->fatal("code to default rule is already defined"); } } | '<' cond '>' expr look newcond TOKEN_CODE { context_rule ($2, $7->loc, $4, $5, $7, $6); } | '<' cond '>' expr look ':' newcond { assert($7); Loc loc (in->get_fname (), in->get_cline ()); context_rule ($2, loc, $4, $5, NULL, $7); } | '<' cond '>' look newcond TOKEN_CODE { context_none($2); delete $5; } | '<' cond '>' look ':' newcond { assert($6); context_none($2); delete $6; } | '<' cond '>' TOKEN_STAR TOKEN_CODE /* default rule for conditions */ { default_rule($2, $5); } | '<' TOKEN_STAR '>' expr look newcond TOKEN_CODE { context_check(NULL); RuleOp * rule = new RuleOp ( $7->loc , $4 , $5 , rank_counter.next () , $7 , $6 ); specStar.push_back (rule); delete $6; } | '<' TOKEN_STAR '>' expr look ':' newcond { assert($7); context_check(NULL); Loc loc (in->get_fname (), in->get_cline ()); RuleOp * rule = new RuleOp ( loc , $4 , $5 , rank_counter.next () , NULL , $7 ); specStar.push_back (rule); delete $7; } | '<' TOKEN_STAR '>' look newcond TOKEN_CODE { context_none(NULL); delete $5; } | '<' TOKEN_STAR '>' look ':' newcond { assert($6); context_none(NULL); delete $6; } | '<' TOKEN_STAR '>' TOKEN_STAR TOKEN_CODE /* default rule for all conditions */ { if (star_default) { in->fatal ("code to default rule '*' is already defined"); } star_default = new RuleOp ( $5->loc , in->mkDefault () , new NullOp , rule_rank_t::def () , $5 , NULL ); } | TOKEN_NOCOND newcond TOKEN_CODE { context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } $$ = specNone = new RuleOp ( $3->loc , new NullOp , new NullOp , rank_counter.next () , $3 , $2 ); delete $2; } | TOKEN_NOCOND ':' newcond { assert($3); context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Loc loc (in->get_fname (), in->get_cline ()); $$ = specNone = new RuleOp ( loc , new NullOp , new NullOp , rank_counter.next () , NULL , $3 ); delete $3; } | TOKEN_SETUP TOKEN_STAR '>' TOKEN_CODE { CondList *clist = new CondList(); clist->insert("*"); setup_rule(clist, $4); } | TOKEN_SETUP cond '>' TOKEN_CODE { setup_rule($2, $4); } ; cond: /* empty */ { in->fatal("unnamed condition not supported"); } | clist { $$ = $1; } ; clist: TOKEN_ID { $$ = new CondList(); $$->insert(* $1); delete $1; } | clist ',' TOKEN_ID { $1->insert(* $3); delete $3; $$ = $1; } ; newcond: /* empty */ { $$ = NULL; } | '=' '>' TOKEN_ID { $$ = $3; } ; look: /* empty */ { $$ = new NullOp; } | '/' expr { $$ = $2; } ; expr: diff { $$ = $1; } | expr '|' diff { $$ = mkAlt($1, $3); } ; diff: term { $$ = $1; } | diff '\\' term { $$ = in->mkDiff($1, $3); } ; term: factor { $$ = $1; } | term factor { $$ = new CatOp($1, $2); } ; factor: primary { $$ = $1; } | primary close { switch($2) { case '*': $$ = new CloseOp($1); break; case '+': $$ = new CatOp (new CloseOp($1), $1); break; case '?': $$ = mkAlt($1, new NullOp()); break; } } | primary TOKEN_CLOSESIZE { if ($2.max == std::numeric_limits::max()) { $$ = repeat_from ($1, $2.min); } else if ($2.min == $2.max) { $$ = repeat ($1, $2.min); } else { $$ = repeat_from_to ($1, $2.min, $2.max); } $$ = $$ ? $$ : new NullOp; } ; close: TOKEN_CLOSE { $$ = $1; } | TOKEN_STAR { $$ = $1; } | close TOKEN_CLOSE { $$ = ($1 == $2) ? $1 : '*'; } | close TOKEN_STAR { $$ = ($1 == $2) ? $1 : '*'; } ; primary: TOKEN_ID { symbol_table_t::iterator i = symbol_table.find (* $1); delete $1; if (i == symbol_table.end ()) { in->fatal("can't find symbol"); } $$ = i->second; } | TOKEN_REGEXP { $$ = $1; } | '(' expr ')' { $$ = $2; } ; %% extern "C" { void yyerror(const char* s) { in->fatal(s); } int yylex(){ return in ? in->scan() : 0; } } // end extern "C" namespace re2c { void parse(Scanner& i, Output & o) { std::map > dfa_map; ScannerState rules_state; in = &i; o.source.wversion_time () .wline_info (in->get_cline (), in->get_fname ().c_str ()); if (opts->target == opt_t::SKELETON) { Skeleton::emit_prolog (o.source); } Enc encodingOld = opts->encoding; while ((parseMode = i.echo()) != Scanner::Stop) { o.source.new_block (); bool bPrologBrace = false; ScannerState curr_state; i.save_state(curr_state); foundRules = false; if (opts->rFlag && parseMode == Scanner::Rules && dfa_map.size()) { in->fatal("cannot have a second 'rules:re2c' block"); } if (parseMode == Scanner::Reuse) { if (dfa_map.empty()) { in->fatal("got 'use:re2c' without 'rules:re2c'"); } } else if (parseMode == Scanner::Rules) { i.save_state(rules_state); } else { dfa_map.clear(); } rank_counter.reset (); spec.clear (); in->set_in_parse(true); yyparse(); in->set_in_parse(false); if (opts->rFlag && parseMode == Scanner::Reuse) { if (foundRules || opts->encoding != encodingOld) { // Re-parse rules parseMode = Scanner::Parse; i.restore_state(rules_state); i.reuse(); dfa_map.clear(); parse_cleanup(); spec.clear (); rank_counter.reset (); in->set_in_parse(true); yyparse(); in->set_in_parse(false); // Now append potential new rules i.restore_state(curr_state); parseMode = Scanner::Parse; in->set_in_parse(true); yyparse(); in->set_in_parse(false); } encodingOld = opts->encoding; } o.source.set_block_line (in->get_cline ()); uint32_t ind = opts->topIndent; if (opts->cFlag) { SpecMap::iterator it; SetupMap::const_iterator itRuleSetup; if (parseMode != Scanner::Reuse) { // <*> rules must have the lowest priority // now that all rules have been parsed, we can fix it for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { (*itOp)->rank = rank_counter.next (); } // merge <*> rules to all conditions for (it = specMap.begin(); it != specMap.end(); ++it) { for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { it->second.add (*itOp); } if (star_default) { it->second.add_def (star_default); } } if (specNone) { specMap["0"].add (specNone); // Note that "0" inserts first, which is important. condnames.insert (condnames.begin (), "0"); } o.types = condnames; } size_t nCount = specMap.size(); for (it = specMap.begin(); it != specMap.end(); ++it) { if (parseMode != Scanner::Reuse) { itRuleSetup = ruleSetupMap.find(it->first); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { yySetupRule = ""; } } dfa_map[it->first] = compile(it->second, o, it->first, opts->encoding.nCodeUnits ()); } if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end()) { dfa_map[it->first]->emit(o, ind, !--nCount, bPrologBrace); } } } else { if (spec.re || !dfa_map.empty()) { if (parseMode != Scanner::Reuse) { dfa_map[""] = compile(spec, o, "", opts->encoding.nCodeUnits ()); } if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end()) { dfa_map[""]->emit(o, ind, 0, bPrologBrace); } } } o.source.wline_info (in->get_cline (), in->get_fname ().c_str ()); /* restore original char handling mode*/ opts.reset_encoding (encodingOld); } if (opts->cFlag) { SetupMap::const_iterator itRuleSetup; for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup) { if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end()) { in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str()); } } if (specMap.size() < ruleSetupMap.size()) { uint32_t line = in->get_cline(); itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { line = itRuleSetup->second.first; } in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly"); } } if (opts->target == opt_t::SKELETON) { Skeleton::emit_epilog (o.source, o.skeletons); } parse_cleanup(); in = NULL; } void parse_cleanup() { RegExp::vFreeList.clear(); Range::vFreeList.clear(); RangeSuffix::freeList.clear(); Code::freelist.clear(); symbol_table.clear (); condnames.clear (); specMap.clear(); specStar.clear(); star_default = NULL; specNone = NULL; } } // end namespace re2c re2c-0.16/src/parse/extop.h0000644000175000017500000000032212633273654012435 00000000000000#ifndef _RE2C_PARSE_EXTOP_ #define _RE2C_PARSE_EXTOP_ #include "src/util/c99_stdint.h" namespace re2c { struct ExtOp { uint32_t min; uint32_t max; }; } // end namespace re2c #endif // _RE2C_PARSE_EXTOP_ re2c-0.16/src/parse/rules.h0000644000175000017500000000061512633273654012435 00000000000000#ifndef _RE2C_PARSE_RULES_ #define _RE2C_PARSE_RULES_ #include #include #include "src/ir/rule_rank.h" namespace re2c { struct rule_info_t { uint32_t line; std::set shadow; bool reachable; rule_info_t () : line (0) , shadow () , reachable (false) {} }; typedef std::map rules_t; } // namespace re2c #endif // _RE2C_PARSE_RULES_ re2c-0.16/src/parse/scanner.cc0000644000175000017500000000743112633273654013075 00000000000000#include #include #include #include #include #include #include "src/codegen/label.h" #include "src/codegen/output.h" #include "src/conf/opt.h" #include "src/globals.h" #include "src/parse/scanner.h" #include "src/util/counter.h" // used by Scanner::fatal_at and Scanner::fatalf #if defined(_MSC_VER) && !defined(vsnprintf) # define vsnprintf _vsnprintf #endif namespace re2c { const uint32_t Scanner::BSIZE = 8192; ScannerState::ScannerState () : tok (NULL) , ptr (NULL) , cur (NULL) , pos (NULL) , ctx (NULL) , bot (NULL) , lim (NULL) , top (NULL) , eof (NULL) , tchar (0) , tline (0) , cline (1) , in_parse (false) , lexer_state (LEX_NORMAL) {} ScannerState::ScannerState (const ScannerState & s) : tok (s.tok) , ptr (s.ptr) , cur (s.cur) , pos (s.pos) , ctx (s.ctx) , bot (s.bot) , lim (s.lim) , top (s.top) , eof (s.eof) , tchar (s.tchar) , tline (s.tline) , cline (s.cline) , in_parse (s.in_parse) , lexer_state (s.lexer_state) {} ScannerState & ScannerState::operator = (const ScannerState & s) { this->~ScannerState (); new (this) ScannerState (s); return * this; } Scanner::Scanner (Input & i, OutputFile & o) : ScannerState () , in (i) , out (o) {} void Scanner::fill (uint32_t need) { if(!eof) { /* Do not get rid of anything when rFlag is active. Otherwise * get rid of everything that was already handedout. */ if (!opts->rFlag) { const ptrdiff_t diff = tok - bot; if (diff > 0) { const size_t move = static_cast (top - tok); memmove (bot, tok, move); tok -= diff; ptr -= diff; cur -= diff; pos -= diff; lim -= diff; ctx -= diff; } } /* In crease buffer size. */ if (BSIZE > need) { need = BSIZE; } if (static_cast (top - lim) < need) { const size_t copy = static_cast (lim - bot); char * buf = new char[copy + need]; if (!buf) { fatal("Out of memory"); } memcpy (buf, bot, copy); tok = &buf[tok - bot]; ptr = &buf[ptr - bot]; cur = &buf[cur - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[need]; ctx = &buf[ctx - bot]; delete [] bot; bot = buf; } /* Append to buffer. */ const size_t have = fread (lim, 1, need, in.file); if (have != need) { eof = &lim[have]; *eof++ = '\0'; } lim += have; } } void Scanner::set_in_parse(bool new_in_parse) { in_parse = new_in_parse; } void Scanner::fatal_at(uint32_t line, ptrdiff_t ofs, const char *msg) const { std::cerr << "re2c: error: " << "line " << line << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } void Scanner::fatal(ptrdiff_t ofs, const char *msg) const { fatal_at(in_parse ? tline : cline, ofs, msg); } void Scanner::fatalf_at(uint32_t line, const char* fmt, ...) const { char szBuf[4096]; va_list args; va_start(args, fmt); vsnprintf(szBuf, sizeof(szBuf), fmt, args); va_end(args); szBuf[sizeof(szBuf)-1] = '0'; fatal_at(line, 0, szBuf); } void Scanner::fatalf(const char *fmt, ...) const { char szBuf[4096]; va_list args; va_start(args, fmt); vsnprintf(szBuf, sizeof(szBuf), fmt, args); va_end(args); szBuf[sizeof(szBuf)-1] = '0'; fatal(szBuf); } Scanner::~Scanner() { delete [] bot; } void Scanner::reuse() { out.label_counter.reset (); last_fill_index = 0; bWroteGetState = false; bWroteCondCheck = false; opts.reset_mapCodeName (); } void Scanner::restore_state(const ScannerState& state) { ptrdiff_t diff = bot - state.bot; char *old_bot = bot; char *old_lim = lim; char *old_top = top; char *old_eof = eof; *(ScannerState*)this = state; if (diff) { tok -= diff; ptr -= diff; cur -= diff; pos -= diff; ctx -= diff; bot = old_bot; lim = old_lim; top = old_top; eof = old_eof; } } } // namespace re2c re2c-0.16/src/parse/parser.h0000644000175000017500000000130412633273654012573 00000000000000#ifndef _RE2C_PARSE_PARSER_ #define _RE2C_PARSE_PARSER_ #include #include #include "src/codegen/output.h" #include "src/ir/regexp/regexp.h" #include "src/ir/regexp/regexp_rule.h" #include "src/parse/scanner.h" #include "src/parse/spec.h" namespace re2c { extern void parse(Scanner &, Output &); extern void parse_cleanup(); typedef std::set CondList; typedef std::list RuleOpList; typedef std::map SpecMap; typedef std::map > SetupMap; typedef std::map DefaultMap; typedef std::map symbol_table_t; } // namespace re2c #endif // _RE2C_PARSE_PARSER_ re2c-0.16/src/parse/code.h0000644000175000017500000000076512633273654012223 00000000000000#ifndef _RE2C_PARSE_CODE_ #define _RE2C_PARSE_CODE_ #include "src/util/c99_stdint.h" #include #include #include "src/parse/loc.h" #include "src/util/free_list.h" namespace re2c { struct Code { static free_list freelist; const Loc loc; const std::string text; inline Code (const char * t, size_t t_len, const std::string & f, uint32_t l) : loc (f, l) , text (t, t_len) { freelist.insert (this); } }; } // namespace re2c #endif // _RE2C_PARSE_CODE_ re2c-0.16/src/globals.h0000644000175000017500000000062712633273654011617 00000000000000#ifndef _RE2C_GLOBALS_ #define _RE2C_GLOBALS_ #include #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/util/c99_stdint.h" namespace re2c { extern bool bUsedYYBitmap; extern bool bWroteGetState; extern bool bWroteCondCheck; extern uint32_t last_fill_index; extern std::string yySetupRule; extern Opt opts; extern Warn warn; } // end namespace re2c #endif // _RE2C_GLOBALS_ re2c-0.16/src/test/0000755000175000017500000000000012650133525011044 500000000000000re2c-0.16/src/test/s_to_n32_unsafe/0000755000175000017500000000000012650133526014034 500000000000000re2c-0.16/src/test/s_to_n32_unsafe/test.cc0000644000175000017500000000415612633273654015260 00000000000000#include #include #include "src/util/s_to_n32_unsafe.h" namespace re2c_test { static const uint32_t DIGITS = 256; // writes string backwards and returns pointer to the start // no terminating null as we don't need it static char * u64_to_s_fastest_ever (uint64_t u, char * s) { while (u > 0) { const uint64_t d = u % 10 + '0'; *--s = static_cast (d); u /= 10; } return s; } static int32_t test_u (uint64_t i) { char s [DIGITS]; char * const s_end = s + DIGITS; char * const s_start = u64_to_s_fastest_ever (i, s_end); uint32_t u = i == 0; // not equal to i if (s_to_u32_unsafe (s_start, s_end, u) && u != i) { fprintf (stderr, "unsigned: expected: %lu, got: %u\n", i, u); return 1; } return 0; } static int32_t test_i (int64_t i) { char s [DIGITS]; char * const s_end = s + DIGITS; const uint64_t i_abs = i < 0 ? static_cast (-i) : static_cast (i); char * s_start = u64_to_s_fastest_ever (i_abs, s_end); if (i < 0) { *--s_start = '-'; } int32_t j = i == 0; // not equal to i if (s_to_i32_unsafe (s_start, s_end, j) && j != i) { fprintf (stderr, "signed: expected: %ld, got: %d\n", i, j); return 1; } return 0; } static int32_t test () { int32_t ok = 0; static const uint64_t UDELTA = 0xFFFF; // zero neighbourhood for (uint64_t i = 0; i <= UDELTA; ++i) { ok |= test_u (i); } // u32_max neighbourhood static const uint64_t u32_max = std::numeric_limits::max(); for (uint64_t i = u32_max - UDELTA; i <= u32_max + UDELTA; ++i) { ok |= test_u (i); } static const int64_t IDELTA = 0xFFFF; // i32_min neighbourhood static const int64_t i32_min = std::numeric_limits::min(); for (int64_t i = i32_min - IDELTA; i <= i32_min + IDELTA; ++i) { ok |= test_i (i); } // zero neighbourhood for (int64_t i = -IDELTA; i <= IDELTA; ++i) { ok |= test_i (i); } // i32_max neighbourhood static const int64_t i32_max = std::numeric_limits::max(); for (int64_t i = i32_max - IDELTA; i <= i32_max + IDELTA; ++i) { ok |= test_i (i); } return ok; } } // namespace re2c_test int main () { return re2c_test::test (); } re2c-0.16/src/test/range/0000755000175000017500000000000012650133526012141 500000000000000re2c-0.16/src/test/range/test.cc0000644000175000017500000000314312633273654013360 00000000000000#include #include "src/test/range/test.h" #include "src/test/range/test-impl.h" namespace re2c_test { static bool equal (const re2c::Range * r1, const re2c::Range * r2) { for (; r1 && r2; r1 = r1->next (), r2 = r2->next ()) { if (r1->lower () != r2->lower () || r1->upper () != r2->upper ()) { return false; } } return !r1 && !r2; } static void show (const re2c::Range * r) { if (!r) { fprintf (stderr, "[]"); } for (; r; r = r->next ()) { const uint32_t l = r->lower (); const uint32_t u = r->upper () - 1; if (l < u) { fprintf (stderr, "[%X-%X]", l, u); } else { fprintf (stderr, "[%X]", l); } } } static int32_t diff ( const re2c::Range * r1 , const re2c::Range * r2 , const re2c::Range * op1 , const re2c::Range * op2 , const char * op) { if (equal (op1, op2)) { return 0; } else { fprintf (stderr, "%s error: ", op); show (r1); fprintf (stderr, " %s ", op); show (r2); fprintf (stderr, " ====> "); show (op2); fprintf (stderr, " =/= "); show (op1); fprintf (stderr, "\n"); return 1; } } static int32_t test () { int32_t ok = 0; static const uint32_t BITS = 8; static const uint32_t N = 1u << BITS; for (uint32_t i = 0; i <= N; ++i) { for (uint32_t j = 0; j <= N; ++j) { re2c::Range * r1 = range (i); re2c::Range * r2 = range (j); ok |= diff (r1, r2, add (i, j), re2c::Range::add (r1, r2), "U"); ok |= diff (r1, r2, sub (i, j), re2c::Range::sub (r1, r2), "D"); re2c::Range::vFreeList.clear (); } } return ok; } } // namespace re2c_test int main () { return re2c_test::test (); } re2c-0.16/src/test/range/test.h0000644000175000017500000000147012633273654013223 00000000000000#ifndef _RE2C_TEST_RANGE_TEST_ #define _RE2C_TEST_RANGE_TEST_ #include "src/util/c99_stdint.h" namespace re2c { class Range; } namespace re2c_test { /* * If encoding has N code units (characters), character class can be * represented as an N-bit integer: k-th bit is set iff k-th character * belongs to the class. * * Addition and subtraction can be implemented trivially for such * integer representation of character classes: addition is simply * bitwise OR of two classes, subtraction is bitwise AND of the first * class and negated second class. */ template re2c::Range * range (uint32_t n); template re2c::Range * add (uint32_t n1, uint32_t n2); template re2c::Range * sub (uint32_t n1, uint32_t n2); } // namespace re2c_test #endif // _RE2C_TEST_RANGE_TEST_ re2c-0.16/src/test/range/test-impl.h0000644000175000017500000000170012633273654014156 00000000000000#ifndef _RE2C_TEST_RANGE_TEST_IMPL_ #define _RE2C_TEST_RANGE_TEST_IMPL_ #include "src/test/range/test.h" #include "src/util/range.h" #include "src/util/static_assert.h" namespace re2c_test { static inline bool bit_set (uint32_t n, uint32_t bit) { return n & (1u << bit); } template re2c::Range * range (uint32_t n) { RE2C_STATIC_ASSERT (BITS <= 31); re2c::Range * r = NULL; re2c::Range ** p = &r; for (uint32_t i = 0; i < BITS; ++i) { for (; i < BITS && !bit_set (n, i); ++i); if (i == BITS && !bit_set (n, BITS - 1)) { break; } const uint32_t lb = i; for (; i < BITS && bit_set (n, i); ++i); re2c::Range::append (p, lb, i); } return r; } template re2c::Range * add (uint32_t n1, uint32_t n2) { return range (n1 | n2); } template re2c::Range * sub (uint32_t n1, uint32_t n2) { return range (n1 & ~n2); } } // namespace re2c_test #endif // _RE2C_TEST_RANGE_TEST_IMPL_ re2c-0.16/src/main.cc0000644000175000017500000000232112633273654011247 00000000000000#include "src/util/c99_stdint.h" #include #include "src/codegen/output.h" #include "src/conf/msg.h" #include "src/conf/opt.h" #include "src/conf/warn.h" #include "src/globals.h" #include "src/parse/input.h" #include "src/parse/parser.h" #include "src/parse/scanner.h" namespace re2c { bool bUsedYYBitmap = false; bool bWroteGetState = false; bool bWroteCondCheck = false; uint32_t last_fill_index = 0; std::string yySetupRule = ""; } // end namespace re2c using namespace re2c; int main(int, char *argv[]) { switch (parse_opts (argv, opts)) { case OK: break; case EXIT_OK: return 0; case EXIT_FAIL: return 1; } // set up the source stream re2c::Input input (opts.source_file); if (!input.open ()) { error ("cannot open source file: %s", opts.source_file); return 1; } // set up the output streams re2c::Output output (opts.output_file, opts->header_file); if (!output.source.open ()) { error ("cannot open output file: %s", opts.output_file); return 1; } if (opts->tFlag && !output.header.open ()) { error ("cannot open header file: %s", opts->header_file); return 1; } Scanner scanner (input, output.source); parse (scanner, output); return warn.error () ? 1 : 0; } re2c-0.16/src/util/0000755000175000017500000000000012650133526011043 500000000000000re2c-0.16/src/util/free_list.h0000644000175000017500000000145512633273654013125 00000000000000#ifndef _RE2C_UTIL_FREE_LIST_ #define _RE2C_UTIL_FREE_LIST_ #include namespace re2c { template class free_list: protected std::set<_Ty> { public: typedef typename std::set<_Ty>::iterator iterator; typedef typename std::set<_Ty>::size_type size_type; typedef typename std::set<_Ty>::key_type key_type; free_list(): in_clear(false) { } using std::set<_Ty>::insert; size_type erase(const key_type& key) { if (!in_clear) { return std::set<_Ty>::erase(key); } return 0; } void clear() { in_clear = true; for(iterator it = this->begin(); it != this->end(); ++it) { delete *it; } std::set<_Ty>::clear(); in_clear = false; } ~free_list() { clear(); } protected: bool in_clear; }; } // end namespace re2c #endif // _RE2C_UTIL_FREE_LIST_ re2c-0.16/src/util/smart_ptr.h0000644000175000017500000000161212633273654013157 00000000000000#ifndef _RE2C_UTIL_SMART_PTR_ #define _RE2C_UTIL_SMART_PTR_ namespace re2c { template class smart_ptr { private: T* ptr; long* count; // shared number of owners public: explicit smart_ptr (T* p=0) : ptr(p), count(new long(1)) {} smart_ptr (const smart_ptr& p) throw() : ptr(p.ptr), count(p.count) { ++*count; } ~smart_ptr () { dispose(); } smart_ptr& operator= (const smart_ptr& p) { if (this != &p) { dispose(); ptr = p.ptr; count = p.count; ++*count; } return *this; } T& operator*() const { return *ptr; } T* operator->() const { return ptr; } private: void dispose() { if (--*count == 0) { delete count; delete ptr; } } }; template smart_ptr make_smart_ptr(T* p) { return smart_ptr(p); } } #endif // _RE2C_UTIL_SMART_PTR_ re2c-0.16/src/util/local_increment.h0000644000175000017500000000054312633273654014304 00000000000000#ifndef _RE2C_UTIL_LOCAL_INCREMENT_ #define _RE2C_UTIL_LOCAL_INCREMENT_ namespace re2c { template struct local_increment_t { counter_t & counter; inline explicit local_increment_t (counter_t & c) : counter (++c) {} inline ~local_increment_t () { --counter; } }; } // namespace re2c #endif // _RE2C_UTIL_LOCAL_INCREMENT_ re2c-0.16/src/util/range.cc0000644000175000017500000000304012633273654012373 00000000000000#include "src/util/range.h" namespace re2c { free_list Range::vFreeList; void Range::append_overlapping (Range * & head, Range * & tail, const Range * r) { if (!head) { head = Range::ran (r->lb, r->ub); tail = head; } else if (tail->ub < r->lb) { tail->nx = Range::ran (r->lb, r->ub); tail = tail->nx; } else if (tail->ub < r->ub) { tail->ub = r->ub; } } Range * Range::add (const Range * r1, const Range * r2) { Range * head = NULL; Range * tail = NULL; for (; r1 && r2;) { if (r1->lb < r2->lb) { append_overlapping (head, tail, r1); r1 = r1->nx; } else { append_overlapping (head, tail, r2); r2 = r2->nx; } } for (; r1; r1 = r1->nx) { append_overlapping (head, tail, r1); } for (; r2; r2 = r2->nx) { append_overlapping (head, tail, r2); } return head; } void Range::append (Range ** & ptail, uint32_t l, uint32_t u) { Range * & tail = * ptail; tail = Range::ran (l, u); ptail = &tail->nx; } Range * Range::sub (const Range * r1, const Range * r2) { Range * head = NULL; Range ** ptail = &head; while (r1) { if (!r2 || r2->lb >= r1->ub) { append (ptail, r1->lb, r1->ub); r1 = r1->nx; } else if (r2->ub <= r1->lb) { r2 = r2->nx; } else { if (r1->lb < r2->lb) { append (ptail, r1->lb, r2->lb); } while (r2 && r2->ub < r1->ub) { const uint32_t lb = r2->ub; r2 = r2->nx; const uint32_t ub = r2 && r2->lb < r1->ub ? r2->lb : r1->ub; append (ptail, lb, ub); } r1 = r1->nx; } } return head; } } // namespace re2c re2c-0.16/src/util/allocate.h0000644000175000017500000000067212633273654012735 00000000000000#ifndef _RE2C_UTIL_ALLOCATE_ #define _RE2C_UTIL_ALLOCATE_ #include // size_t namespace re2c { // useful fof allocation of arrays of POD objects // 'new []' invokes default constructor for each object // this can be unacceptable for performance reasons template T * allocate (size_t n) { void * p = operator new (n * sizeof (T)); return static_cast (p); } } // namespace re2c #endif // _RE2C_UTIL_ALLOCATE_ re2c-0.16/src/util/u32lim.h0000644000175000017500000000312012633273654012253 00000000000000#ifndef _RE2C_UTIL_U32LIM_ #define _RE2C_UTIL_U32LIM_ #include "src/util/c99_stdint.h" // uint32_t truncated to LIMIT // any overflow (either result of a binary operation // or conversion from another type) results in LIMIT // LIMIT is a fixpoint template class u32lim_t { uint32_t value; explicit u32lim_t (uint32_t x) : value (x < LIMIT ? x : LIMIT) {} explicit u32lim_t (uint64_t x) : value (x < LIMIT ? static_cast (x) : LIMIT) {} public: // implicit conversion is forbidden, because // operands should be converted before operation: // uint32_t x, y; ... u32lim_t z = x + y; // will result in 32-bit addition and may overflow // Don't export overloaded constructors: it breaks OS X builds // ('size_t' causes resolution ambiguity) static u32lim_t from32 (uint32_t x) { return u32lim_t(x); } static u32lim_t from64 (uint64_t x) { return u32lim_t(x); } static u32lim_t limit () { return u32lim_t (LIMIT); } uint32_t uint32 () const { return value; } bool overflow () const { return value == LIMIT; } friend u32lim_t operator + (u32lim_t x, u32lim_t y) { const uint64_t z = static_cast (x.value) + static_cast (y.value); return z < LIMIT ? u32lim_t (z) : u32lim_t (LIMIT); } friend u32lim_t operator * (u32lim_t x, u32lim_t y) { const uint64_t z = static_cast (x.value) * static_cast (y.value); return z < LIMIT ? u32lim_t (z) : u32lim_t (LIMIT); } friend bool operator < (u32lim_t x, u32lim_t y) { return x.value < y.value; } }; #endif // _RE2C_UTIL_U32LIM_ re2c-0.16/src/util/uniq_vector.h0000644000175000017500000000130012633273654013474 00000000000000#ifndef _RE2C_UTIL_UNIQ_VECTOR_ #define _RE2C_UTIL_UNIQ_VECTOR_ #include namespace re2c { // wrapper over std::vector // O(n) lookup // O(n) insertion template class uniq_vector_t { typedef std::vector elems_t; elems_t elems; public: uniq_vector_t () : elems () {} size_t size () const { return elems.size (); } const value_t & operator [] (size_t i) const { return elems[i]; } size_t find_or_add (const value_t & v) { const size_t size = elems.size (); for (size_t i = 0; i < size; ++i) { if (elems[i] == v) { return i; } } elems.push_back (v); return size; } }; } // namespace re2c #endif // _RE2C_UTIL_UNIQ_VECTOR_ re2c-0.16/src/util/c99_stdint.h0000644000175000017500000001773712633273654013154 00000000000000#ifndef _RE2C_UTIL_C99_STDINT_ #define _RE2C_UTIL_C99_STDINT_ #include "config.h" #if HAVE_STDINT_H # include #else // HAVE_STDINT_H // A humble attempt to provide C99 compliant // for environments that don't have it (e.g., MSVC 2003). // // First, we try to define exact-width integer types. We don't // rely on any particular environment: instead, we search for // a type of certain width in the following list: // char (C89) // short (C89) // int (C89) // long (C89) // long long (C99) // __int64 (MSVC-specific) // (we consider even insane possibilities for simplicity). // The size of each type is defined by autoconf in the form // of a macro SIZEOF_ (set to 0 for nonexistent types). // If we don't find a type with the required width, we don't // define the corresponding exact-width C99 type at all. // // We define other types and constants based on exact-width // types and C99 standard. // // We use SIZEOF_VOID_P to determine size of pointers. // // We use SIZEOF_0 to find suitable 64-bit integer // constant suffix. // C99-7.18.1.1 Exact-width integer types // int8_t, uint8_t #if SIZEOF_CHAR == 1 typedef signed char int8_t; typedef unsigned char uint8_t; #elif SIZEOF_SHORT == 1 typedef signed short int8_t; typedef unsigned short uint8_t; #elif SIZEOF_INT == 1 typedef signed int int8_t; typedef unsigned int uint8_t; #elif SIZEOF_LONG == 1 typedef signed long int8_t; typedef unsigned long uint8_t; #elif SIZEOF_LONG_LONG == 1 typedef signed long long int8_t; typedef unsigned long long uint8_t; #elif SIZEOF___INT64 == 1 typedef signed __int64 int8_t; typedef unsigned __int64 uint8_t; #endif // int16_t, uint16_t #if SIZEOF_CHAR == 2 typedef signed char int16_t; typedef unsigned char uint16_t; #elif SIZEOF_SHORT == 2 typedef signed short int16_t; typedef unsigned short uint16_t; #elif SIZEOF_INT == 2 typedef signed int int16_t; typedef unsigned int uint16_t; #elif SIZEOF_LONG == 2 typedef signed long int16_t; typedef unsigned long uint16_t; #elif SIZEOF_LONG_LONG == 2 typedef signed long long int16_t; typedef unsigned long long uint16_t; #elif SIZEOF___INT64 == 2 typedef signed __int64 int16_t; typedef unsigned __int64 uint16_t; #endif // int32_t, uint32_t #if SIZEOF_CHAR == 4 typedef signed char int32_t; typedef unsigned char uint32_t; #elif SIZEOF_SHORT == 4 typedef signed short int32_t; typedef unsigned short uint32_t; #elif SIZEOF_INT == 4 typedef signed int int32_t; typedef unsigned int uint32_t; #elif SIZEOF_LONG == 4 typedef signed long int32_t; typedef unsigned long uint32_t; #elif SIZEOF_LONG_LONG == 4 typedef signed long long int32_t; typedef unsigned long long uint32_t; #elif SIZEOF___INT64 == 4 typedef signed __int64 int32_t; typedef unsigned __int64 uint32_t; #endif // int64_t, uint64_t #if SIZEOF_CHAR == 8 typedef signed char int64_t; typedef unsigned char uint64_t; #elif SIZEOF_SHORT == 8 typedef signed short int64_t; typedef unsigned short uint64_t; #elif SIZEOF_INT == 8 typedef signed int int64_t; typedef unsigned int uint64_t; #elif SIZEOF_LONG == 8 typedef signed long int64_t; typedef unsigned long uint64_t; #elif SIZEOF_LONG_LONG == 8 typedef signed long long int64_t; typedef unsigned long long uint64_t; #elif SIZEOF___INT64 == 8 typedef signed __int64 int64_t; typedef unsigned __int64 uint64_t; #endif // C99-7.18.1.2 Minimum-width integer types typedef int8_t int_least8_t; typedef int16_t int_least16_t; typedef int32_t int_least32_t; typedef int64_t int_least64_t; typedef uint8_t uint_least8_t; typedef uint16_t uint_least16_t; typedef uint32_t uint_least32_t; typedef uint64_t uint_least64_t; // C99-7.18.1.3 Fastest minimum-width integer types typedef int8_t int_fast8_t; typedef int16_t int_fast16_t; typedef int32_t int_fast32_t; typedef int64_t int_fast64_t; typedef uint8_t uint_fast8_t; typedef uint16_t uint_fast16_t; typedef uint32_t uint_fast32_t; typedef uint64_t uint_fast64_t; // C99-7.18.1.4 Integer types capable of holding object pointers #if SIZEOF_VOID_P == 8 typedef int64_t intptr_t; typedef uint64_t uintptr_t; #else typedef int intptr_t; typedef unsigned int uintptr_t; #endif // C99-7.18.1.5 Greatest-width integer types typedef int64_t intmax_t; typedef uint64_t uintmax_t; #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // See footnote 220 at page 257 and footnote 221 at page 259 // C99-7.18.2.1 Limits of exact-width integer types #define INT8_MIN (-128) // -2^(8 - 1) #define INT8_MAX 127 // 2^(8 - 1) - 1 #define INT16_MIN (-32768) // -2^(16 - 1) #define INT16_MAX 32767 // 2^(16 - 1) - 1 #define INT32_MIN (-2147483648) // -2^(32 - 1) #define INT32_MAX 2147483647 // 2^(32 - 1) - 1 #define INT64_MIN (-9223372036854775808) // -2^(64 - 1) #define INT64_MAX 9223372036854775807 // 2^(64 - 1) - 1 #define UINT8_MAX 0xFF // 2^8 - 1 #define UINT16_MAX 0xFFFF // 2^16 - 1 #define UINT32_MAX 0xFFFFffff // 2^32 - 1 #define UINT64_MAX 0xFFFFffffFFFFffff // 2^64 - 1 // C99-7.18.2.2 Limits of minimum-width integer types #define INT_LEAST8_MIN INT8_MIN #define INT_LEAST8_MAX INT8_MAX #define INT_LEAST16_MIN INT16_MIN #define INT_LEAST16_MAX INT16_MAX #define INT_LEAST32_MIN INT32_MIN #define INT_LEAST32_MAX INT32_MAX #define INT_LEAST64_MIN INT64_MIN #define INT_LEAST64_MAX INT64_MAX #define UINT_LEAST8_MAX UINT8_MAX #define UINT_LEAST16_MAX UINT16_MAX #define UINT_LEAST32_MAX UINT32_MAX #define UINT_LEAST64_MAX UINT64_MAX // C99-7.18.2.3 Limits of fastest minimum-width integer types #define INT_FAST8_MIN INT8_MIN #define INT_FAST8_MAX INT8_MAX #define INT_FAST16_MIN INT16_MIN #define INT_FAST16_MAX INT16_MAX #define INT_FAST32_MIN INT32_MIN #define INT_FAST32_MAX INT32_MAX #define INT_FAST64_MIN INT64_MIN #define INT_FAST64_MAX INT64_MAX #define UINT_FAST8_MAX UINT8_MAX #define UINT_FAST16_MAX UINT16_MAX #define UINT_FAST32_MAX UINT32_MAX #define UINT_FAST64_MAX UINT64_MAX // C99-7.18.2.4 Limits of integer types capable of holding object pointers #define INTPTR_MIN (-32767) // -(2^15 - 1) #define INTPTR_MAX 32767 // 2^15 - 1 #define UINTPTR_MAX 0xFFFF // 2^16 - 1 // C99-7.18.2.5 Limits of greatest-width integer types #define INTMAX_MIN (-9223372036854775807) // -(2^63 - 1) #define INTMAX_MAX 9223372036854775807 // 2^63 - 1 #define UINTMAX_MAX 0xFFFFffffFFFFffff // 2^64 - 1 // C99-7.18.3 Limits of other integer types: // "An implementation shall define only the macros // corresponding to those typedef names it actually // provides" // and footnote 222 at page 259: // "A freestanding implementation need not provide // all of these types." // // Since we don't define corresponding types, we don't // define the following limits either: // PTRDIFF_MIN // PTRDIFF_MAX // SIG_ATOMIC_MIN // SIG_ATOMIC_MAX // SIZE_MAX // WCHAR_MIN // WCHAR_MAX // WINT_MIN // WINT_MAX #endif // __STDC_LIMIT_MACROS #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // See footnote 224 at page 260 // C99-7.18.4.1 Macros for minimum-width integer constants #define INT8_C(x) x #define UINT8_C(x) x##u #define INT16_C(x) x #define UINT16_C(x) x##u #define INT32_C(x) x #define UINT32_C(x) x##u #if SIZEOF_0L == 8 # define INT64_C(x) x##l # define UINT64_C(x) x##ul #elif SIZEOF_0LL == 8 # define INT64_C(x) x##ll # define UINT64_C(x) x##ull #elif SIZEOF_0I8 == 8 # define INT64_C(x) x##i8 # define UINT64_C(x) x##ui8 #else # define INT64_C(x) x # define UINT64_C(x) x##u #endif // C99-7.18.4.2 Macros for greatest-width integer constants #define INTMAX_C INT64_C #define UINTMAX_C UINT64_C #endif // __STDC_CONSTANT_MACROS #endif // HAVE_STDINT_H #endif // _RE2C_UTIL_C99_STDINT_ re2c-0.16/src/util/static_assert.h0000644000175000017500000000046312633273654014017 00000000000000#ifndef _RE2C_UTIL_STATIC_ASSERT_ #define _RE2C_UTIL_STATIC_ASSERT_ namespace re2c { template struct static_assert_t; template<> struct static_assert_t {}; } // namespace re2c #define RE2C_STATIC_ASSERT(e) \ { re2c::static_assert_t _; (void) _; } #endif // _RE2C_UTIL_STATIC_ASSERT_ re2c-0.16/src/util/s_to_n32_unsafe.h0000644000175000017500000000064112633273654014134 00000000000000#ifndef _RE2C_UTIL_S_TO_N32_UNSAFE_ #define _RE2C_UTIL_S_TO_N32_UNSAFE_ #include "src/util/attribute.h" #include "src/util/c99_stdint.h" bool s_to_u32_unsafe (const char * s, const char * s_end, uint32_t & number) RE2C_GXX_ATTRIBUTE ((warn_unused_result)); bool s_to_i32_unsafe (const char * s, const char * s_end, int32_t & number) RE2C_GXX_ATTRIBUTE ((warn_unused_result)); #endif // _RE2C_UTIL_S_TO_N32_UNSAFE_ re2c-0.16/src/util/counter.h0000644000175000017500000000050712633273654012625 00000000000000#ifndef _RE2C_UTIL_COUNTER_ #define _RE2C_UTIL_COUNTER_ namespace re2c { template class counter_t { num_t num; public: counter_t () : num () {} num_t next () { num_t n = num; num.inc (); return n; } void reset () { num = num_t (); } }; } // namespace re2c #endif // _RE2C_UTIL_COUNTER_ re2c-0.16/src/util/range.h0000644000175000017500000000240412633273654012240 00000000000000#ifndef _RE2C_UTIL_RANGE_ #define _RE2C_UTIL_RANGE_ #include "src/util/c99_stdint.h" #include #include // NULL #include "src/test/range/test.h" #include "src/util/forbid_copy.h" #include "src/util/free_list.h" namespace re2c { class Range { public: static free_list vFreeList; private: Range * nx; // [lb,ub) uint32_t lb; uint32_t ub; public: static Range * sym (uint32_t c) { return new Range (NULL, c, c + 1); } static Range * ran (uint32_t l, uint32_t u) { return new Range (NULL, l, u); } ~Range () { vFreeList.erase (this); } Range * next () const { return nx; } uint32_t lower () const { return lb; } uint32_t upper () const { return ub; } static Range * add (const Range * r1, const Range * r2); static Range * sub (const Range * r1, const Range * r2); private: Range (Range * n, uint32_t l, uint32_t u) : nx (n) , lb (l) , ub (u) { assert (lb < ub); vFreeList.insert (this); } static void append_overlapping (Range * & head, Range * & tail, const Range * r); static void append (Range ** & ptail, uint32_t l, uint32_t u); // test addition and subtraction template friend Range * re2c_test::range (uint32_t n); FORBID_COPY (Range); }; } // namespace re2c #endif // _RE2C_UTIL_RANGE_ re2c-0.16/src/util/attribute.h0000644000175000017500000000032012633273654013142 00000000000000#ifndef _RE2C_UTIL_ATTRIBUTE_ #define _RE2C_UTIL_ATTRIBUTE_ #ifdef __GNUC__ # define RE2C_GXX_ATTRIBUTE(x) __attribute__(x) #else # define RE2C_GXX_ATTRIBUTE(x) #endif #endif // _RE2C_UTIL_ATTRIBUTE_ re2c-0.16/src/util/forbid_copy.h0000644000175000017500000000044612633273654013447 00000000000000#ifndef _RE2C_UTIL_FORBID_COPY_ #define _RE2C_UTIL_FORBID_COPY_ // must be used at the end of class definition // (since this macro changes scope to private) #define FORBID_COPY(type) \ private: \ type (const type &); \ type & operator = (const type &) #endif // _RE2C_UTIL_FORBID_COPY_ re2c-0.16/src/util/s_to_n32_unsafe.cc0000644000175000017500000000174612633273654014301 00000000000000#include #include "src/util/s_to_n32_unsafe.h" // assumes that string matches regexp [0-9]+ // returns false on overflow bool s_to_u32_unsafe (const char * s, const char * s_end, uint32_t & number) { uint64_t u = 0; for (; s != s_end; ++s) { u *= 10; u += static_cast (*s) - 0x30; if (u >= std::numeric_limits::max()) { return false; } } number = static_cast (u); return true; } // assumes that string matches regexp "-"? [0-9]+ // returns false on underflow/overflow bool s_to_i32_unsafe (const char * s, const char * s_end, int32_t & number) { int64_t i = 0; if (*s == '-') { ++s; for (; s != s_end; ++s) { i *= 10; i -= *s - 0x30; if (i < std::numeric_limits::min()) { return false; } } } else { for (; s != s_end; ++s) { i *= 10; i += *s - 0x30; if (i > std::numeric_limits::max()) { return false; } } } number = static_cast (i); return true; } re2c-0.16/src/util/ord_hash_set.h0000644000175000017500000000450012650133301013564 00000000000000#ifndef _RE2C_UTIL_ORD_HASH_SET_ #define _RE2C_UTIL_ORD_HASH_SET_ #include "src/util/c99_stdint.h" #include // malloc, free #include // memcpy #include #include namespace re2c { /* * ordered hash set: * - access element by index: O(1) * - insert element (find existing or add new): O(log(n)) * */ class ord_hash_set_t { struct elem_t { elem_t *next; size_t index; size_t size; char data[1]; // inlined array of variable length }; typedef size_t hash_t; std::vector elems; std::map lookup; static hash_t hash(const void *data, size_t size); elem_t *make_elem(elem_t *next, size_t index, size_t size, const void *data); public: ord_hash_set_t(); ~ord_hash_set_t(); size_t size() const; size_t insert(const void *data, size_t size); template size_t deref(size_t i, data_t *&data); }; ord_hash_set_t::hash_t ord_hash_set_t::hash(const void *data, size_t size) { const uint8_t *bytes = static_cast(data); hash_t h = size; // seed for (size_t i = 0; i < size; ++i) { h = h ^ ((h << 5) + (h >> 2) + bytes[i]); } return h; } ord_hash_set_t::elem_t* ord_hash_set_t::make_elem( elem_t *next, size_t index, size_t size, const void *data) { elem_t *e = static_cast(malloc(offsetof(elem_t, data) + size)); e->next = next; e->index = index; e->size = size; memcpy(e->data, data, size); return e; } ord_hash_set_t::ord_hash_set_t() : elems() , lookup() {} ord_hash_set_t::~ord_hash_set_t() { std::for_each(elems.begin(), elems.end(), free); } size_t ord_hash_set_t::size() const { return elems.size(); } size_t ord_hash_set_t::insert(const void *data, size_t size) { const hash_t h = hash(data, size); std::map::const_iterator i = lookup.find(h); if (i != lookup.end()) { for (elem_t *e = i->second; e; e = e->next) { if (e->size == size && memcmp(e->data, data, size) == 0) { return e->index; } } } const size_t index = elems.size(); elems.push_back(lookup[h] = make_elem(lookup[h], index, size, data)); return index; } template size_t ord_hash_set_t::deref(size_t i, data_t *&data) { elem_t *e = elems[i]; data = reinterpret_cast(e->data); return e->size / sizeof(data_t); } } // namespace re2c #endif // _RE2C_UTIL_ORD_HASH_SET_ re2c-0.16/configure.ac0000644000175000017500000000640512650133366011514 00000000000000AC_INIT([re2c],[0.16],[re2c-general@lists.sourceforge.net]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AM_SILENT_RULES([yes]) AC_CONFIG_SRCDIR([src/main.cc]) AC_CONFIG_HEADERS([config.h]) AC_SUBST(PACKAGE_DATE, `date +'%d %b %Y'`) AC_SUBST(PACKAGE_VERSION) AC_SUBST(PACKAGE_NAME) AC_SUBST(PACKAGE_TARNAME) AC_SUBST(PACKAGE_RELEASE, ${PACKAGE_RELEASE:-1}) # --enable-docs AC_ARG_ENABLE([docs], [AS_HELP_STRING([--enable-docs], [regenerate manpage])]) AM_CONDITIONAL([REBUILD_DOCS], [test "x$enable_docs" = "xyes"]) AM_COND_IF([REBUILD_DOCS], [ AC_CHECK_PROGS(RST2MAN, [rst2man rst2man.py], no) AS_IF([test "x$RST2MAN" = "xno"], [ AC_MSG_ERROR([need rst2man or rst2man.py for --enable-docs]) ]) ]) # checks for programs AC_PATH_PROG(BISON, bison, no) AC_PROG_CC # used in skeleton tests AC_PROG_CXX AC_PROG_INSTALL # checks for C++ compiler flags AC_SUBST(CXXFLAGSDEFAULT, []) # TRY_CXXFLAG (flag [implied-flags]) # Iff C++ compiler recognizes 'flag', append 'flag' and 'implied-flags' to CXXFLAGSDEFAULT # (Second param 'implied-flags' is needed for warning suppressions '-Wno-': # GCC warns about unrecognized suppressions options only in presence of other warnings, # which makes it hard to test for them with autoconf.) AC_DEFUN([TRY_CXXFLAG], [ AC_MSG_CHECKING([C++ compiler flag $1]) AS_VAR_SET([CXXFLAGS_BACKUP], ["$CXXFLAGS"]) AS_VAR_SET([CXXFLAGS], ["$CXXFLAGS $1"]) AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE( [AC_LANG_PROGRAM()], [ AS_VAR_SET([TRY_CXXFLAG_RESULT], [yes]) AS_VAR_SET([CXXFLAGSDEFAULT], ["$CXXFLAGSDEFAULT $1 $2"]) ], [AS_VAR_SET([TRY_CXXFLAG_RESULT], [no])] ) AC_LANG_POP([C++]) AS_VAR_SET([CXXFLAGS], ["$CXXFLAGS_BACKUP"]) AC_MSG_RESULT([$TRY_CXXFLAG_RESULT]) ]) TRY_CXXFLAG([-W]) TRY_CXXFLAG([-Wall]) TRY_CXXFLAG([-Wextra]) TRY_CXXFLAG([-Weffc++]) TRY_CXXFLAG([-pedantic]) TRY_CXXFLAG([-Wformat=2]) TRY_CXXFLAG([-Wredundant-decls]) TRY_CXXFLAG([-Wsuggest-attribute=format]) TRY_CXXFLAG([-Wconversion]) TRY_CXXFLAG([-Wsign-conversion]) TRY_CXXFLAG([-O2]) TRY_CXXFLAG([-Weverything], m4_join([ ], [-Wno-unknown-warning-option], dnl CLANG eats some GCC options only to warn they are unknown [-Wno-reserved-id-macro], dnl to allow header guards of the form '_RE2C_PATH_TO_HEADER_BASENAME_' [-Wno-padded], dnl perhaps later [-Wno-old-style-cast], dnl RE2C-generated lexer has lots of C-syle casts because of 're2c:yych:conversion = 1;' [-Wno-covered-switch-default])) dnl GCC reports false positives in some cases # needed by src/c99_stdint.h # avoid AC_INCLUDES_DEFAULT AC_CHECK_HEADERS([stdint.h], [], [], [[]]) # list of possible types to use in typedefs AC_CHECK_SIZEOF([char], [], [[]]) AC_CHECK_SIZEOF([short], [], [[]]) AC_CHECK_SIZEOF([int], [], [[]]) AC_CHECK_SIZEOF([long], [], [[]]) AC_CHECK_SIZEOF([long long], [], [[]]) AC_CHECK_SIZEOF([__int64], [], [[]]) # size of pointers AC_CHECK_SIZEOF([void *], [], [[]]) # 64-bit integer constant suffix AC_CHECK_SIZEOF([0l], [], [[]]) AC_CHECK_SIZEOF([0ll], [], [[]]) AC_CHECK_SIZEOF([0i8], [], [[]]) AC_CONFIG_FILES([\ Makefile \ doc/manpage.rst \ ]) AC_CONFIG_FILES([run_tests.sh], [chmod +x run_tests.sh]) AC_OUTPUT re2c-0.16/test/0000755000175000017500000000000012650133303010247 500000000000000re2c-0.16/test/unicode_group_Mc.8--encoding-policy(ignore).c0000644000175000017500000002674712650133303020465 00000000000000/* Generated by re2c */ #line 1 "unicode_group_Mc.8--encoding-policy(ignore).re" #include #include "utf8.h" #define YYCTYPE unsigned char bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Mc: #line 13 "unicode_group_Mc.8--encoding-policy(ignore).c" { YYCTYPE yych; yych = *YYCURSOR; switch (yych) { case 0xE0: goto yy4; case 0xE1: goto yy5; case 0xEA: goto yy6; case 0xF0: goto yy7; default: goto yy2; } yy2: ++YYCURSOR; yy3: #line 13 "unicode_group_Mc.8--encoding-policy(ignore).re" { return YYCURSOR == limit; } #line 29 "unicode_group_Mc.8--encoding-policy(ignore).c" yy4: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0xA4: goto yy8; case 0xA5: goto yy10; case 0xA6: case 0xB4: goto yy11; case 0xA7: case 0xAD: goto yy12; case 0xA8: case 0xAA: goto yy13; case 0xA9: goto yy14; case 0xAB: goto yy15; case 0xAC: case 0xB2: goto yy16; case 0xAE: case 0xBC: goto yy17; case 0xAF: goto yy18; case 0xB0: goto yy19; case 0xB1: goto yy20; case 0xB3: goto yy21; case 0xB5: goto yy22; case 0xB6: goto yy23; case 0xB7: goto yy24; case 0xBD: goto yy25; default: goto yy3; } yy5: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0x80: goto yy26; case 0x81: goto yy27; case 0x82: goto yy28; case 0x9E: goto yy29; case 0x9F: goto yy30; case 0xA4: goto yy31; case 0xA6: goto yy32; case 0xA7: goto yy33; case 0xA8: goto yy34; case 0xA9: goto yy35; case 0xAC: goto yy36; case 0xAD: goto yy37; case 0xAE: goto yy38; case 0xAF: goto yy39; case 0xB0: goto yy40; case 0xB3: goto yy41; default: goto yy3; } yy6: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0xA0: goto yy42; case 0xA2: goto yy43; case 0xA3: goto yy44; case 0xA5: goto yy45; case 0xA6: goto yy46; case 0xA7: goto yy14; case 0xA8: goto yy47; case 0xA9: goto yy48; case 0xAF: goto yy49; default: goto yy3; } yy7: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0x91: goto yy50; case 0x9D: goto yy51; default: goto yy3; } yy8: yych = *++YYCURSOR; switch (yych) { case 0x83: case 0xBB: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy9: YYCURSOR = YYMARKER; goto yy3; yy10: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8E: case 0x8F: goto yy52; default: goto yy9; } yy11: yych = *++YYCURSOR; switch (yych) { case 0x82: case 0x83: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy12: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x87: case 0x88: case 0x8B: case 0x8C: case 0x97: goto yy52; default: goto yy9; } yy13: yych = *++YYCURSOR; switch (yych) { case 0x83: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy14: yych = *++YYCURSOR; switch (yych) { case 0x80: goto yy52; default: goto yy9; } yy15: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x89: case 0x8B: case 0x8C: goto yy52; default: goto yy9; } yy16: yych = *++YYCURSOR; switch (yych) { case 0x82: case 0x83: case 0xBE: goto yy52; default: goto yy9; } yy17: yych = *++YYCURSOR; switch (yych) { case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy18: yych = *++YYCURSOR; switch (yych) { case 0x81: case 0x82: case 0x86: case 0x87: case 0x88: case 0x8A: case 0x8B: case 0x8C: case 0x97: goto yy52; default: goto yy9; } yy19: yych = *++YYCURSOR; switch (yych) { case 0x81: case 0x82: case 0x83: goto yy52; default: goto yy9; } yy20: yych = *++YYCURSOR; switch (yych) { case 0x81: case 0x82: case 0x83: case 0x84: goto yy52; default: goto yy9; } yy21: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x87: case 0x88: case 0x8A: case 0x8B: case 0x95: case 0x96: goto yy52; default: goto yy9; } yy22: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x86: case 0x87: case 0x88: case 0x8A: case 0x8B: case 0x8C: case 0x97: goto yy52; default: goto yy9; } yy23: yych = *++YYCURSOR; switch (yych) { case 0x82: case 0x83: goto yy52; default: goto yy9; } yy24: yych = *++YYCURSOR; switch (yych) { case 0x8F: case 0x90: case 0x91: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F: case 0xB2: case 0xB3: goto yy52; default: goto yy9; } yy25: yych = *++YYCURSOR; switch (yych) { case 0xBF: goto yy52; default: goto yy9; } yy26: yych = *++YYCURSOR; switch (yych) { case 0xAB: case 0xAC: case 0xB1: case 0xB8: case 0xBB: case 0xBC: goto yy52; default: goto yy9; } yy27: yych = *++YYCURSOR; switch (yych) { case 0x96: case 0x97: case 0xA2: case 0xA3: case 0xA4: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: goto yy52; default: goto yy9; } yy28: yych = *++YYCURSOR; switch (yych) { case 0x83: case 0x84: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8F: case 0x9A: case 0x9B: case 0x9C: goto yy52; default: goto yy9; } yy29: yych = *++YYCURSOR; switch (yych) { case 0xB6: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy30: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x87: case 0x88: goto yy52; default: goto yy9; } yy31: yych = *++YYCURSOR; switch (yych) { case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA9: case 0xAA: case 0xAB: case 0xB0: case 0xB1: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: goto yy52; default: goto yy9; } yy32: yych = *++YYCURSOR; switch (yych) { case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy33: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x88: case 0x89: goto yy52; default: goto yy9; } yy34: yych = *++YYCURSOR; switch (yych) { case 0x99: case 0x9A: case 0x9B: goto yy52; default: goto yy9; } yy35: yych = *++YYCURSOR; switch (yych) { case 0x95: case 0x97: case 0xA1: case 0xA3: case 0xA4: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: goto yy52; default: goto yy9; } yy36: yych = *++YYCURSOR; switch (yych) { case 0x84: case 0xB5: case 0xBB: case 0xBD: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy37: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x81: case 0x83: case 0x84: goto yy52; default: goto yy9; } yy38: yych = *++YYCURSOR; switch (yych) { case 0x82: case 0xA1: case 0xA6: case 0xA7: case 0xAA: goto yy52; default: goto yy9; } yy39: yych = *++YYCURSOR; switch (yych) { case 0xA7: case 0xAA: case 0xAB: case 0xAC: case 0xAE: case 0xB2: case 0xB3: goto yy52; default: goto yy9; } yy40: yych = *++YYCURSOR; switch (yych) { case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xB4: case 0xB5: goto yy52; default: goto yy9; } yy41: yych = *++YYCURSOR; switch (yych) { case 0xA1: case 0xB2: goto yy52; default: goto yy9; } yy42: yych = *++YYCURSOR; switch (yych) { case 0xA3: case 0xA4: case 0xA7: goto yy52; default: goto yy9; } yy43: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x81: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy44: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x81: case 0x82: case 0x83: goto yy52; default: goto yy9; } yy45: yych = *++YYCURSOR; switch (yych) { case 0x92: case 0x93: goto yy52; default: goto yy9; } yy46: yych = *++YYCURSOR; switch (yych) { case 0x83: case 0xB4: case 0xB5: case 0xBA: case 0xBB: case 0xBD: case 0xBE: case 0xBF: goto yy52; default: goto yy9; } yy47: yych = *++YYCURSOR; switch (yych) { case 0xAF: case 0xB0: case 0xB3: case 0xB4: goto yy52; default: goto yy9; } yy48: yych = *++YYCURSOR; switch (yych) { case 0x8D: case 0xBB: goto yy52; default: goto yy9; } yy49: yych = *++YYCURSOR; switch (yych) { case 0xA3: case 0xA4: case 0xA6: case 0xA7: case 0xA9: case 0xAA: case 0xAC: goto yy52; default: goto yy9; } yy50: yych = *++YYCURSOR; switch (yych) { case 0x80: goto yy54; case 0x82: goto yy55; default: goto yy9; } yy51: yych = *++YYCURSOR; switch (yych) { case 0x85: goto yy56; default: goto yy9; } yy52: ++YYCURSOR; #line 12 "unicode_group_Mc.8--encoding-policy(ignore).re" { goto Mc; } #line 576 "unicode_group_Mc.8--encoding-policy(ignore).c" yy54: yych = *++YYCURSOR; switch (yych) { case 0x80: case 0x82: goto yy52; default: goto yy9; } yy55: yych = *++YYCURSOR; switch (yych) { case 0x82: case 0xB0: case 0xB1: case 0xB2: case 0xB7: case 0xB8: goto yy52; default: goto yy9; } yy56: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 0xA5: case 0xA6: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: goto yy52; default: goto yy9; } } #line 14 "unicode_group_Mc.8--encoding-policy(ignore).re" } static const unsigned int chars_Mc [] = {0x903,0x903, 0x93b,0x93b, 0x93e,0x940, 0x949,0x94c, 0x94e,0x94f, 0x982,0x983, 0x9be,0x9c0, 0x9c7,0x9c8, 0x9cb,0x9cc, 0x9d7,0x9d7, 0xa03,0xa03, 0xa3e,0xa40, 0xa83,0xa83, 0xabe,0xac0, 0xac9,0xac9, 0xacb,0xacc, 0xb02,0xb03, 0xb3e,0xb3e, 0xb40,0xb40, 0xb47,0xb48, 0xb4b,0xb4c, 0xb57,0xb57, 0xbbe,0xbbf, 0xbc1,0xbc2, 0xbc6,0xbc8, 0xbca,0xbcc, 0xbd7,0xbd7, 0xc01,0xc03, 0xc41,0xc44, 0xc82,0xc83, 0xcbe,0xcbe, 0xcc0,0xcc4, 0xcc7,0xcc8, 0xcca,0xccb, 0xcd5,0xcd6, 0xd02,0xd03, 0xd3e,0xd40, 0xd46,0xd48, 0xd4a,0xd4c, 0xd57,0xd57, 0xd82,0xd83, 0xdcf,0xdd1, 0xdd8,0xddf, 0xdf2,0xdf3, 0xf3e,0xf3f, 0xf7f,0xf7f, 0x102b,0x102c, 0x1031,0x1031, 0x1038,0x1038, 0x103b,0x103c, 0x1056,0x1057, 0x1062,0x1064, 0x1067,0x106d, 0x1083,0x1084, 0x1087,0x108c, 0x108f,0x108f, 0x109a,0x109c, 0x17b6,0x17b6, 0x17be,0x17c5, 0x17c7,0x17c8, 0x1923,0x1926, 0x1929,0x192b, 0x1930,0x1931, 0x1933,0x1938, 0x19b0,0x19c0, 0x19c8,0x19c9, 0x1a19,0x1a1b, 0x1a55,0x1a55, 0x1a57,0x1a57, 0x1a61,0x1a61, 0x1a63,0x1a64, 0x1a6d,0x1a72, 0x1b04,0x1b04, 0x1b35,0x1b35, 0x1b3b,0x1b3b, 0x1b3d,0x1b41, 0x1b43,0x1b44, 0x1b82,0x1b82, 0x1ba1,0x1ba1, 0x1ba6,0x1ba7, 0x1baa,0x1baa, 0x1be7,0x1be7, 0x1bea,0x1bec, 0x1bee,0x1bee, 0x1bf2,0x1bf3, 0x1c24,0x1c2b, 0x1c34,0x1c35, 0x1ce1,0x1ce1, 0x1cf2,0x1cf2, 0xa823,0xa824, 0xa827,0xa827, 0xa880,0xa881, 0xa8b4,0xa8c3, 0xa952,0xa953, 0xa983,0xa983, 0xa9b4,0xa9b5, 0xa9ba,0xa9bb, 0xa9bd,0xa9c0, 0xaa2f,0xaa30, 0xaa33,0xaa34, 0xaa4d,0xaa4d, 0xaa7b,0xaa7b, 0xabe3,0xabe4, 0xabe6,0xabe7, 0xabe9,0xabea, 0xabec,0xabec, 0x11000,0x11000, 0x11002,0x11002, 0x11082,0x11082, 0x110b0,0x110b2, 0x110b7,0x110b8, 0x1d165,0x1d166, 0x1d16d,0x1d172, 0x0,0x0}; static unsigned int encode_utf8 (const unsigned int * ranges, unsigned int ranges_count, unsigned char * s) { unsigned char * const s_start = s; for (unsigned int i = 0; i < ranges_count - 2; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) s += re2c::utf8::rune_to_bytes (s, j); re2c::utf8::rune_to_bytes (s, ranges[ranges_count - 1]); return s - s_start + 1; } int main () { YYCTYPE * buffer_Mc = new YYCTYPE [1152]; unsigned int buffer_len = encode_utf8 (chars_Mc, sizeof (chars_Mc) / sizeof (unsigned int), buffer_Mc); if (!scan (reinterpret_cast (buffer_Mc), reinterpret_cast (buffer_Mc + buffer_len))) printf("test 'Mc' failed\n"); delete [] buffer_Mc; return 0; } re2c-0.16/test/unicode_group_No.x--encoding-policy(substitute).re0000644000175000017500000000471312617126113021707 00000000000000#include #include "utf16.h" #define YYCTYPE unsigned short bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start No: /*!re2c re2c:yyfill:enable = 0; No = [\xb2-\xb3\xb9-\xb9\xbc-\xbe\u09f4-\u09f9\u0b72-\u0b77\u0bf0-\u0bf2\u0c78-\u0c7e\u0d70-\u0d75\u0f2a-\u0f33\u1369-\u137c\u17f0-\u17f9\u19da-\u19da\u2070-\u2070\u2074-\u2079\u2080-\u2089\u2150-\u215f\u2189-\u2189\u2460-\u249b\u24ea-\u24ff\u2776-\u2793\u2cfd-\u2cfd\u3192-\u3195\u3220-\u3229\u3251-\u325f\u3280-\u3289\u32b1-\u32bf\ua830-\ua835\U00010107-\U00010133\U00010175-\U00010178\U0001018a-\U0001018a\U00010320-\U00010323\U00010858-\U0001085f\U00010916-\U0001091b\U00010a40-\U00010a47\U00010a7d-\U00010a7e\U00010b58-\U00010b5f\U00010b78-\U00010b7f\U00010e60-\U00010e7e\U00011052-\U00011065\U0001d360-\U0001d371\U0001f100-\U0001f10a]; No { goto No; } * { return YYCURSOR == limit; } */ } static const unsigned int chars_No [] = {0xb2,0xb3, 0xb9,0xb9, 0xbc,0xbe, 0x9f4,0x9f9, 0xb72,0xb77, 0xbf0,0xbf2, 0xc78,0xc7e, 0xd70,0xd75, 0xf2a,0xf33, 0x1369,0x137c, 0x17f0,0x17f9, 0x19da,0x19da, 0x2070,0x2070, 0x2074,0x2079, 0x2080,0x2089, 0x2150,0x215f, 0x2189,0x2189, 0x2460,0x249b, 0x24ea,0x24ff, 0x2776,0x2793, 0x2cfd,0x2cfd, 0x3192,0x3195, 0x3220,0x3229, 0x3251,0x325f, 0x3280,0x3289, 0x32b1,0x32bf, 0xa830,0xa835, 0x10107,0x10133, 0x10175,0x10178, 0x1018a,0x1018a, 0x10320,0x10323, 0x10858,0x1085f, 0x10916,0x1091b, 0x10a40,0x10a47, 0x10a7d,0x10a7e, 0x10b58,0x10b5f, 0x10b78,0x10b7f, 0x10e60,0x10e7e, 0x11052,0x11065, 0x1d360,0x1d371, 0x1f100,0x1f10a, 0x0,0x0}; static unsigned int encode_utf16 (const unsigned int * ranges, unsigned int ranges_count, unsigned short * s) { unsigned short * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) { if (j <= re2c::utf16::MAX_1WORD_RUNE) *s++ = j; else { *s++ = re2c::utf16::lead_surr(j); *s++ = re2c::utf16::trail_surr(j); } } return s - s_start; } int main () { YYCTYPE * buffer_No = new YYCTYPE [914]; unsigned int buffer_len = encode_utf16 (chars_No, sizeof (chars_No) / sizeof (unsigned int), buffer_No); if (!scan (reinterpret_cast (buffer_No), reinterpret_cast (buffer_No + buffer_len))) printf("test 'No' failed\n"); delete [] buffer_No; return 0; } re2c-0.16/test/unicode_group_Cc.x--encoding-policy(substitute).re0000644000175000017500000000235112617126113021654 00000000000000#include #include "utf16.h" #define YYCTYPE unsigned short bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Cc: /*!re2c re2c:yyfill:enable = 0; Cc = [\x00-\x1f\x7f-\x9f]; Cc { goto Cc; } * { return YYCURSOR == limit; } */ } static const unsigned int chars_Cc [] = {0x0,0x1f, 0x7f,0x9f, 0x20,0x20}; static unsigned int encode_utf16 (const unsigned int * ranges, unsigned int ranges_count, unsigned short * s) { unsigned short * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) { if (j <= re2c::utf16::MAX_1WORD_RUNE) *s++ = j; else { *s++ = re2c::utf16::lead_surr(j); *s++ = re2c::utf16::trail_surr(j); } } return s - s_start; } int main () { YYCTYPE * buffer_Cc = new YYCTYPE [132]; unsigned int buffer_len = encode_utf16 (chars_Cc, sizeof (chars_Cc) / sizeof (unsigned int), buffer_Cc); if (!scan (reinterpret_cast (buffer_Cc), reinterpret_cast (buffer_Cc + buffer_len))) printf("test 'Cc' failed\n"); delete [] buffer_Cc; return 0; } re2c-0.16/test/cond_error_06.c.re0000644000175000017500000000003112624147602013403 00000000000000/*!re2c "a" { } */ re2c-0.16/test/control_flow_fail.--skeleton.re0000644000175000017500000000007712627572362016222 00000000000000/*!re2c [^] [^] "a" { action1 } [^] [^a] { action2 } */ re2c-0.16/test/line-01.re0000644000175000017500000000033112624147602011671 00000000000000const char* scan(unsigned char* in) { /*!re2c #line 1 "a" "a" { return "a"; } #line 2 "b" "b" { return "b"; } "c" { return "c"; } #line 1 "d" "d" { return "d"; } . { return "."; } #line 1 "e" */ } re2c-0.16/test/unicode_group_Lo.u--encoding-policy(substitute).re0000644000175000017500000002453212617126113021703 00000000000000#include #define YYCTYPE unsigned int bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Lo: /*!re2c re2c:yyfill:enable = 0; Lo = [\u01bb-\u01bb\u01c0-\u01c3\u0294-\u0294\u05d0-\u05ea\u05f0-\u05f2\u0620-\u063f\u0641-\u064a\u066e-\u066f\u0671-\u06d3\u06d5-\u06d5\u06ee-\u06ef\u06fa-\u06fc\u06ff-\u06ff\u0710-\u0710\u0712-\u072f\u074d-\u07a5\u07b1-\u07b1\u07ca-\u07ea\u0800-\u0815\u0840-\u0858\u0904-\u0939\u093d-\u093d\u0950-\u0950\u0958-\u0961\u0972-\u0977\u0979-\u097f\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2-\u09b2\u09b6-\u09b9\u09bd-\u09bd\u09ce-\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e-\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd-\u0abd\u0ad0-\u0ad0\u0ae0-\u0ae1\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d-\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71-\u0b71\u0b83-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c-\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0-\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c3d\u0c58-\u0c59\u0c60-\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd-\u0cbd\u0cde-\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d3d\u0d4e-\u0d4e\u0d60-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd-\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e45\u0e81-\u0e82\u0e84-\u0e84\u0e87-\u0e88\u0e8a-\u0e8a\u0e8d-\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5-\u0ea5\u0ea7-\u0ea7\u0eaa-\u0eab\u0ead-\u0eb0\u0eb2-\u0eb3\u0ebd-\u0ebd\u0ec0-\u0ec4\u0edc-\u0edd\u0f00-\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f-\u103f\u1050-\u1055\u105a-\u105d\u1061-\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e-\u108e\u10d0-\u10fa\u1100-\u1248\u124a-\u124d\u1250-\u1256\u1258-\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0-\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17dc-\u17dc\u1820-\u1842\u1844-\u1877\u1880-\u18a8\u18aa-\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bc0-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c77\u1ce9-\u1cec\u1cee-\u1cf1\u2135-\u2138\u2d30-\u2d65\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3006-\u3006\u303c-\u303c\u3041-\u3096\u309f-\u309f\u30a1-\u30fa\u30ff-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcb\ua000-\ua014\ua016-\ua48c\ua4d0-\ua4f7\ua500-\ua60b\ua610-\ua61f\ua62a-\ua62b\ua66e-\ua66e\ua6a0-\ua6e5\ua7fb-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb-\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa6f\uaa71-\uaa76\uaa7a-\uaa7a\uaa80-\uaaaf\uaab1-\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0-\uaac0\uaac2-\uaac2\uaadb-\uaadc\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa2d\ufa30-\ufa6d\ufa70-\ufad9\ufb1d-\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e-\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff66-\uff6f\uff71-\uff9d\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc\U00010000-\U0001000b\U0001000d-\U00010026\U00010028-\U0001003a\U0001003c-\U0001003d\U0001003f-\U0001004d\U00010050-\U0001005d\U00010080-\U000100fa\U00010280-\U0001029c\U000102a0-\U000102d0\U00010300-\U0001031e\U00010330-\U00010340\U00010342-\U00010349\U00010380-\U0001039d\U000103a0-\U000103c3\U000103c8-\U000103cf\U00010450-\U0001049d\U00010800-\U00010805\U00010808-\U00010808\U0001080a-\U00010835\U00010837-\U00010838\U0001083c-\U0001083c\U0001083f-\U00010855\U00010900-\U00010915\U00010920-\U00010939\U00010a00-\U00010a00\U00010a10-\U00010a13\U00010a15-\U00010a17\U00010a19-\U00010a33\U00010a60-\U00010a7c\U00010b00-\U00010b35\U00010b40-\U00010b55\U00010b60-\U00010b72\U00010c00-\U00010c48\U00011003-\U00011037\U00011083-\U000110af\U00012000-\U0001236e\U00013000-\U0001342e\U00016800-\U00016a38\U0001b000-\U0001b001\U00020000-\U0002a6d6\U0002a700-\U0002b734\U0002b740-\U0002b81d\U0002f800-\U0002fa1d]; Lo { goto Lo; } * { return YYCURSOR == limit; } */ } static const unsigned int chars_Lo [] = {0x1bb,0x1bb, 0x1c0,0x1c3, 0x294,0x294, 0x5d0,0x5ea, 0x5f0,0x5f2, 0x620,0x63f, 0x641,0x64a, 0x66e,0x66f, 0x671,0x6d3, 0x6d5,0x6d5, 0x6ee,0x6ef, 0x6fa,0x6fc, 0x6ff,0x6ff, 0x710,0x710, 0x712,0x72f, 0x74d,0x7a5, 0x7b1,0x7b1, 0x7ca,0x7ea, 0x800,0x815, 0x840,0x858, 0x904,0x939, 0x93d,0x93d, 0x950,0x950, 0x958,0x961, 0x972,0x977, 0x979,0x97f, 0x985,0x98c, 0x98f,0x990, 0x993,0x9a8, 0x9aa,0x9b0, 0x9b2,0x9b2, 0x9b6,0x9b9, 0x9bd,0x9bd, 0x9ce,0x9ce, 0x9dc,0x9dd, 0x9df,0x9e1, 0x9f0,0x9f1, 0xa05,0xa0a, 0xa0f,0xa10, 0xa13,0xa28, 0xa2a,0xa30, 0xa32,0xa33, 0xa35,0xa36, 0xa38,0xa39, 0xa59,0xa5c, 0xa5e,0xa5e, 0xa72,0xa74, 0xa85,0xa8d, 0xa8f,0xa91, 0xa93,0xaa8, 0xaaa,0xab0, 0xab2,0xab3, 0xab5,0xab9, 0xabd,0xabd, 0xad0,0xad0, 0xae0,0xae1, 0xb05,0xb0c, 0xb0f,0xb10, 0xb13,0xb28, 0xb2a,0xb30, 0xb32,0xb33, 0xb35,0xb39, 0xb3d,0xb3d, 0xb5c,0xb5d, 0xb5f,0xb61, 0xb71,0xb71, 0xb83,0xb83, 0xb85,0xb8a, 0xb8e,0xb90, 0xb92,0xb95, 0xb99,0xb9a, 0xb9c,0xb9c, 0xb9e,0xb9f, 0xba3,0xba4, 0xba8,0xbaa, 0xbae,0xbb9, 0xbd0,0xbd0, 0xc05,0xc0c, 0xc0e,0xc10, 0xc12,0xc28, 0xc2a,0xc33, 0xc35,0xc39, 0xc3d,0xc3d, 0xc58,0xc59, 0xc60,0xc61, 0xc85,0xc8c, 0xc8e,0xc90, 0xc92,0xca8, 0xcaa,0xcb3, 0xcb5,0xcb9, 0xcbd,0xcbd, 0xcde,0xcde, 0xce0,0xce1, 0xcf1,0xcf2, 0xd05,0xd0c, 0xd0e,0xd10, 0xd12,0xd3a, 0xd3d,0xd3d, 0xd4e,0xd4e, 0xd60,0xd61, 0xd7a,0xd7f, 0xd85,0xd96, 0xd9a,0xdb1, 0xdb3,0xdbb, 0xdbd,0xdbd, 0xdc0,0xdc6, 0xe01,0xe30, 0xe32,0xe33, 0xe40,0xe45, 0xe81,0xe82, 0xe84,0xe84, 0xe87,0xe88, 0xe8a,0xe8a, 0xe8d,0xe8d, 0xe94,0xe97, 0xe99,0xe9f, 0xea1,0xea3, 0xea5,0xea5, 0xea7,0xea7, 0xeaa,0xeab, 0xead,0xeb0, 0xeb2,0xeb3, 0xebd,0xebd, 0xec0,0xec4, 0xedc,0xedd, 0xf00,0xf00, 0xf40,0xf47, 0xf49,0xf6c, 0xf88,0xf8c, 0x1000,0x102a, 0x103f,0x103f, 0x1050,0x1055, 0x105a,0x105d, 0x1061,0x1061, 0x1065,0x1066, 0x106e,0x1070, 0x1075,0x1081, 0x108e,0x108e, 0x10d0,0x10fa, 0x1100,0x1248, 0x124a,0x124d, 0x1250,0x1256, 0x1258,0x1258, 0x125a,0x125d, 0x1260,0x1288, 0x128a,0x128d, 0x1290,0x12b0, 0x12b2,0x12b5, 0x12b8,0x12be, 0x12c0,0x12c0, 0x12c2,0x12c5, 0x12c8,0x12d6, 0x12d8,0x1310, 0x1312,0x1315, 0x1318,0x135a, 0x1380,0x138f, 0x13a0,0x13f4, 0x1401,0x166c, 0x166f,0x167f, 0x1681,0x169a, 0x16a0,0x16ea, 0x1700,0x170c, 0x170e,0x1711, 0x1720,0x1731, 0x1740,0x1751, 0x1760,0x176c, 0x176e,0x1770, 0x1780,0x17b3, 0x17dc,0x17dc, 0x1820,0x1842, 0x1844,0x1877, 0x1880,0x18a8, 0x18aa,0x18aa, 0x18b0,0x18f5, 0x1900,0x191c, 0x1950,0x196d, 0x1970,0x1974, 0x1980,0x19ab, 0x19c1,0x19c7, 0x1a00,0x1a16, 0x1a20,0x1a54, 0x1b05,0x1b33, 0x1b45,0x1b4b, 0x1b83,0x1ba0, 0x1bae,0x1baf, 0x1bc0,0x1be5, 0x1c00,0x1c23, 0x1c4d,0x1c4f, 0x1c5a,0x1c77, 0x1ce9,0x1cec, 0x1cee,0x1cf1, 0x2135,0x2138, 0x2d30,0x2d65, 0x2d80,0x2d96, 0x2da0,0x2da6, 0x2da8,0x2dae, 0x2db0,0x2db6, 0x2db8,0x2dbe, 0x2dc0,0x2dc6, 0x2dc8,0x2dce, 0x2dd0,0x2dd6, 0x2dd8,0x2dde, 0x3006,0x3006, 0x303c,0x303c, 0x3041,0x3096, 0x309f,0x309f, 0x30a1,0x30fa, 0x30ff,0x30ff, 0x3105,0x312d, 0x3131,0x318e, 0x31a0,0x31ba, 0x31f0,0x31ff, 0x3400,0x4db5, 0x4e00,0x9fcb, 0xa000,0xa014, 0xa016,0xa48c, 0xa4d0,0xa4f7, 0xa500,0xa60b, 0xa610,0xa61f, 0xa62a,0xa62b, 0xa66e,0xa66e, 0xa6a0,0xa6e5, 0xa7fb,0xa801, 0xa803,0xa805, 0xa807,0xa80a, 0xa80c,0xa822, 0xa840,0xa873, 0xa882,0xa8b3, 0xa8f2,0xa8f7, 0xa8fb,0xa8fb, 0xa90a,0xa925, 0xa930,0xa946, 0xa960,0xa97c, 0xa984,0xa9b2, 0xaa00,0xaa28, 0xaa40,0xaa42, 0xaa44,0xaa4b, 0xaa60,0xaa6f, 0xaa71,0xaa76, 0xaa7a,0xaa7a, 0xaa80,0xaaaf, 0xaab1,0xaab1, 0xaab5,0xaab6, 0xaab9,0xaabd, 0xaac0,0xaac0, 0xaac2,0xaac2, 0xaadb,0xaadc, 0xab01,0xab06, 0xab09,0xab0e, 0xab11,0xab16, 0xab20,0xab26, 0xab28,0xab2e, 0xabc0,0xabe2, 0xac00,0xd7a3, 0xd7b0,0xd7c6, 0xd7cb,0xd7fb, 0xf900,0xfa2d, 0xfa30,0xfa6d, 0xfa70,0xfad9, 0xfb1d,0xfb1d, 0xfb1f,0xfb28, 0xfb2a,0xfb36, 0xfb38,0xfb3c, 0xfb3e,0xfb3e, 0xfb40,0xfb41, 0xfb43,0xfb44, 0xfb46,0xfbb1, 0xfbd3,0xfd3d, 0xfd50,0xfd8f, 0xfd92,0xfdc7, 0xfdf0,0xfdfb, 0xfe70,0xfe74, 0xfe76,0xfefc, 0xff66,0xff6f, 0xff71,0xff9d, 0xffa0,0xffbe, 0xffc2,0xffc7, 0xffca,0xffcf, 0xffd2,0xffd7, 0xffda,0xffdc, 0x10000,0x1000b, 0x1000d,0x10026, 0x10028,0x1003a, 0x1003c,0x1003d, 0x1003f,0x1004d, 0x10050,0x1005d, 0x10080,0x100fa, 0x10280,0x1029c, 0x102a0,0x102d0, 0x10300,0x1031e, 0x10330,0x10340, 0x10342,0x10349, 0x10380,0x1039d, 0x103a0,0x103c3, 0x103c8,0x103cf, 0x10450,0x1049d, 0x10800,0x10805, 0x10808,0x10808, 0x1080a,0x10835, 0x10837,0x10838, 0x1083c,0x1083c, 0x1083f,0x10855, 0x10900,0x10915, 0x10920,0x10939, 0x10a00,0x10a00, 0x10a10,0x10a13, 0x10a15,0x10a17, 0x10a19,0x10a33, 0x10a60,0x10a7c, 0x10b00,0x10b35, 0x10b40,0x10b55, 0x10b60,0x10b72, 0x10c00,0x10c48, 0x11003,0x11037, 0x11083,0x110af, 0x12000,0x1236e, 0x13000,0x1342e, 0x16800,0x16a38, 0x1b000,0x1b001, 0x20000,0x2a6d6, 0x2a700,0x2b734, 0x2b740,0x2b81d, 0x2f800,0x2fa1d, 0x0,0x0}; static unsigned int encode_utf32 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s) { unsigned int * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) *s++ = j; return s - s_start; } int main () { YYCTYPE * buffer_Lo = new YYCTYPE [97085]; unsigned int buffer_len = encode_utf32 (chars_Lo, sizeof (chars_Lo) / sizeof (unsigned int), buffer_Lo); if (!scan (reinterpret_cast (buffer_Lo), reinterpret_cast (buffer_Lo + buffer_len))) printf("test 'Lo' failed\n"); delete [] buffer_Lo; return 0; } re2c-0.16/test/php20150211_parse_date_crlf.ig.c0000644000175000017500000541761512650133302015553 00000000000000/* Generated by re2c */ /* +----------------------------------------------------------------------+ | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2015 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id$ */ #include "timelib.h" #include #include #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_UNSET -99999 #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define TIMELIB_SPECIAL 8 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_LF_DAY_OF_MONTH 280 #define TIMELIB_WEEK_DAY_OF_MONTH 281 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 /* Some compilers like AIX, defines uchar in sys/types.h */ #undef uchar typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; } #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x, l) { \ if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; struct timelib_error_container *errors; struct timelib_time *time; const timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; /* The timezone table. */ const static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; const static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { "weekday", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, { "weekdays", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "eighth", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ' || ptr[0] == '\t') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static void add_warning(Scanner *s, char *error) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_error(Scanner *s, char *error) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr; s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr; s->errors->error_messages[s->errors->error_count - 1].character = *cptr; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (**ptr && !strchr("AaPp", **ptr)) { ++*ptr; } if(!**ptr) { return TIMELIB_UNSET; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { ++*ptr; if (**ptr != 'm' && **ptr != 'M') { return TIMELIB_UNSET; } ++*ptr; if (**ptr != '.' ) { return TIMELIB_UNSET; } ++*ptr; } else if (**ptr == 'm' || **ptr == 'M') { ++*ptr; } else { return TIMELIB_UNSET; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length) { char *begin, *end, *str; timelib_sll tmp_nr = TIMELIB_UNSET; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; if (scanned_length) { *scanned_length = end - begin; } str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { return timelib_get_nr_ex(ptr, max_length, NULL); } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = TIMELIB_UNSET; int len = 0; while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); if (str[0] == ':') { str[0] = '.'; } tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } while (**ptr == '+' || **ptr == '-') { if (**ptr == '-') { dir *= -1; } ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static timelib_long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; timelib_long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static timelib_long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ' || **ptr == '\t') { ++*ptr; } } static void timelib_eat_until_separator(char **ptr) { ++*ptr; while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' && **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; if (!(relunit = timelib_lookup_relunit(ptr))) { return; } switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; case TIMELIB_SPECIAL: TIMELIB_HAVE_SPECIAL_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.special.type = relunit->multiplier; s->time->relative.special.amount = amount; } } const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst) { int first_found = 0; const timelib_tz_lookup_table *tp, *first_found_elem = NULL; const timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; timelib_long value = 0; const timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = abbr_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper) { timelib_tzinfo *res; timelib_long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') { ++*ptr; } if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) { *ptr += 3; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; timelib_long offset = 0; char *tz_abbr; t->is_localtime = 1; /* First, we lookup by abbreviation only */ offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found); if (found) { t->zone_type = TIMELIB_ZONETYPE_ABBR; timelib_time_tz_abbr_update(t, tz_abbr); } /* Otherwise, we look if we have a TimeZone identifier */ if (!found || strcmp("UTC", tz_abbr) == 0) { if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 32, 24, 48, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 192, 192, 192, 224, 192, 192, 192, 224, 192, 192, 192, 192, 192, 224, 192, 192, 192, 224, 224, 224, 192, 192, 192, 192, 192, 192, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy6, &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy6, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy8, &&yy4, &&yy4, &&yy9, &&yy10, &&yy9, &&yy10, &&yy4, &&yy11, &&yy12, &&yy13, &&yy14, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy16, &&yy17, &&yy19, &&yy20, &&yy21, &&yy22, &&yy23, &&yy24, &&yy20, &&yy25, &&yy26, &&yy20, &&yy27, &&yy28, &&yy29, &&yy30, &&yy31, &&yy20, &&yy20, &&yy32, &&yy33, &&yy20, &&yy34, &&yy35, &&yy36, &&yy37, &&yy20, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy39, &&yy40, &&yy41, &&yy42, &&yy43, &&yy40, &&yy40, &&yy40, &&yy44, &&yy40, &&yy45, &&yy46, &&yy47, &&yy48, &&yy49, &&yy40, &&yy40, &&yy50, &&yy51, &&yy40, &&yy40, &&yy52, &&yy40, &&yy53, &&yy40, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4 }; goto *yytarget[yych]; } yy2: ++YYCURSOR; { s->pos = cursor; s->line++; goto std; } yy4: ++YYCURSOR; yy5: { add_error(s, "Unexpected character"); goto std; } yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 2) { goto yy54; } if (yych <= '/') goto yy7; if (yych <= '9') goto yy57; yy7: { goto std; } yy8: yych = *++YYCURSOR; if (yych <= '@') goto yy5; if (yych <= 'Z') goto yy40; if (yych <= '`') goto yy5; if (yych <= 'z') goto yy40; goto yy5; yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy54, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy54, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy59, &&yy5, &&yy59, &&yy5, &&yy5, &&yy61, &&yy61, &&yy62, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5 }; goto *yytarget[yych]; } yy10: yych = *++YYCURSOR; goto yy7; yy11: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy64, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy66, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy68, &&yy69, &&yy70, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy72, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy66, &&yy5, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5, &&yy66, &&yy66, &&yy66, &&yy5, &&yy5, &&yy66, &&yy66, &&yy66, &&yy5, &&yy5, &&yy5, &&yy66, &&yy66, &&yy5, &&yy66, &&yy66, &&yy66, &&yy66, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy66, &&yy5, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5, &&yy5, &&yy66, &&yy89, &&yy66, &&yy5, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5 }; goto *yytarget[yych]; } yy12: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69, &&yy71, &&yy71, &&yy71, &&yy97, &&yy97, &&yy97, &&yy97, &&yy97, &&yy97, &&yy97, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95, &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5 }; goto *yytarget[yych]; } yy13: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69, &&yy97, &&yy97, &&yy97, &&yy97, &&yy97, &&yy101, &&yy101, &&yy101, &&yy101, &&yy101, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95, &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5 }; goto *yytarget[yych]; } yy14: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69, &&yy101, &&yy101, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95, &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5 }; goto *yytarget[yych]; } yy15: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95, &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5 }; goto *yytarget[yych]; } yy16: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy103; if (yych <= '/') goto yy5; if (yych <= '9') goto yy104; goto yy5; yy17: ++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy109, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy110, &&yy108, &&yy108, &&yy108, &&yy108, &&yy111, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy113, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy114, &&yy112, &&yy112, &&yy112, &&yy112, &&yy115, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[(yych = *YYCURSOR)]; } yy18: { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } yy19: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy116, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy117, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy20: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Z') goto yy108; if (yych <= '`') goto yy18; if (yych <= 'z') goto yy112; goto yy18; } yy21: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy118, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy119, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy22: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy120, &&yy108, &&yy108, &&yy121, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy122, &&yy112, &&yy112, &&yy123, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy23: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy124, &&yy108, &&yy108, &&yy108, &&yy125, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy126, &&yy108, &&yy108, &&yy127, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy128, &&yy112, &&yy112, &&yy112, &&yy129, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy130, &&yy112, &&yy112, &&yy131, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy24: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy132, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy25: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy139, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy140, &&yy108, &&yy140, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy26: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy141, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy142, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy143, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy144, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy27: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy145, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy146, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy28: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy147, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy148, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy150, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy151, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy152, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy29: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy153, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy155, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy156, &&yy112, &&yy112, &&yy112, &&yy157, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy158, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy30: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy159, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy160, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy31: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy161, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy162, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy32: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy163, &&yy108, &&yy108, &&yy108, &&yy164, &&yy108, &&yy108, &&yy108, &&yy165, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy166, &&yy112, &&yy112, &&yy112, &&yy167, &&yy112, &&yy112, &&yy112, &&yy168, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy152, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy33: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy169, &&yy169, &&yy170, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108, &&yy172, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy173, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy174, &&yy108, &&yy175, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy157, &&yy112, &&yy112, &&yy176, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy177, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy178, &&yy112, &&yy179, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy34: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy180, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy35: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy181, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy182, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy36: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy139, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy37: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy183, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy184, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy38: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy109, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy110, &&yy108, &&yy108, &&yy108, &&yy108, &&yy111, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy109, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy110, &&yy108, &&yy108, &&yy108, &&yy108, &&yy111, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy39: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy116, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy116, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy40: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Z') goto yy108; if (yych <= '`') goto yy18; if (yych <= 'z') goto yy108; goto yy18; } yy41: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy118, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy118, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy42: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy120, &&yy108, &&yy108, &&yy121, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy120, &&yy108, &&yy108, &&yy121, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy43: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy124, &&yy108, &&yy108, &&yy108, &&yy125, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy126, &&yy108, &&yy108, &&yy127, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy124, &&yy108, &&yy108, &&yy108, &&yy125, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy126, &&yy108, &&yy108, &&yy127, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy44: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy141, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy142, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy141, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy142, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy45: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy145, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy145, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy46: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy147, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy148, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy147, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy148, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy47: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy153, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy155, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy153, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy155, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy48: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy159, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy159, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy49: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy161, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy161, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy50: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy163, &&yy108, &&yy108, &&yy108, &&yy164, &&yy108, &&yy108, &&yy108, &&yy165, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy163, &&yy108, &&yy108, &&yy108, &&yy164, &&yy108, &&yy108, &&yy108, &&yy165, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy51: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy169, &&yy169, &&yy170, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108, &&yy172, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy173, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy174, &&yy108, &&yy175, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108, &&yy172, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy173, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy174, &&yy108, &&yy175, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy52: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy181, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy181, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy53: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy183, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy183, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy54: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 2) { goto yy54; } if (yych <= '/') goto yy56; if (yych <= '9') goto yy57; yy56: YYCURSOR = YYMARKER; { static void *yytarget[34] = { &&yy7, &&yy5, &&yy18, &&yy78, &&yy136, &&yy208, &&yy213, &&yy274, &&yy272, &&yy294, &&yy331, &&yy396, &&yy398, &&yy402, &&yy504, &&yy544, &&yy669, &&yy673, &&yy704, &&yy719, &&yy732, &&yy755, &&yy900, &&yy576, &&yy915, &&yy993, &&yy1011, &&yy1016, &&yy1046, &&yy1064, &&yy1097, &&yy1129, &&yy1132, &&yy1231, }; goto *yytarget[yyaccept]; } yy57: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56, &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56, &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy59: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 2) { goto yy54; } if (yych <= ',') { if (yych == '+') goto yy59; goto yy56; } else { if (yych <= '-') goto yy59; if (yych <= '/') goto yy56; if (yych <= '9') goto yy57; goto yy56; } yy61: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy62: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy193, &&yy194, &&yy194, &&yy194, &&yy194, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy63: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy194, &&yy194, &&yy194, &&yy194, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy64: yych = *++YYCURSOR; if (yych <= '/') goto yy66; if (yych <= '0') goto yy197; if (yych <= '1') goto yy198; if (yych <= '9') goto yy199; goto yy66; yy65: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy66: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy65, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy65, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy73, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56, &&yy76, &&yy77, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82, &&yy56, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy85, &&yy86, &&yy87, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy73, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56, &&yy76, &&yy56, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82, &&yy56, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy67: yych = *++YYCURSOR; if (yych <= '/') goto yy196; if (yych <= '0') goto yy200; if (yych <= '1') goto yy201; if (yych <= '9') goto yy202; goto yy196; yy68: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy196; if (yych <= '0') goto yy207; goto yy209; } else { if (yych <= '5') goto yy210; if (yych <= '9') goto yy211; goto yy196; } yy69: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy212, &&yy212, &&yy212, &&yy214, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56, &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222, &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56, &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222, &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy70: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy64, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy224, &&yy68, &&yy69, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy226, &&yy226, &&yy226, &&yy226, &&yy72, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy89, &&yy66, &&yy66, &&yy66, &&yy90, &&yy91, &&yy92, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66 }; goto *yytarget[yych]; } yy71: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy93, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy224, &&yy96, &&yy69, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy226, &&yy226, &&yy226, &&yy226, &&yy98, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy89, &&yy95, &&yy95, &&yy95, &&yy90, &&yy91, &&yy92, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95 }; goto *yytarget[yych]; } yy72: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy227; if (yych <= '9') goto yy228; goto yy56; yy73: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy74: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy232, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy232, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy75: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy233, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234, &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy233, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234, &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy76: yych = *++YYCURSOR; if (yych == 'O') goto yy236; if (yych == 'o') goto yy236; goto yy56; yy77: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy241, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy78: { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } yy79: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy243, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy244, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy243, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy244, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy80: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy245, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy245, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy81: yych = *++YYCURSOR; if (yych == 'O') goto yy248; if (yych == 'o') goto yy248; goto yy56; yy82: yych = *++YYCURSOR; if (yych == 'C') goto yy249; if (yych == 'c') goto yy249; goto yy56; yy83: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy84: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy85: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy87, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy86: yych = *++YYCURSOR; if (yych == 'E') goto yy255; if (yych == 'e') goto yy255; goto yy56; yy87: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy241, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy88: yych = *++YYCURSOR; if (yych == 'E') goto yy256; if (yych == 'e') goto yy256; goto yy56; yy89: yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy248; goto yy56; } else { if (yych <= 'd') goto yy257; if (yych == 'o') goto yy248; goto yy56; } yy90: yych = *++YYCURSOR; if (yych == 'd') goto yy257; goto yy56; yy91: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy257, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy92: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy258, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy93: yych = *++YYCURSOR; if (yych <= '/') goto yy95; if (yych <= '0') goto yy197; if (yych <= '1') goto yy198; if (yych <= '9') goto yy199; goto yy95; yy94: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy95: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy94, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy94, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy99, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56, &&yy76, &&yy77, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82, &&yy100, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy85, &&yy86, &&yy87, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy99, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56, &&yy76, &&yy56, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82, &&yy100, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy96: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy196; if (yych <= '0') goto yy259; goto yy260; } else { if (yych <= '5') goto yy261; if (yych <= '9') goto yy262; goto yy196; } yy97: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy64, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy224, &&yy68, &&yy263, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy226, &&yy226, &&yy226, &&yy226, &&yy72, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy89, &&yy66, &&yy66, &&yy66, &&yy90, &&yy91, &&yy92, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66 }; goto *yytarget[yych]; } yy98: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy264; if (yych <= '9') goto yy265; goto yy56; yy99: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy266, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy267, &&yy56, &&yy56, &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy267, &&yy56, &&yy56, &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy100: yych = *++YYCURSOR; if (yych <= 'L') { if (yych == '.') goto yy266; goto yy56; } else { if (yych <= 'M') goto yy267; if (yych == 'm') goto yy267; goto yy56; } yy101: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy64, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy224, &&yy268, &&yy263, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy89, &&yy66, &&yy66, &&yy66, &&yy90, &&yy91, &&yy92, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66 }; goto *yytarget[yych]; } yy102: yych = *++YYCURSOR; if (yych == '-') goto yy269; if (yych <= '/') goto yy186; if (yych <= '9') goto yy226; goto yy186; yy103: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= ':') goto yy56; yy104: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy106; if (yych <= '9') goto yy104; yy106: { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TZ(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; s->time->dst = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy107: yych = *++YYCURSOR; goto yy18; yy108: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Z') goto yy270; if (yych <= '`') goto yy18; if (yych <= 'z') goto yy270; goto yy18; } yy109: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy271, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy271, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy110: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy273, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy273, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy111: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy275, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy275, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy112: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy113: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy271, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy278, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy114: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy273, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy279, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy115: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy275, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy280, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy116: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy281, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy281, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy117: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy281, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy282, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy118: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy283, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy283, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy119: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy283, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy284, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy120: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy285, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy285, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy121: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy286, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy286, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy122: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy285, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy287, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy123: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy286, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy288, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy124: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy289, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy289, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy125: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy291, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy291, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy126: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy292, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy292, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy127: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy295, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy295, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy128: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy289, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy296, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy129: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy291, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy297, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy298, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy130: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy292, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy299, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy131: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy295, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy300, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy301, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy132: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy302, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy133: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); yych = *YYCURSOR; yy134: if (yybm[0+yych] & 16) { goto yy133; } if (yych <= '/') goto yy56; if (yych <= '2') goto yy135; if (yych <= '3') goto yy137; if (yych <= '9') goto yy138; goto yy56; yy135: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy304; if (yych <= '0') goto yy305; if (yych <= '1') goto yy306; if (yych <= '9') goto yy307; goto yy304; yy136: { int length = 0; DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } yy137: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy304; if (yych <= '0') goto yy305; goto yy306; } else { if (yych <= '2') goto yy309; if (yych <= '9') goto yy310; goto yy304; } yy138: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy304; if (yych <= '0') goto yy311; goto yy312; } else { if (yych <= '2') goto yy309; if (yych <= '9') goto yy310; goto yy304; } yy139: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy313, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy140: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy141: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy314, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy314, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy142: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy315, &&yy270, &&yy316, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy315, &&yy270, &&yy316, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy143: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy314, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy317, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy144: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy315, &&yy270, &&yy316, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy318, &&yy277, &&yy319, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy145: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy320, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy320, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy146: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy320, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy321, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy147: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy322, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy323, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy322, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy323, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy148: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy324, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy324, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy149: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy150: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy322, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy323, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy325, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy326, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy151: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy324, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy327, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy152: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy300, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy153: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy328, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy328, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy154: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy155: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy329, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy283, &&yy330, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy329, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy283, &&yy330, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy156: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy328, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy332, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy157: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy297, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy158: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy329, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy283, &&yy330, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy333, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy284, &&yy334, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy159: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy335, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy335, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy160: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy335, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy336, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy161: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy337, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy337, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy162: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy337, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy338, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy163: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy339, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy339, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy164: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy340, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy341, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy342, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy340, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy341, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy342, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy165: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy166: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy339, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy343, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy167: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy340, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy341, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy342, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy344, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy345, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy346, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy168: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy297, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy169: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy72; goto yy56; } else { if (yych <= '9') goto yy347; if (yych <= ':') goto yy72; goto yy56; } yy170: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy72; goto yy56; } else { if (yych <= '4') goto yy347; if (yych == ':') goto yy72; goto yy56; } yy171: yych = *++YYCURSOR; if (yych == '.') goto yy72; if (yych == ':') goto yy72; goto yy56; yy172: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy348, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy349, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy348, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy349, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy173: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy350, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy351, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy350, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy351, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy174: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy352, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy352, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy175: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy353, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy353, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy176: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy348, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy349, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy354, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy355, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy177: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy350, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy351, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy356, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy357, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy178: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy352, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy358, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy179: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy353, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy359, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy180: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy360, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy181: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy361, &&yy362, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy361, &&yy362, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy182: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy361, &&yy362, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy363, &&yy364, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy183: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy365, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy365, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy184: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy365, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy366, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy185: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy186: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56, &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56, &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy187: yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych == 'a') goto yy231; goto yy56; yy188: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234, &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234, &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy189: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy190: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy367, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy367, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy191: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy368, &&yy368, &&yy368, &&yy368, &&yy368, &&yy368, &&yy369, &&yy369, &&yy369, &&yy369, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy192: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych <= '5') goto yy370; if (yych <= '9') goto yy107; goto yy18; yy193: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy194: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy195: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy196: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy73, &&yy56, &&yy56, &&yy203, &&yy56, &&yy204, &&yy56, &&yy56, &&yy77, &&yy79, &&yy56, &&yy56, &&yy205, &&yy81, &&yy82, &&yy56, &&yy56, &&yy56, &&yy206, &&yy56, &&yy56, &&yy85, &&yy56, &&yy87, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy73, &&yy56, &&yy56, &&yy203, &&yy56, &&yy204, &&yy56, &&yy56, &&yy56, &&yy79, &&yy56, &&yy56, &&yy205, &&yy81, &&yy82, &&yy56, &&yy56, &&yy56, &&yy206, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy197: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; if (yych <= '-') goto yy372; goto yy373; } else { if (yych <= '/') goto yy56; if (yych <= '9') goto yy199; goto yy56; } yy198: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; if (yych <= '-') goto yy372; goto yy373; } else { if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; } yy199: yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '-') goto yy372; if (yych <= '.') goto yy373; goto yy56; yy200: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; if (yych <= '-') goto yy374; goto yy372; } else { if (yych <= '/') goto yy56; if (yych <= '9') goto yy202; goto yy56; } yy201: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; if (yych <= '-') goto yy374; goto yy372; } else { if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; } yy202: yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '-') goto yy374; if (yych <= '.') goto yy372; goto yy56; yy203: yych = *++YYCURSOR; if (yych == 'E') goto yy232; if (yych == 'e') goto yy232; goto yy56; yy204: yych = *++YYCURSOR; if (yych == 'E') goto yy233; if (yych == 'e') goto yy233; goto yy56; yy205: yych = *++YYCURSOR; if (yych == 'A') goto yy245; if (yych == 'a') goto yy245; goto yy56; yy206: yych = *++YYCURSOR; if (yych == 'E') goto yy375; if (yych == 'e') goto yy375; goto yy56; yy207: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; goto yy376; } else { if (yych <= '/') goto yy208; if (yych <= '9') goto yy211; if (yych <= ':') goto yy377; } yy208: { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } yy209: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; if (yych <= '.') goto yy376; goto yy208; } else { if (yych <= '2') goto yy211; if (yych <= '9') goto yy228; if (yych <= ':') goto yy377; goto yy208; } yy210: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; goto yy376; } else { if (yych <= '/') goto yy208; if (yych <= '9') goto yy228; if (yych <= ':') goto yy377; goto yy208; } yy211: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; goto yy376; } else { if (yych == ':') goto yy377; goto yy208; } yy212: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy378, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy379, &&yy213, &&yy213, &&yy213, &&yy379, &&yy380, &&yy381, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213 }; goto *yytarget[yych]; } yy213: { int length = 0; DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); TIMELIB_PROCESS_YEAR(s->time->y, length); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } yy214: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy378, &&yy215, &&yy215, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy379, &&yy213, &&yy213, &&yy213, &&yy379, &&yy380, &&yy381, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213 }; goto *yytarget[yych]; } yy215: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy378, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy379, &&yy213, &&yy213, &&yy213, &&yy379, &&yy380, &&yy381, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213 }; goto *yytarget[yych]; } yy216: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy382, &&yy56, &&yy56, &&yy56, &&yy56, &&yy383, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy382, &&yy56, &&yy56, &&yy56, &&yy56, &&yy383, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy217: yych = *++YYCURSOR; if (yych == 'E') goto yy384; if (yych == 'e') goto yy384; goto yy56; yy218: yych = *++YYCURSOR; if (yych == 'E') goto yy385; if (yych == 'e') goto yy385; goto yy56; yy219: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy386, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy387, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy386, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy387, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy220: yych = *++YYCURSOR; if (yych == 'A') goto yy388; if (yych == 'a') goto yy388; goto yy56; yy221: yych = *++YYCURSOR; if (yych == 'O') goto yy389; if (yych == 'o') goto yy389; goto yy56; yy222: yych = *++YYCURSOR; if (yych == 'C') goto yy390; if (yych == 'c') goto yy390; goto yy56; yy223: yych = *++YYCURSOR; if (yych == 'E') goto yy391; if (yych == 'e') goto yy391; goto yy56; yy224: yych = *++YYCURSOR; if (yych <= '/') goto yy196; if (yych <= '0') goto yy392; if (yych <= '1') goto yy393; if (yych <= '9') goto yy202; goto yy196; yy225: yych = *++YYCURSOR; if (yych == '-') goto yy394; if (yych <= '/') goto yy186; if (yych <= '9') goto yy395; goto yy186; yy226: yych = *++YYCURSOR; if (yych == '-') goto yy394; if (yych <= '/') goto yy186; if (yych <= '9') goto yy397; goto yy186; yy227: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy377; goto yy208; } else { if (yych <= '9') goto yy228; if (yych <= ':') goto yy377; goto yy208; } yy228: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy377; if (yych == ':') goto yy377; goto yy208; yy229: yych = *++YYCURSOR; if (yych == 'R') goto yy399; if (yych == 'r') goto yy399; goto yy56; yy230: yych = *++YYCURSOR; if (yych == 'G') goto yy400; if (yych == 'g') goto yy400; goto yy56; yy231: yych = *++YYCURSOR; if (yych == 'Y') goto yy401; if (yych == 'y') goto yy401; goto yy56; yy232: yych = *++YYCURSOR; if (yych == 'C') goto yy403; if (yych == 'c') goto yy403; goto yy56; yy233: yych = *++YYCURSOR; if (yych == 'B') goto yy404; if (yych == 'b') goto yy404; goto yy56; yy234: yych = *++YYCURSOR; if (yych == 'R') goto yy405; if (yych == 'r') goto yy405; goto yy56; yy235: yych = *++YYCURSOR; if (yych == 'I') goto yy406; if (yych == 'i') goto yy406; goto yy56; yy236: yych = *++YYCURSOR; if (yych == 'U') goto yy407; if (yych == 'u') goto yy407; goto yy56; yy237: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy237, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy237, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy237, &&yy237, &&yy56, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy239: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy240; if (yych <= '9') goto yy408; yy240: { int length = 0; DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } yy241: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy242: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy243: yych = *++YYCURSOR; if (yych == 'N') goto yy409; if (yych == 'n') goto yy409; goto yy56; yy244: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy410, &&yy56, &&yy411, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy410, &&yy56, &&yy411, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy245: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy412, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy242, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy412, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy242, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy246: yych = *++YYCURSOR; if (yych == 'N') goto yy413; if (yych == 'n') goto yy413; goto yy56; yy247: yych = *++YYCURSOR; if (yych == 'N') goto yy414; if (yych == 'n') goto yy414; goto yy56; yy248: yych = *++YYCURSOR; if (yych == 'V') goto yy403; if (yych == 'v') goto yy403; goto yy56; yy249: yych = *++YYCURSOR; if (yych == 'T') goto yy415; if (yych == 't') goto yy415; goto yy56; yy250: yych = *++YYCURSOR; if (yych == 'T') goto yy416; if (yych == 't') goto yy416; goto yy56; yy251: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy418, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy418, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy252: yych = *++YYCURSOR; if (yych == 'N') goto yy406; if (yych == 'n') goto yy406; goto yy56; yy253: yych = *++YYCURSOR; if (yych == 'U') goto yy419; if (yych == 'u') goto yy419; goto yy56; yy254: yych = *++YYCURSOR; if (yych == 'E') goto yy420; if (yych == 'e') goto yy420; goto yy56; yy255: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; if (yych <= 'D') goto yy421; goto yy422; } else { if (yych <= 'c') goto yy56; if (yych <= 'd') goto yy421; if (yych <= 'e') goto yy422; goto yy56; } yy256: yych = *++YYCURSOR; if (yych == 'A') goto yy407; if (yych == 'a') goto yy407; goto yy56; yy257: yych = *++YYCURSOR; if (yych <= ',') { if (yych == '\t') goto yy268; goto yy196; } else { if (yych <= '-') goto yy423; if (yych <= '.') goto yy268; if (yych <= '/') goto yy263; goto yy196; } yy258: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy268, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy423, &&yy268, &&yy263, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy419, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy419, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196 }; goto *yytarget[yych]; } yy259: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; goto yy424; } else { if (yych <= '/') goto yy208; if (yych <= '9') goto yy425; if (yych <= ':') goto yy426; goto yy208; } yy260: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; if (yych <= '.') goto yy424; goto yy208; } else { if (yych <= '2') goto yy425; if (yych <= '9') goto yy427; if (yych <= ':') goto yy426; goto yy208; } yy261: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; goto yy424; } else { if (yych <= '/') goto yy208; if (yych <= '9') goto yy427; if (yych <= ':') goto yy426; goto yy208; } yy262: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy208; if (yych <= '-') goto yy372; goto yy424; } else { if (yych == ':') goto yy426; goto yy208; } yy263: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56, &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222, &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56, &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222, &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy264: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy426; goto yy208; } else { if (yych <= '9') goto yy428; if (yych <= ':') goto yy426; goto yy208; } yy265: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy426; if (yych == ':') goto yy426; goto yy208; yy266: yych = *++YYCURSOR; if (yych == 'M') goto yy267; if (yych != 'm') goto yy56; yy267: yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy429; if (yych == '\t') goto yy429; goto yy56; } else { if (yych <= ' ') goto yy429; if (yych == '.') goto yy431; goto yy56; } yy268: yych = *++YYCURSOR; if (yych <= '/') goto yy196; if (yych <= '0') goto yy197; if (yych <= '1') goto yy198; if (yych <= '9') goto yy199; goto yy196; yy269: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy432, &&yy433, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56, &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441, &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56, &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441, &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy270: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Z') goto yy443; if (yych <= '`') goto yy18; if (yych <= 'z') goto yy443; goto yy18; } yy271: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy107; } else { if (yych <= 'Z') goto yy443; if (yych <= '`') goto yy272; if (yych <= 'z') goto yy443; } yy272: { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; if (s->time->relative.weekday == 0) { s->time->relative.weekday = -7; } if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { s->time->relative.special.amount = 0 - s->time->relative.special.amount; } TIMELIB_DEINIT; return TIMELIB_AGO; } yy273: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy445, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy445, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy274: { DEBUG_OUTPUT("monthtext"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_lookup_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } yy275: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy446, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy446, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy276: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy447; } goto yy56; yy277: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy278: yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy107, &&yy272, &&yy272, &&yy272, &&yy276, &&yy272, &&yy276, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy272, &&yy272, &&yy272, &&yy272, &&yy276, &&yy272, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272 }; goto *yytarget[yych]; } yy279: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy445, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy451, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy280: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy446, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy452, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy281: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy453, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy453, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy282: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy453, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy454, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy283: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy455, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy455, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy284: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy455, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy456, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy285: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy457, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy457, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy286: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy458, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy458, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy287: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy457, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy459, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy288: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy458, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy460, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy289: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy461, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy461, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy290: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy462, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy462, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy291: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy463, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy463, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy292: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy464, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy464, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy293: ++YYCURSOR; { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy465, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy465, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[(yych = *YYCURSOR)]; } yy294: { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; if (s->time->relative.weekday_behavior != 2) { s->time->relative.weekday_behavior = 1; } TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } yy295: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy466, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy466, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy296: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy461, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy467, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy297: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy462, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy468, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy298: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy463, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy469, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy299: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy464, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy470, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy300: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy465, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy449, &&yy449, &&yy449, &&yy471, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy301: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy466, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy472, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy302: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy473, &&yy18, &&yy473, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy303: yyaccept = 4; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); yych = *YYCURSOR; yy304: { static void *yytarget[256] = { &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy303, &&yy136, &&yy474, &&yy475, &&yy476, &&yy477, &&yy477, &&yy477, &&yy477, &&yy477, &&yy477, &&yy477, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy308, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy136, &&yy136, &&yy303, &&yy303, &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136 }; goto *yytarget[yych]; } yy305: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy478, &&yy304, &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy483, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304 }; goto *yytarget[yych]; } yy306: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy484, &&yy304, &&yy485, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304 }; goto *yytarget[yych]; } yy307: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy484, &&yy304, &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304 }; goto *yytarget[yych]; } yy308: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy487; if (yych <= '2') goto yy488; if (yych <= '9') goto yy489; goto yy56; yy309: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy486; goto yy56; } else { if (yych <= '4') goto yy490; if (yych <= '9') goto yy491; if (yych <= ':') goto yy486; goto yy56; } yy310: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy486; goto yy56; } else { if (yych <= '9') goto yy491; if (yych <= ':') goto yy486; goto yy56; } yy311: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy483; goto yy56; } else { if (yych <= '0') goto yy490; if (yych <= '9') goto yy482; if (yych <= ':') goto yy483; goto yy56; } yy312: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy486; goto yy56; } else { if (yych <= '2') goto yy482; if (yych <= '9') goto yy490; if (yych <= ':') goto yy486; goto yy56; } yy313: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy314: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy492, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy492, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy315: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy316: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy317: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy492, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy494, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy318: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy495, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy319: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy495, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy320: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy496, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy496, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy321: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy496, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy497, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy322: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy498, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy498, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy323: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy324: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy499, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy499, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy325: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy498, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy500, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy326: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy327: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy499, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy501, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy328: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy329: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy503, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy503, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy330: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy107; } else { if (yych <= 'Z') goto yy443; if (yych <= '`') goto yy331; if (yych <= 'z') goto yy443; } yy331: { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy332: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy505, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy333: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy503, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy506, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy334: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy107, &&yy331, &&yy331, &&yy331, &&yy276, &&yy331, &&yy276, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy331, &&yy331, &&yy331, &&yy331, &&yy276, &&yy331, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331 }; goto *yytarget[yych]; } yy335: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy507, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy507, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy336: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy507, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy508, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy337: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy509, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy509, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy338: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy509, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy510, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy339: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy511, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy511, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy340: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy512, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy512, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy341: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy513, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy513, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy342: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy514, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy514, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy343: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy511, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy515, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy344: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy512, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy516, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy345: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy513, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy517, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy346: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy514, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy518, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy347: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy72; goto yy56; } else { if (yych <= '5') goto yy519; if (yych == ':') goto yy72; goto yy56; } yy348: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy520, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy520, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy349: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy521, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy521, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy350: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy522, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy522, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy351: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy523, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy523, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy352: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy524, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy524, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy353: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy525, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy525, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy354: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy520, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy526, &&yy505, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy355: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy521, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy527, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy356: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy522, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy528, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy357: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy523, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy529, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy358: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy524, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy530, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy359: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy525, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy531, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy360: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy532, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy361: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy533, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy533, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy362: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy534, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy534, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy363: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy533, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy535, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy364: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy534, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy536, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy365: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy537, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy537, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy366: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy537, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy538, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy367: yych = *++YYCURSOR; if (yych == 'C') goto yy417; if (yych == 'c') goto yy417; goto yy56; yy368: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy369: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy370: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych <= '9') goto yy107; goto yy18; yy371: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '9') goto yy540; goto yy186; yy372: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy541; goto yy56; yy373: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy542; goto yy56; yy374: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy543; if (yych <= '3') goto yy545; if (yych <= '9') goto yy546; goto yy56; yy375: yych = *++YYCURSOR; if (yych == 'P') goto yy418; if (yych == 'p') goto yy418; goto yy56; yy376: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy547; if (yych <= '6') goto yy548; if (yych <= '9') goto yy549; goto yy56; yy377: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy550; if (yych <= '6') goto yy551; if (yych <= '9') goto yy552; goto yy56; yy378: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy553; goto yy56; yy379: yych = *++YYCURSOR; if (yych == 'd') goto yy554; goto yy56; yy380: yych = *++YYCURSOR; if (yych == 't') goto yy554; goto yy56; yy381: yych = *++YYCURSOR; if (yych == 'h') goto yy554; goto yy56; yy382: yych = *++YYCURSOR; if (yych == 'R') goto yy555; if (yych == 'r') goto yy555; goto yy56; yy383: yych = *++YYCURSOR; if (yych == 'G') goto yy555; if (yych == 'g') goto yy555; goto yy56; yy384: yych = *++YYCURSOR; if (yych == 'C') goto yy555; if (yych == 'c') goto yy555; goto yy56; yy385: yych = *++YYCURSOR; if (yych == 'B') goto yy555; if (yych == 'b') goto yy555; goto yy56; yy386: yych = *++YYCURSOR; if (yych == 'N') goto yy555; if (yych == 'n') goto yy555; goto yy56; yy387: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy388: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy389: yych = *++YYCURSOR; if (yych == 'V') goto yy555; if (yych == 'v') goto yy555; goto yy56; yy390: yych = *++YYCURSOR; if (yych == 'T') goto yy555; if (yych == 't') goto yy555; goto yy56; yy391: yych = *++YYCURSOR; if (yych == 'P') goto yy556; if (yych == 'p') goto yy556; goto yy56; yy392: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; if (yych <= '-') goto yy374; goto yy372; } else { if (yych <= '/') goto yy56; if (yych <= '9') goto yy557; goto yy56; } yy393: yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy56; if (yych <= '-') goto yy374; goto yy372; } else { if (yych <= '/') goto yy56; if (yych <= '2') goto yy557; goto yy56; } yy394: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy558, &&yy559, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56, &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441, &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56, &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441, &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy395: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy562, &&yy563, &&yy564, &&yy565, &&yy566, &&yy567, &&yy568, &&yy569, &&yy569, &&yy570, &&yy57, &&yy57, &&yy57, &&yy571, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy561, &&yy396, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396, &&yy561, &&yy561, &&yy561, &&yy396, &&yy396, &&yy561, &&yy561, &&yy561, &&yy396, &&yy396, &&yy396, &&yy561, &&yy561, &&yy396, &&yy561, &&yy583, &&yy561, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy561, &&yy396, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396, &&yy396, &&yy561, &&yy561, &&yy561, &&yy396, &&yy396, &&yy396, &&yy561, &&yy561, &&yy396, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396 }; goto *yytarget[yych]; } yy396: { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; add_error(s, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } yy397: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy562, &&yy563, &&yy564, &&yy585, &&yy586, &&yy587, &&yy588, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy571, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy561, &&yy398, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398, &&yy561, &&yy561, &&yy561, &&yy398, &&yy398, &&yy561, &&yy561, &&yy561, &&yy398, &&yy398, &&yy398, &&yy561, &&yy561, &&yy398, &&yy561, &&yy583, &&yy561, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy561, &&yy398, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398, &&yy398, &&yy561, &&yy561, &&yy561, &&yy398, &&yy398, &&yy398, &&yy561, &&yy561, &&yy398, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398 }; goto *yytarget[yych]; } yy398: { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } yy399: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy589, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy589, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy400: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy590, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy590, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy401: ++YYCURSOR; if ((yych = *YYCURSOR) == 'S') goto yy591; if (yych == 's') goto yy591; yy402: { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 1, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy403: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy592, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy592, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy404: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy593, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy593, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy405: yych = *++YYCURSOR; if (yych == 'T') goto yy594; if (yych == 't') goto yy594; goto yy56; yy406: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy595; if (yych == 'd') goto yy595; goto yy402; yy407: yych = *++YYCURSOR; if (yych == 'R') goto yy401; if (yych == 'r') goto yy401; goto yy56; yy408: yych = *++YYCURSOR; if (yych <= '/') goto yy240; if (yych <= '9') goto yy596; goto yy240; yy409: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy597, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy597, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy410: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy411: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy412: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy598, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy598, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy413: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy599, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy599, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402 }; goto *yytarget[yych]; } yy414: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy595, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy600, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy595, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy600, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402 }; goto *yytarget[yych]; } yy415: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy601, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy601, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy416: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy602; if (yych == 'u') goto yy602; goto yy402; yy417: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy603, &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy603, &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402 }; goto *yytarget[yych]; } yy418: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy403, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy403, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78 }; goto *yytarget[yych]; } yy419: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy604; if (yych == 'r') goto yy604; goto yy402; yy420: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy605; if (yych == 's') goto yy605; goto yy402; yy421: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy606; if (yych == 'n') goto yy606; goto yy402; yy422: yych = *++YYCURSOR; if (yych == 'K') goto yy607; if (yych == 'k') goto yy607; goto yy56; yy423: yych = *++YYCURSOR; if (yych <= '/') goto yy196; if (yych <= '0') goto yy608; if (yych <= '1') goto yy609; if (yych <= '9') goto yy610; goto yy196; yy424: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy611; if (yych <= '6') goto yy612; if (yych <= '9') goto yy549; goto yy56; yy425: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy372, &&yy424, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy426, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy426: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy615; if (yych <= '6') goto yy616; if (yych <= '9') goto yy552; goto yy56; yy427: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy426, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy426, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy428: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy426, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy617, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy429: ++YYCURSOR; { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } yy431: yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy429; if (yych <= 0x08) goto yy56; goto yy429; } else { if (yych == ' ') goto yy429; goto yy56; } yy432: yych = *++YYCURSOR; if (yych == '-') goto yy618; if (yych <= '/') goto yy56; if (yych <= '9') goto yy619; goto yy56; yy433: yych = *++YYCURSOR; if (yych == '-') goto yy618; if (yych <= '/') goto yy56; if (yych <= '2') goto yy619; goto yy56; yy434: yych = *++YYCURSOR; if (yych == '-') goto yy618; goto yy56; yy435: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy620, &&yy56, &&yy56, &&yy56, &&yy56, &&yy621, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy620, &&yy56, &&yy56, &&yy56, &&yy56, &&yy621, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy436: yych = *++YYCURSOR; if (yych == 'E') goto yy622; if (yych == 'e') goto yy622; goto yy56; yy437: yych = *++YYCURSOR; if (yych == 'E') goto yy623; if (yych == 'e') goto yy623; goto yy56; yy438: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy624, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy625, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy624, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy625, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy439: yych = *++YYCURSOR; if (yych == 'A') goto yy626; if (yych == 'a') goto yy626; goto yy56; yy440: yych = *++YYCURSOR; if (yych == 'O') goto yy627; if (yych == 'o') goto yy627; goto yy56; yy441: yych = *++YYCURSOR; if (yych == 'C') goto yy628; if (yych == 'c') goto yy628; goto yy56; yy442: yych = *++YYCURSOR; if (yych == 'E') goto yy629; if (yych == 'e') goto yy629; goto yy56; yy443: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Z') goto yy630; if (yych <= '`') goto yy18; if (yych <= 'z') goto yy630; goto yy18; } yy444: yych = *++YYCURSOR; if (yych <= '/') goto yy134; if (yych <= '2') goto yy631; if (yych <= '3') goto yy632; goto yy134; yy445: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy446: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy634, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy634, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy447: yyaccept = 2; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy449: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy450: yych = *++YYCURSOR; if (yybm[0+yych] & 64) { goto yy447; } if (yych <= '/') goto yy134; if (yych <= '2') goto yy631; if (yych <= '3') goto yy632; goto yy134; yy451: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy636, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy452: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy634, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy637, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy453: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy454: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy455: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy639, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy639, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy456: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy639, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy640, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy457: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy641, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy641, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy458: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy642, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy642, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy459: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy641, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy643, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy460: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy642, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy644, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy461: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy645, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy645, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy462: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy463: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy647, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy647, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy464: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy648, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy648, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy465: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy649, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy649, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy466: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy650, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy650, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy467: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy645, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy651, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy468: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy652, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy469: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy647, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy653, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy470: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy648, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy654, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy471: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy649, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy655, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy472: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy650, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy656, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy473: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy657; if (yych <= '2') goto yy658; if (yych <= '9') goto yy659; goto yy56; yy474: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy483; goto yy136; } else { if (yych <= '0') goto yy660; if (yych <= '9') goto yy661; if (yych <= ':') goto yy483; goto yy136; } yy475: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy486; goto yy136; } else { if (yych <= '2') goto yy661; if (yych <= '9') goto yy660; if (yych <= ':') goto yy486; goto yy136; } yy476: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy486; goto yy136; } else { if (yych <= '4') goto yy660; if (yych <= '9') goto yy662; if (yych <= ':') goto yy486; goto yy136; } yy477: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy486; goto yy136; } else { if (yych <= '9') goto yy662; if (yych <= ':') goto yy486; goto yy136; } yy478: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy304; if (yych <= '0') goto yy663; goto yy664; } else { if (yych <= '2') goto yy665; if (yych <= '5') goto yy666; if (yych <= '9') goto yy667; goto yy304; } yy479: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy483; goto yy56; } else { if (yych <= '0') goto yy668; if (yych <= '9') goto yy670; if (yych <= ':') goto yy483; goto yy56; } yy480: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy486; goto yy56; } else { if (yych <= '2') goto yy670; if (yych <= '9') goto yy668; if (yych <= ':') goto yy486; goto yy56; } yy481: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy486; goto yy56; } else { if (yych <= '4') goto yy668; if (yych <= '9') goto yy671; if (yych <= ':') goto yy486; goto yy56; } yy482: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy486; goto yy56; } else { if (yych <= '9') goto yy671; if (yych <= ':') goto yy486; goto yy56; } yy483: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy672; if (yych <= '9') goto yy674; goto yy56; yy484: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy304; if (yych <= '0') goto yy675; goto yy676; } else { if (yych <= '2') goto yy677; if (yych <= '5') goto yy678; if (yych <= '9') goto yy679; goto yy304; } yy485: yych = *++YYCURSOR; if (yych <= '/') { if (yych != '.') goto yy56; } else { if (yych <= '0') goto yy668; if (yych <= '9') goto yy670; if (yych >= ';') goto yy56; } yy486: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy680; if (yych <= '9') goto yy681; goto yy56; yy487: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy483; goto yy56; } else { if (yych <= '9') goto yy489; if (yych <= ':') goto yy483; goto yy56; } yy488: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy483; goto yy56; } else { if (yych <= '4') goto yy489; if (yych == ':') goto yy483; goto yy56; } yy489: yych = *++YYCURSOR; if (yych == '.') goto yy483; if (yych == ':') goto yy483; goto yy56; yy490: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy483; goto yy56; } else { if (yych <= '9') goto yy671; if (yych <= ':') goto yy483; goto yy56; } yy491: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy671; goto yy56; yy492: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy682, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy682, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy493: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy494: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy682, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy683, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy495: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy496: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy687, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy497: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy687, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy498: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy499: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy688, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy688, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy500: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy636, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy501: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy688, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy689, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy502: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy503: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy107; } else { if (yych <= 'Z') goto yy630; if (yych <= '`') goto yy504; if (yych <= 'z') goto yy630; } yy504: { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy505: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy506: yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy107, &&yy504, &&yy504, &&yy504, &&yy276, &&yy504, &&yy276, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy504, &&yy504, &&yy504, &&yy504, &&yy276, &&yy504, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504 }; goto *yytarget[yych]; } yy507: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy690, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy690, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy508: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy690, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy691, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy509: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy692, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy692, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy510: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy692, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy693, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy511: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy512: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy695, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy695, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy513: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy696, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy696, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy514: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy515: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy698, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy516: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy695, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy699, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy517: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy696, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy635, &&yy635, &&yy635, &&yy635, &&yy700, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy518: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy701, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy519: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy702; goto yy56; yy520: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy521: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy522: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy703, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy703, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy523: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy705, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy705, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy524: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy706, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy706, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy525: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy526: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy652, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy527: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy698, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy528: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy703, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy707, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy529: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy705, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy708, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy530: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy706, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy709, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy531: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy701, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy532: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy533: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy710, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy710, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy534: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy711, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy711, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy535: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy710, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy712, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy536: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy711, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy713, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy537: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy714, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy714, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy538: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy714, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy715, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy539: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy716, &&yy18, &&yy18, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy540: yych = *++YYCURSOR; if (yybm[0+yych] & 4) { goto yy57; } if (yych == '-') goto yy716; goto yy186; yy541: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy717; goto yy56; yy542: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy718; goto yy56; yy543: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy544: { int length = 0; DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } yy545: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy720, &&yy720, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy546: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy547: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy725; goto yy208; yy548: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy208; } else { if (yych <= '0') goto yy725; if (yych <= '9') goto yy718; goto yy208; } yy549: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy718; goto yy208; yy550: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy552; goto yy208; yy551: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych != '0') goto yy208; yy552: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; goto yy208; yy553: yych = *++YYCURSOR; if (yych <= '/') goto yy213; if (yych <= '9') goto yy726; goto yy213; yy554: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy378; goto yy213; yy555: yych = *++YYCURSOR; if (yych == '/') goto yy727; goto yy56; yy556: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy727; goto yy56; } else { if (yych <= 'T') goto yy555; if (yych == 't') goto yy555; goto yy56; } yy557: yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '-') goto yy728; if (yych <= '.') goto yy372; goto yy56; yy558: yych = *++YYCURSOR; if (yych == '-') goto yy618; if (yych <= '/') goto yy56; if (yych <= '9') goto yy434; goto yy56; yy559: yych = *++YYCURSOR; if (yych == '-') goto yy618; if (yych <= '/') goto yy56; if (yych <= '2') goto yy434; goto yy56; yy560: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy561: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy560, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy560, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy729, &&yy729, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy572, &&yy56, &&yy56, &&yy573, &&yy56, &&yy574, &&yy56, &&yy76, &&yy575, &&yy577, &&yy56, &&yy56, &&yy578, &&yy579, &&yy580, &&yy56, &&yy56, &&yy56, &&yy581, &&yy84, &&yy56, &&yy582, &&yy86, &&yy584, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy572, &&yy56, &&yy56, &&yy573, &&yy56, &&yy574, &&yy56, &&yy76, &&yy56, &&yy577, &&yy56, &&yy56, &&yy578, &&yy579, &&yy580, &&yy56, &&yy56, &&yy56, &&yy581, &&yy84, &&yy56, &&yy56, &&yy86, &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy562: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy731, &&yy733, &&yy734, &&yy734, &&yy734, &&yy734, &&yy734, &&yy734, &&yy734, &&yy734, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy735, &&yy730, &&yy730, &&yy736, &&yy730, &&yy737, &&yy730, &&yy730, &&yy730, &&yy738, &&yy730, &&yy730, &&yy739, &&yy740, &&yy741, &&yy730, &&yy730, &&yy730, &&yy742, &&yy730, &&yy730, &&yy730, &&yy743, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy735, &&yy730, &&yy730, &&yy736, &&yy730, &&yy737, &&yy730, &&yy730, &&yy730, &&yy738, &&yy730, &&yy730, &&yy739, &&yy740, &&yy741, &&yy730, &&yy730, &&yy730, &&yy742, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730 }; goto *yytarget[yych]; } yy563: yych = *++YYCURSOR; if (yych <= '/') goto yy730; if (yych <= '0') goto yy744; if (yych <= '2') goto yy745; if (yych <= '3') goto yy746; goto yy730; yy564: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy751; if (yych <= '1') goto yy752; if (yych <= '9') goto yy753; goto yy56; yy565: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '0') goto yy754; if (yych <= '9') goto yy756; goto yy186; yy566: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '2') goto yy756; if (yych <= '9') goto yy757; goto yy186; yy567: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '9') goto yy757; goto yy186; yy568: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '5') goto yy757; if (yych <= '6') goto yy758; if (yych <= '9') goto yy759; goto yy186; yy569: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '9') goto yy759; goto yy186; yy570: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '0') goto yy759; if (yych <= '9') goto yy57; goto yy186; yy571: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy760; if (yych <= '1') goto yy761; goto yy56; yy572: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy762, &&yy56, &&yy56, &&yy56, &&yy56, &&yy763, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy762, &&yy56, &&yy56, &&yy56, &&yy56, &&yy763, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy573: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy764, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy764, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy574: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy765, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234, &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy765, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234, &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy575: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy766; } else { if (yych == 'W') goto yy576; if (yych <= 'X') goto yy767; } yy576: { int length = 0; DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } yy577: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy768, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy769, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy768, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy769, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy578: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy770, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy770, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy579: yych = *++YYCURSOR; if (yych == 'O') goto yy771; if (yych == 'o') goto yy771; goto yy56; yy580: yych = *++YYCURSOR; if (yych == 'C') goto yy772; if (yych == 'c') goto yy772; goto yy56; yy581: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy773, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy773, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy582: yych = *++YYCURSOR; if (yych == 'I') goto yy584; goto yy576; yy583: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy774, &&yy775, &&yy775, &&yy775, &&yy775, &&yy776, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy255, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy255, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy584: yych = *++YYCURSOR; if (yych == 'I') goto yy766; goto yy576; yy585: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '0') goto yy777; if (yych <= '9') goto yy778; goto yy186; yy586: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '2') goto yy778; if (yych <= '9') goto yy779; goto yy186; yy587: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '9') goto yy779; goto yy186; yy588: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '5') goto yy779; if (yych <= '6') goto yy780; if (yych <= '9') goto yy57; goto yy186; yy589: yych = *++YYCURSOR; if (yych == 'L') goto yy242; if (yych == 'l') goto yy242; goto yy56; yy590: yych = *++YYCURSOR; if (yych == 'S') goto yy781; if (yych == 's') goto yy781; goto yy56; yy591: yych = *++YYCURSOR; goto yy402; yy592: yych = *++YYCURSOR; if (yych == 'M') goto yy601; if (yych == 'm') goto yy601; goto yy56; yy593: yych = *++YYCURSOR; if (yych == 'U') goto yy597; if (yych == 'u') goto yy597; goto yy56; yy594: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy782, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy783, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy782, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy783, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy595: yych = *++YYCURSOR; if (yych == 'A') goto yy784; if (yych == 'a') goto yy784; goto yy56; yy596: yych = *++YYCURSOR; if (yych <= '/') goto yy240; if (yych <= '9') goto yy785; goto yy240; yy597: yych = *++YYCURSOR; if (yych == 'A') goto yy786; if (yych == 'a') goto yy786; goto yy56; yy598: yych = *++YYCURSOR; if (yych == 'H') goto yy242; if (yych == 'h') goto yy242; goto yy56; yy599: yych = *++YYCURSOR; if (yych == 'T') goto yy787; if (yych == 't') goto yy787; goto yy56; yy600: yych = *++YYCURSOR; if (yych == 'H') goto yy401; if (yych == 'h') goto yy401; goto yy56; yy601: yych = *++YYCURSOR; if (yych == 'B') goto yy788; if (yych == 'b') goto yy788; goto yy56; yy602: yych = *++YYCURSOR; if (yych == 'R') goto yy605; if (yych == 'r') goto yy605; goto yy56; yy603: yych = *++YYCURSOR; if (yych == 'N') goto yy789; if (yych == 'n') goto yy789; goto yy56; yy604: yych = *++YYCURSOR; if (yych == 'S') goto yy605; if (yych != 's') goto yy56; yy605: yych = *++YYCURSOR; if (yych == 'D') goto yy595; if (yych == 'd') goto yy595; goto yy56; yy606: yych = *++YYCURSOR; if (yych == 'E') goto yy604; if (yych == 'e') goto yy604; goto yy56; yy607: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy187, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy187, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402 }; goto *yytarget[yych]; } yy608: yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '.') goto yy372; if (yych <= '/') goto yy56; if (yych <= '9') goto yy610; goto yy56; yy609: yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '.') goto yy372; if (yych <= '/') goto yy56; if (yych >= '3') goto yy56; yy610: yych = *++YYCURSOR; if (yych <= ',') goto yy56; if (yych <= '.') goto yy372; goto yy56; yy611: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy790; goto yy208; yy612: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy208; } else { if (yych <= '0') goto yy790; if (yych <= '9') goto yy718; goto yy208; } yy613: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy613, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy613, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy615: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy791; goto yy208; yy616: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych == '0') goto yy791; goto yy208; yy617: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy792; if (yych <= '6') goto yy793; if (yych <= '9') goto yy552; goto yy56; yy618: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy794; if (yych <= '3') goto yy795; if (yych <= '9') goto yy796; goto yy56; yy619: yych = *++YYCURSOR; if (yych == '-') goto yy797; goto yy56; yy620: yych = *++YYCURSOR; if (yych == 'R') goto yy798; if (yych == 'r') goto yy798; goto yy56; yy621: yych = *++YYCURSOR; if (yych == 'G') goto yy798; if (yych == 'g') goto yy798; goto yy56; yy622: yych = *++YYCURSOR; if (yych == 'C') goto yy798; if (yych == 'c') goto yy798; goto yy56; yy623: yych = *++YYCURSOR; if (yych == 'B') goto yy798; if (yych == 'b') goto yy798; goto yy56; yy624: yych = *++YYCURSOR; if (yych == 'N') goto yy798; if (yych == 'n') goto yy798; goto yy56; yy625: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy626: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy627: yych = *++YYCURSOR; if (yych == 'V') goto yy798; if (yych == 'v') goto yy798; goto yy56; yy628: yych = *++YYCURSOR; if (yych == 'T') goto yy798; if (yych == 't') goto yy798; goto yy56; yy629: yych = *++YYCURSOR; if (yych == 'P') goto yy799; if (yych == 'p') goto yy799; goto yy56; yy630: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Z') goto yy800; if (yych <= '`') goto yy18; if (yych <= 'z') goto yy800; goto yy18; } yy631: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy304; if (yych <= '0') goto yy801; if (yych <= '1') goto yy802; if (yych <= '9') goto yy803; goto yy304; yy632: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy304; if (yych <= '0') goto yy801; goto yy802; } else { if (yych <= '2') goto yy309; if (yych <= '9') goto yy310; goto yy304; } yy633: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy634: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy804, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy804, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy635: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy636: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy637: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy804, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy806, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy638: yych = *++YYCURSOR; if (yych == 'O') goto yy807; if (yych == 'o') goto yy807; goto yy56; yy639: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy808, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy808, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy640: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy808, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy809, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy641: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy642: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy813, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy813, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy643: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy814, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy644: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy813, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy815, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy645: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy816, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy816, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy646: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy647: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy817, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy648: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy649: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy818, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy818, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy650: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy651: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy816, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy819, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy652: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy653: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy817, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy654: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy814, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy655: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy818, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy820, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy656: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy657: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych <= '9') goto yy659; if (yych <= ':') goto yy192; goto yy18; yy658: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy18; if (yych >= '5') goto yy370; } else { if (yych <= '9') goto yy107; if (yych <= ':') goto yy192; goto yy18; } yy659: yych = *++YYCURSOR; if (yych <= '/') goto yy18; if (yych <= '5') goto yy370; if (yych <= '9') goto yy107; if (yych <= ':') goto yy192; goto yy18; yy660: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy483; goto yy136; } else { if (yych <= '9') goto yy821; if (yych <= ':') goto yy483; goto yy136; } yy661: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy486; goto yy136; } else { if (yych <= '9') goto yy821; if (yych <= ':') goto yy486; goto yy136; } yy662: yych = *++YYCURSOR; if (yych <= '/') goto yy136; if (yych <= '9') goto yy821; goto yy136; yy663: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy822; goto yy136; } else { if (yych <= '0') goto yy823; if (yych <= '9') goto yy824; if (yych <= ':') goto yy822; goto yy136; } yy664: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy825; goto yy136; } else { if (yych <= '2') goto yy824; if (yych <= '9') goto yy823; if (yych <= ':') goto yy825; goto yy136; } yy665: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy825; goto yy136; } else { if (yych <= '4') goto yy823; if (yych <= '9') goto yy826; if (yych <= ':') goto yy825; goto yy136; } yy666: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy825; goto yy136; } else { if (yych <= '9') goto yy826; if (yych <= ':') goto yy825; goto yy136; } yy667: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy825; goto yy136; } else { if (yych <= '9') goto yy662; if (yych <= ':') goto yy825; goto yy136; } yy668: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy483; if (yych == ':') goto yy483; yy669: { int length = 0; DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } yy670: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy486; if (yych == ':') goto yy486; goto yy669; yy671: yych = *++YYCURSOR; goto yy669; yy672: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy827; } else { if (yych <= '9') goto yy674; if (yych <= ':') goto yy827; } yy673: { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } yy674: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy827; if (yych == ':') goto yy827; goto yy673; yy675: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy828; goto yy136; } else { if (yych <= '0') goto yy829; if (yych <= '9') goto yy830; if (yych <= ':') goto yy828; goto yy136; } yy676: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy831; goto yy136; } else { if (yych <= '2') goto yy830; if (yych <= '9') goto yy829; if (yych <= ':') goto yy831; goto yy136; } yy677: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy831; goto yy136; } else { if (yych <= '4') goto yy829; if (yych <= '9') goto yy832; if (yych <= ':') goto yy831; goto yy136; } yy678: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy831; goto yy136; } else { if (yych <= '9') goto yy832; if (yych <= ':') goto yy831; goto yy136; } yy679: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy831; goto yy136; } else { if (yych <= '9') goto yy662; if (yych <= ':') goto yy831; goto yy136; } yy680: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy833; goto yy673; } else { if (yych <= '9') goto yy834; if (yych <= ':') goto yy833; goto yy673; } yy681: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy833; if (yych == ':') goto yy833; goto yy673; yy682: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy835, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy835, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy683: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy835, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy836, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy684: yych = *++YYCURSOR; if (yybm[0+yych] & 64) { goto yy447; } goto yy134; yy685: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy686: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56, &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy843, &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56, &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy843, &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy687: yych = *++YYCURSOR; if (yych == 'D') goto yy845; if (yych == 'd') goto yy845; goto yy686; yy688: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy846, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy846, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy689: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy846, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy847, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy690: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy848, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy848, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy691: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy848, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy849, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy692: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy850, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy850, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy693: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy850, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy851, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy694: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy852, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy852, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy695: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy696: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy853, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy853, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy697: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy854, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy854, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy698: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy852, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy855, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy699: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy814, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy700: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy853, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy856, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy701: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy854, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy857, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy702: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy396; if (yych <= '5') goto yy858; if (yych <= '6') goto yy859; goto yy396; yy703: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy107; } else { if (yych <= 'Z') goto yy800; if (yych <= '`') goto yy704; if (yych <= 'z') goto yy800; } yy704: { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy705: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy860, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy860, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy706: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy861, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy861, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy707: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy107, &&yy704, &&yy704, &&yy704, &&yy276, &&yy704, &&yy276, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy704, &&yy704, &&yy704, &&yy704, &&yy276, &&yy704, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704 }; goto *yytarget[yych]; } yy708: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy860, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy862, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy709: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy861, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy863, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy710: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy864, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy864, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy711: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy865, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy865, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy712: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy864, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy866, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy713: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy865, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy867, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy714: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy868, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy868, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy715: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy868, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy869, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy716: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy870; if (yych <= '1') goto yy871; goto yy56; yy717: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy872; goto yy56; yy718: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy719; if (yych <= '9') goto yy872; yy719: { int length = 0; DEBUG_OUTPUT("pointed date YY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } yy720: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy721: yych = *++YYCURSOR; if (yych == 'd') goto yy873; goto yy56; yy722: yych = *++YYCURSOR; if (yych == 't') goto yy873; goto yy56; yy723: yych = *++YYCURSOR; if (yych == 'h') goto yy873; goto yy56; yy724: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy874; goto yy56; yy725: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy872; goto yy208; yy726: yych = *++YYCURSOR; if (yych <= '/') goto yy213; if (yych <= '9') goto yy876; goto yy213; yy727: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy877; goto yy56; yy728: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy878; if (yych <= '3') goto yy879; if (yych <= '9') goto yy546; goto yy56; yy729: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy730: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy729, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy729, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy729, &&yy729, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy572, &&yy56, &&yy56, &&yy747, &&yy56, &&yy748, &&yy56, &&yy56, &&yy575, &&yy577, &&yy56, &&yy56, &&yy749, &&yy579, &&yy580, &&yy56, &&yy56, &&yy56, &&yy750, &&yy56, &&yy56, &&yy582, &&yy56, &&yy584, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy572, &&yy56, &&yy56, &&yy747, &&yy56, &&yy748, &&yy56, &&yy56, &&yy56, &&yy577, &&yy56, &&yy56, &&yy749, &&yy579, &&yy580, &&yy56, &&yy56, &&yy56, &&yy750, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy731: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy880; if (yych <= '/') goto yy732; if (yych <= '9') goto yy881; yy732: { int length = 0; DEBUG_OUTPUT("gnudateshorter"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } yy733: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy880; if (yych <= '/') goto yy732; if (yych <= '2') goto yy881; goto yy732; yy734: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy880; goto yy732; yy735: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy882, &&yy56, &&yy56, &&yy56, &&yy56, &&yy883, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy882, &&yy56, &&yy56, &&yy56, &&yy56, &&yy883, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy736: yych = *++YYCURSOR; if (yych == 'E') goto yy884; if (yych == 'e') goto yy884; goto yy56; yy737: yych = *++YYCURSOR; if (yych == 'E') goto yy885; if (yych == 'e') goto yy885; goto yy56; yy738: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy886, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy887, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy886, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy887, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy739: yych = *++YYCURSOR; if (yych == 'A') goto yy888; if (yych == 'a') goto yy888; goto yy56; yy740: yych = *++YYCURSOR; if (yych == 'O') goto yy889; if (yych == 'o') goto yy889; goto yy56; yy741: yych = *++YYCURSOR; if (yych == 'C') goto yy890; if (yych == 'c') goto yy890; goto yy56; yy742: yych = *++YYCURSOR; if (yych == 'E') goto yy891; if (yych == 'e') goto yy891; goto yy56; yy743: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy774; if (yych <= '4') goto yy775; if (yych <= '5') goto yy776; goto yy56; yy744: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy892; if (yych <= '9') goto yy893; goto yy56; yy745: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy893; goto yy56; yy746: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy893; if (yych <= '6') goto yy894; goto yy56; yy747: yych = *++YYCURSOR; if (yych == 'E') goto yy764; if (yych == 'e') goto yy764; goto yy56; yy748: yych = *++YYCURSOR; if (yych == 'E') goto yy765; if (yych == 'e') goto yy765; goto yy56; yy749: yych = *++YYCURSOR; if (yych == 'A') goto yy770; if (yych == 'a') goto yy770; goto yy56; yy750: yych = *++YYCURSOR; if (yych == 'E') goto yy895; if (yych == 'e') goto yy895; goto yy56; yy751: yych = *++YYCURSOR; if (yych <= '.') goto yy56; if (yych <= '/') goto yy896; if (yych <= '9') goto yy897; goto yy56; yy752: yych = *++YYCURSOR; if (yych <= '.') goto yy56; if (yych <= '/') goto yy896; if (yych <= '2') goto yy897; goto yy56; yy753: yych = *++YYCURSOR; if (yych == '/') goto yy896; goto yy56; yy754: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy898, &&yy899, &&yy899, &&yy901, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755 }; goto *yytarget[yych]; } yy755: { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } yy756: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy899, &&yy899, &&yy899, &&yy901, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755 }; goto *yytarget[yych]; } yy757: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755 }; goto *yytarget[yych]; } yy758: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy57, &&yy57, &&yy57, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755 }; goto *yytarget[yych]; } yy759: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755 }; goto *yytarget[yych]; } yy760: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy903; goto yy56; yy761: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy903; goto yy56; yy762: yych = *++YYCURSOR; if (yych == 'R') goto yy904; if (yych == 'r') goto yy904; goto yy56; yy763: yych = *++YYCURSOR; if (yych == 'G') goto yy905; if (yych == 'g') goto yy905; goto yy56; yy764: yych = *++YYCURSOR; if (yych == 'C') goto yy906; if (yych == 'c') goto yy906; goto yy56; yy765: yych = *++YYCURSOR; if (yych == 'B') goto yy907; if (yych == 'b') goto yy907; goto yy56; yy766: yych = *++YYCURSOR; if (yych != 'I') goto yy576; yy767: yych = *++YYCURSOR; goto yy576; yy768: yych = *++YYCURSOR; if (yych == 'N') goto yy908; if (yych == 'n') goto yy908; goto yy56; yy769: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy909, &&yy56, &&yy910, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy909, &&yy56, &&yy910, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy770: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy911, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy767, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy911, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy767, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy771: yych = *++YYCURSOR; if (yych == 'V') goto yy906; if (yych == 'v') goto yy906; goto yy56; yy772: yych = *++YYCURSOR; if (yych == 'T') goto yy912; if (yych == 't') goto yy912; goto yy56; yy773: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy913, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy913, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy774: yych = *++YYCURSOR; if (yych <= '0') goto yy56; if (yych <= '9') goto yy914; goto yy56; yy775: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy914; goto yy56; yy776: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '3') goto yy914; goto yy56; yy777: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy186; if (yych <= '0') goto yy898; goto yy899; } else { if (yych <= '3') goto yy901; if (yych <= '9') goto yy902; goto yy186; } yy778: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '2') goto yy899; if (yych <= '3') goto yy901; if (yych <= '9') goto yy902; goto yy186; yy779: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '9') goto yy902; goto yy186; yy780: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '6') goto yy902; if (yych <= '9') goto yy57; goto yy186; yy781: yych = *++YYCURSOR; if (yych == 'T') goto yy242; if (yych == 't') goto yy242; goto yy56; yy782: yych = *++YYCURSOR; if (yych == 'N') goto yy783; if (yych != 'n') goto yy56; yy783: yych = *++YYCURSOR; if (yych == 'I') goto yy916; if (yych == 'i') goto yy916; goto yy56; yy784: yych = *++YYCURSOR; if (yych == 'Y') goto yy591; if (yych == 'y') goto yy591; goto yy56; yy785: yych = *++YYCURSOR; goto yy240; yy786: yych = *++YYCURSOR; if (yych == 'R') goto yy917; if (yych == 'r') goto yy917; goto yy56; yy787: yych = *++YYCURSOR; if (yych == 'E') goto yy401; if (yych == 'e') goto yy401; goto yy56; yy788: yych = *++YYCURSOR; if (yych == 'E') goto yy918; if (yych == 'e') goto yy918; goto yy56; yy789: yych = *++YYCURSOR; if (yych == 'D') goto yy401; if (yych == 'd') goto yy401; goto yy56; yy790: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy724, &&yy208, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy791: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy724, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy792: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych <= '/') goto yy208; if (yych <= '9') goto yy919; goto yy208; yy793: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych == '0') goto yy919; goto yy208; yy794: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy795: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy796, &&yy796, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy796: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy721; goto yy544; } else { if (yych <= 'r') goto yy721; if (yych <= 's') goto yy722; if (yych <= 't') goto yy723; goto yy544; } yy797: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy920; if (yych <= '3') goto yy921; if (yych <= '9') goto yy796; goto yy56; yy798: yych = *++YYCURSOR; if (yych == '-') goto yy922; goto yy56; yy799: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy922; goto yy56; } else { if (yych <= 'T') goto yy798; if (yych == 't') goto yy798; goto yy56; } yy800: yych = *++YYCURSOR; if (yych == ')') goto yy107; goto yy18; yy801: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy923, &&yy478, &&yy304, &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy483, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304 }; goto *yytarget[yych]; } yy802: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy923, &&yy484, &&yy304, &&yy485, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304 }; goto *yytarget[yych]; } yy803: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy923, &&yy484, &&yy304, &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304 }; goto *yytarget[yych]; } yy804: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy805: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy806: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy807: yych = *++YYCURSOR; if (yych == 'F') goto yy926; if (yych == 'f') goto yy926; goto yy56; yy808: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'E') goto yy927; if (yych == 'e') goto yy927; goto yy18; } yy809: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy927, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy928, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy810: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy811: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56, &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy929, &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56, &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy929, &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy812: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy810; goto yy18; } else { if (yych <= ' ') goto yy810; if (yych == ')') goto yy107; goto yy18; } yy813: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'T') goto yy930; if (yych == 't') goto yy930; goto yy18; } yy814: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy815: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy930, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy931, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy816: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'R') goto yy932; if (yych == 'r') goto yy932; goto yy18; } yy817: yych = *++YYCURSOR; if (yych == 'D') goto yy845; if (yych == 'd') goto yy845; goto yy811; yy818: yych = *++YYCURSOR; if (yych == ')') goto yy107; goto yy294; yy819: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy932, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy933, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy820: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy821: yych = *++YYCURSOR; if (yych <= '/') goto yy136; if (yych <= '9') goto yy934; goto yy136; yy822: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy935; if (yych <= '6') goto yy936; if (yych <= '9') goto yy674; goto yy56; yy823: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy822; goto yy136; } else { if (yych <= '9') goto yy821; if (yych <= ':') goto yy822; goto yy136; } yy824: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy136; } else { if (yych <= '9') goto yy821; if (yych >= ';') goto yy136; } yy825: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy937; if (yych <= '6') goto yy938; if (yych <= '9') goto yy681; goto yy56; yy826: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy136; } else { if (yych <= '9') goto yy821; if (yych >= ';') goto yy136; } yy827: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy939; if (yych <= '6') goto yy940; if (yych <= '9') goto yy941; goto yy56; yy828: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy942; if (yych <= '6') goto yy943; if (yych <= '9') goto yy674; goto yy56; yy829: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy828, &&yy136, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy828, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136 }; goto *yytarget[yych]; } yy830: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy831, &&yy136, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy831, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136 }; goto *yytarget[yych]; } yy831: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy937; if (yych <= '6') goto yy947; if (yych <= '9') goto yy681; goto yy56; yy832: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy833, &&yy136, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy833, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136 }; goto *yytarget[yych]; } yy833: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy948; if (yych <= '6') goto yy949; if (yych <= '9') goto yy941; goto yy56; yy834: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy944, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy944, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy833, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy833, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy835: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Y') goto yy950; if (yych == 'y') goto yy950; goto yy18; } yy836: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy950, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy951, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy837: yych = *++YYCURSOR; if (yych == 'A') goto yy952; if (yych == 'a') goto yy952; goto yy56; yy838: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy953, &&yy56, &&yy56, &&yy954, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy953, &&yy56, &&yy56, &&yy954, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy839: yych = *++YYCURSOR; if (yych == 'O') goto yy955; if (yych == 'o') goto yy955; goto yy56; yy840: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy956, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy957, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy956, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy957, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy841: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy958, &&yy56, &&yy56, &&yy56, &&yy959, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy960, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy958, &&yy56, &&yy56, &&yy56, &&yy959, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy960, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy842: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy961, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy962, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy961, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy962, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy843: yych = *++YYCURSOR; if (yych == 'E') goto yy963; if (yych == 'e') goto yy963; goto yy56; yy844: yych = *++YYCURSOR; if (yych == 'E') goto yy964; if (yych == 'e') goto yy964; goto yy56; yy845: yych = *++YYCURSOR; if (yych == 'A') goto yy965; if (yych == 'a') goto yy965; goto yy56; yy846: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'H') goto yy966; if (yych == 'h') goto yy966; goto yy18; } yy847: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy966, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy967, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy848: yych = *++YYCURSOR; if (yych <= 'Q') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'R') goto yy950; if (yych == 'r') goto yy950; goto yy18; } yy849: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy950, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy951, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy850: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'U') goto yy968; if (yych == 'u') goto yy968; goto yy18; } yy851: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy968, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy969, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy852: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'A') goto yy970; if (yych == 'a') goto yy970; goto yy18; } yy853: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'B') goto yy971; if (yych == 'b') goto yy971; goto yy18; } yy854: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'H') goto yy972; if (yych == 'h') goto yy972; goto yy18; } yy855: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy970, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy973, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy856: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy971, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy974, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy857: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy972, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy975, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy858: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy976; goto yy56; yy859: yych = *++YYCURSOR; if (yych == '0') goto yy976; goto yy56; yy860: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'O') goto yy977; if (yych == 'o') goto yy977; goto yy18; } yy861: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Y') goto yy978; if (yych == 'y') goto yy978; goto yy18; } yy862: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy977, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy979, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy863: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy978, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy980, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy864: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'D') goto yy981; if (yych == 'd') goto yy981; goto yy18; } yy865: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'Y') goto yy982; if (yych == 'y') goto yy982; goto yy18; } yy866: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy981, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy983, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy867: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy982, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy984, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy868: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy107; goto yy18; } else { if (yych <= 'D') goto yy985; if (yych == 'd') goto yy985; goto yy18; } yy869: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy985, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy924, &&yy924, &&yy924, &&yy986, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18 }; goto *yytarget[yych]; } yy870: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy987; goto yy56; yy871: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy987; goto yy56; yy872: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy988; goto yy56; yy873: yych = *++YYCURSOR; goto yy544; yy874: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy208; if (yych <= '9') goto yy874; goto yy208; yy876: yych = *++YYCURSOR; if (yych <= '/') goto yy213; if (yych <= '9') goto yy990; goto yy213; yy877: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy991; goto yy56; yy878: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy879: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy992, &&yy992, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy880: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy994; if (yych <= '3') goto yy995; if (yych <= '9') goto yy996; goto yy56; yy881: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy997; goto yy732; yy882: yych = *++YYCURSOR; if (yych == 'R') goto yy998; if (yych == 'r') goto yy998; goto yy56; yy883: yych = *++YYCURSOR; if (yych == 'G') goto yy999; if (yych == 'g') goto yy999; goto yy56; yy884: yych = *++YYCURSOR; if (yych == 'C') goto yy1000; if (yych == 'c') goto yy1000; goto yy56; yy885: yych = *++YYCURSOR; if (yych == 'B') goto yy1001; if (yych == 'b') goto yy1001; goto yy56; yy886: yych = *++YYCURSOR; if (yych == 'N') goto yy1002; if (yych == 'n') goto yy1002; goto yy56; yy887: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1003, &&yy56, &&yy1004, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1003, &&yy56, &&yy1004, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy888: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1005, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1006, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1005, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1006, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy889: yych = *++YYCURSOR; if (yych == 'V') goto yy1000; if (yych == 'v') goto yy1000; goto yy56; yy890: yych = *++YYCURSOR; if (yych == 'T') goto yy1007; if (yych == 't') goto yy1007; goto yy56; yy891: yych = *++YYCURSOR; if (yych == 'P') goto yy1008; if (yych == 'p') goto yy1008; goto yy56; yy892: yych = *++YYCURSOR; if (yych <= '0') goto yy56; if (yych <= '9') goto yy1009; goto yy56; yy893: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1009; goto yy56; yy894: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '6') goto yy1009; goto yy56; yy895: yych = *++YYCURSOR; if (yych == 'P') goto yy913; if (yych == 'p') goto yy913; goto yy56; yy896: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy1010; if (yych <= '3') goto yy1012; if (yych <= '9') goto yy1013; goto yy56; yy897: yych = *++YYCURSOR; if (yych == '/') goto yy1014; goto yy56; yy898: yych = *++YYCURSOR; if (yych <= '/') goto yy186; if (yych <= '9') goto yy1015; goto yy186; yy899: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900 }; goto *yytarget[yych]; } yy900: { int length = 0; DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } yy901: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy1015, &&yy1015, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900 }; goto *yytarget[yych]; } yy902: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900 }; goto *yytarget[yych]; } yy903: yych = *++YYCURSOR; if (yych == ':') goto yy1017; goto yy56; yy904: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy1018; if (yych == 'i') goto yy1018; goto yy576; yy905: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1019; if (yych == 'u') goto yy1019; goto yy576; yy906: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1020; if (yych == 'e') goto yy1020; goto yy576; yy907: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy1021; if (yych == 'r') goto yy1021; goto yy576; yy908: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1022; if (yych == 'u') goto yy1022; goto yy576; yy909: yych = *++YYCURSOR; if (yych == 'Y') goto yy767; if (yych == 'y') goto yy767; goto yy576; yy910: yych = *++YYCURSOR; if (yych == 'E') goto yy767; if (yych == 'e') goto yy767; goto yy576; yy911: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy1023; if (yych == 'c') goto yy1023; goto yy576; yy912: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy1024; if (yych == 'o') goto yy1024; goto yy576; yy913: yych = *++YYCURSOR; if (yych == 'T') goto yy906; if (yych == 't') goto yy906; goto yy576; yy914: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1025; if (yych <= '/') goto yy915; if (yych <= '7') goto yy1026; yy915: { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } yy916: yych = *++YYCURSOR; if (yych == 'G') goto yy1028; if (yych == 'g') goto yy1028; goto yy56; yy917: yych = *++YYCURSOR; if (yych == 'Y') goto yy242; if (yych == 'y') goto yy242; goto yy56; yy918: yych = *++YYCURSOR; if (yych == 'R') goto yy242; if (yych == 'r') goto yy242; goto yy56; yy919: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1029, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1030, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy920: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy921: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1031, &&yy1031, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544, &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy922: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy1032; if (yych <= '3') goto yy1033; goto yy56; yy923: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1034; goto yy56; yy924: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy925: if (yybm[0+yych] & 128) { goto yy924; } if (yych <= '.') { if (yych == '-') goto yy276; goto yy56; } else { if (yych <= '/') goto yy276; if (yych == '_') goto yy276; goto yy56; } yy926: yych = *++YYCURSOR; if (yych == ' ') goto yy1036; goto yy56; yy927: yych = *++YYCURSOR; if (yych == 'R') goto yy950; if (yych == 'r') goto yy950; goto yy56; yy928: yych = *++YYCURSOR; if (yych == 'R') goto yy950; if (yych == 'r') goto yy951; goto yy925; yy929: yych = *++YYCURSOR; if (yych == 'E') goto yy1037; if (yych == 'e') goto yy1037; goto yy56; yy930: yych = *++YYCURSOR; if (yych == 'H') goto yy972; if (yych == 'h') goto yy972; goto yy56; yy931: yych = *++YYCURSOR; if (yych == 'H') goto yy972; if (yych == 'h') goto yy975; goto yy925; yy932: yych = *++YYCURSOR; if (yych == 'Y') goto yy950; if (yych == 'y') goto yy950; goto yy56; yy933: yych = *++YYCURSOR; if (yych == 'Y') goto yy950; if (yych == 'y') goto yy951; goto yy925; yy934: yych = *++YYCURSOR; goto yy136; yy935: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy827; goto yy673; } else { if (yych <= '9') goto yy1038; if (yych <= ':') goto yy827; goto yy673; } yy936: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy827; goto yy673; } else { if (yych <= '0') goto yy1039; if (yych == ':') goto yy827; goto yy673; } yy937: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy833; goto yy673; } else { if (yych <= '9') goto yy1040; if (yych <= ':') goto yy833; goto yy673; } yy938: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy833; goto yy673; } else { if (yych <= '0') goto yy1039; if (yych == ':') goto yy833; goto yy673; } yy939: yych = *++YYCURSOR; if (yych <= '/') goto yy673; if (yych <= '9') goto yy1039; goto yy673; yy940: yych = *++YYCURSOR; if (yych == '0') goto yy1039; goto yy673; yy941: yych = *++YYCURSOR; goto yy673; yy942: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy827; goto yy673; } else { if (yych <= '9') goto yy1041; if (yych <= ':') goto yy827; goto yy673; } yy943: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy827; goto yy673; } else { if (yych <= '0') goto yy1042; if (yych == ':') goto yy827; goto yy673; } yy944: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy944, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy944, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy946: yych = *++YYCURSOR; if (yych <= 'L') { if (yych == '.') goto yy1043; goto yy56; } else { if (yych <= 'M') goto yy1044; if (yych == 'm') goto yy1044; goto yy56; } yy947: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy833; goto yy673; } else { if (yych <= '0') goto yy1042; if (yych == ':') goto yy833; goto yy673; } yy948: yych = *++YYCURSOR; if (yych <= '/') goto yy673; if (yych <= '9') goto yy1042; goto yy673; yy949: yych = *++YYCURSOR; if (yych == '0') goto yy1042; goto yy673; yy950: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy951: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276, &&yy274, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274 }; goto *yytarget[yych]; } yy952: yych = *++YYCURSOR; if (yych == 'Y') goto yy1045; if (yych == 'y') goto yy1045; goto yy56; yy953: yych = *++YYCURSOR; if (yych == 'R') goto yy1047; if (yych == 'r') goto yy1047; goto yy56; yy954: yych = *++YYCURSOR; if (yych == 'I') goto yy1048; if (yych == 'i') goto yy1048; goto yy56; yy955: yych = *++YYCURSOR; if (yych == 'U') goto yy1049; if (yych == 'u') goto yy1049; goto yy56; yy956: yych = *++YYCURSOR; if (yych == 'N') goto yy1050; if (yych == 'n') goto yy1050; goto yy56; yy957: yych = *++YYCURSOR; if (yych == 'N') goto yy1051; if (yych == 'n') goto yy1051; goto yy56; yy958: yych = *++YYCURSOR; if (yych == 'T') goto yy1052; if (yych == 't') goto yy1052; goto yy56; yy959: yych = *++YYCURSOR; if (yych == 'C') goto yy1053; if (yych == 'c') goto yy1053; goto yy56; yy960: yych = *++YYCURSOR; if (yych == 'N') goto yy1048; if (yych == 'n') goto yy1048; goto yy56; yy961: yych = *++YYCURSOR; if (yych == 'U') goto yy1054; if (yych == 'u') goto yy1054; goto yy56; yy962: yych = *++YYCURSOR; if (yych == 'E') goto yy1055; if (yych == 'e') goto yy1055; goto yy56; yy963: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; if (yych <= 'D') goto yy1056; goto yy1057; } else { if (yych <= 'c') goto yy56; if (yych <= 'd') goto yy1056; if (yych <= 'e') goto yy1057; goto yy56; } yy964: yych = *++YYCURSOR; if (yych == 'A') goto yy1049; if (yych == 'a') goto yy1049; goto yy56; yy965: yych = *++YYCURSOR; if (yych == 'Y') goto yy1058; if (yych == 'y') goto yy1058; goto yy56; yy966: yych = *++YYCURSOR; if (yych == 'T') goto yy1059; if (yych == 't') goto yy1059; goto yy56; yy967: yych = *++YYCURSOR; if (yych == 'T') goto yy1059; if (yych == 't') goto yy1060; goto yy925; yy968: yych = *++YYCURSOR; if (yych == 'S') goto yy1061; if (yych == 's') goto yy1061; goto yy56; yy969: yych = *++YYCURSOR; if (yych == 'S') goto yy1061; if (yych == 's') goto yy1062; goto yy925; yy970: yych = *++YYCURSOR; if (yych == 'Y') goto yy978; if (yych == 'y') goto yy978; goto yy56; yy971: yych = *++YYCURSOR; if (yych == 'E') goto yy927; if (yych == 'e') goto yy927; goto yy56; yy972: yych = *++YYCURSOR; if (yych == '\t') goto yy810; if (yych == ' ') goto yy810; goto yy56; yy973: yych = *++YYCURSOR; if (yych == 'Y') goto yy978; if (yych == 'y') goto yy980; goto yy925; yy974: yych = *++YYCURSOR; if (yych == 'E') goto yy927; if (yych == 'e') goto yy928; goto yy925; yy975: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy276, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy976: yych = *++YYCURSOR; goto yy755; yy977: yych = *++YYCURSOR; if (yych == 'W') goto yy1063; if (yych == 'w') goto yy1063; goto yy56; yy978: yych = *++YYCURSOR; goto yy294; yy979: yych = *++YYCURSOR; if (yych == 'W') goto yy1063; if (yych == 'w') goto yy1065; goto yy925; yy980: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { goto yy924; } if (yych <= '.') { if (yych == '-') goto yy276; goto yy294; } else { if (yych <= '/') goto yy276; if (yych == '_') goto yy276; goto yy294; } yy981: yych = *++YYCURSOR; if (yych == 'A') goto yy970; if (yych == 'a') goto yy970; goto yy56; yy982: yych = *++YYCURSOR; if (yych == 'S') goto yy978; if (yych == 's') goto yy978; goto yy294; yy983: yych = *++YYCURSOR; if (yych == 'A') goto yy970; if (yych == 'a') goto yy973; goto yy925; yy984: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy978, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy980, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294 }; goto *yytarget[yych]; } yy985: yych = *++YYCURSOR; if (yych == 'A') goto yy1066; if (yych == 'a') goto yy1066; goto yy56; yy986: yych = *++YYCURSOR; if (yych == 'A') goto yy1066; if (yych == 'a') goto yy1067; goto yy925; yy987: yych = *++YYCURSOR; if (yych == '-') goto yy1068; goto yy56; yy988: ++YYCURSOR; { DEBUG_OUTPUT("pointed date YYYY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } yy990: yych = *++YYCURSOR; goto yy213; yy991: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1069; goto yy56; yy992: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy721, &&yy993, &&yy993, &&yy993, &&yy721, &&yy722, &&yy723, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993 }; goto *yytarget[yych]; } yy993: { int length = 0; DEBUG_OUTPUT("iso8601date2"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } yy994: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy995: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy996, &&yy996, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy996: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy997: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy1074; if (yych <= '3') goto yy1075; if (yych <= '9') goto yy996; goto yy56; yy998: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'I') goto yy1018; if (yych == 'i') goto yy1018; goto yy576; } yy999: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'U') goto yy1019; if (yych == 'u') goto yy1019; goto yy576; } yy1000: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'E') goto yy1020; if (yych == 'e') goto yy1020; goto yy576; } yy1001: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'R') goto yy1021; if (yych == 'r') goto yy1021; goto yy576; } yy1002: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'U') goto yy1022; if (yych == 'u') goto yy1022; goto yy576; } yy1003: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'Y') goto yy767; if (yych == 'y') goto yy767; goto yy576; } yy1004: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'E') goto yy767; if (yych == 'e') goto yy767; goto yy576; } yy1005: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'C') goto yy1023; if (yych == 'c') goto yy1023; goto yy576; } yy1006: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy922; goto yy576; yy1007: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'O') goto yy1024; if (yych == 'o') goto yy1024; goto yy576; } yy1008: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == '-') goto yy922; goto yy576; } else { if (yych <= 'T') goto yy1000; if (yych == 't') goto yy1000; goto yy576; } yy1009: yych = *++YYCURSOR; goto yy900; yy1010: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011 }; goto *yytarget[yych]; } yy1011: { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } yy1012: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1013, &&yy1013, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011 }; goto *yytarget[yych]; } yy1013: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy1076; goto yy1011; } else { if (yych <= 'r') goto yy1076; if (yych <= 's') goto yy1077; if (yych <= 't') goto yy1078; goto yy1011; } yy1014: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy1079; if (yych <= '3') goto yy1080; if (yych <= '9') goto yy1013; goto yy56; yy1015: yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy185, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy185, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy187, &&yy1016, &&yy188, &&yy1016, &&yy76, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy189, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy190, &&yy1081, &&yy1016, &&yy1016, &&yy86, &&yy1016, &&yy88, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy187, &&yy1016, &&yy188, &&yy1016, &&yy76, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy189, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy190, &&yy1082, &&yy1016, &&yy1016, &&yy86, &&yy1016, &&yy88, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016 }; goto *yytarget[yych]; } yy1016: { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } yy1017: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy1083; if (yych <= '3') goto yy1084; goto yy56; yy1018: yych = *++YYCURSOR; if (yych == 'L') goto yy767; if (yych == 'l') goto yy767; goto yy56; yy1019: yych = *++YYCURSOR; if (yych == 'S') goto yy1085; if (yych == 's') goto yy1085; goto yy56; yy1020: yych = *++YYCURSOR; if (yych == 'M') goto yy1024; if (yych == 'm') goto yy1024; goto yy56; yy1021: yych = *++YYCURSOR; if (yych == 'U') goto yy1022; if (yych != 'u') goto yy56; yy1022: yych = *++YYCURSOR; if (yych == 'A') goto yy1086; if (yych == 'a') goto yy1086; goto yy56; yy1023: yych = *++YYCURSOR; if (yych == 'H') goto yy767; if (yych == 'h') goto yy767; goto yy56; yy1024: yych = *++YYCURSOR; if (yych == 'B') goto yy1087; if (yych == 'b') goto yy1087; goto yy56; yy1025: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych >= '8') goto yy56; yy1026: ++YYCURSOR; { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } yy1028: yych = *++YYCURSOR; if (yych == 'H') goto yy1088; if (yych == 'h') goto yy1088; goto yy56; yy1029: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1089; goto yy56; yy1030: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1091; goto yy56; yy1031: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy721; goto yy993; } else { if (yych <= 'r') goto yy721; if (yych <= 's') goto yy722; if (yych <= 't') goto yy723; goto yy993; } yy1032: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1093; goto yy56; yy1033: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1093; goto yy56; yy1034: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy1035; if (yych <= '9') goto yy1095; yy1035: { int length = 0; DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } yy1036: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1096; if (yych <= '2') goto yy1098; if (yych <= '9') goto yy1099; goto yy56; yy1037: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy56; if (yych <= 'D') goto yy1056; goto yy1101; } else { if (yych <= 'c') goto yy56; if (yych <= 'd') goto yy1056; if (yych <= 'e') goto yy1101; goto yy56; } yy1038: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy1103, &&yy827, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy827, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1039: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1040: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy1110, &&yy833, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy833, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1041: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy1110, &&yy827, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy827, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1042: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1043: yych = *++YYCURSOR; if (yych == 'M') goto yy1044; if (yych != 'm') goto yy56; yy1044: yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy1113; if (yych == '\t') goto yy1113; goto yy56; } else { if (yych <= ' ') goto yy1113; if (yych == '.') goto yy1115; goto yy56; } yy1045: ++YYCURSOR; if ((yych = *YYCURSOR) == 'S') goto yy1116; if (yych == 's') goto yy1116; yy1046: { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy1047: yych = *++YYCURSOR; if (yych == 'T') goto yy1117; if (yych == 't') goto yy1117; goto yy56; yy1048: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1049: yych = *++YYCURSOR; if (yych == 'R') goto yy1045; if (yych == 'r') goto yy1045; goto yy56; yy1050: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1121, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1121, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1051: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1122, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1122, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1052: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1123, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1123, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1053: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1124, &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1124, &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1054: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1125, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1125, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1055: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1126, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1126, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1056: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1127, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1127, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046 }; goto *yytarget[yych]; } yy1057: yych = *++YYCURSOR; if (yych == 'K') goto yy1128; if (yych == 'k') goto yy1128; goto yy56; yy1058: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ' ') goto yy1130; goto yy1046; } else { if (yych <= 'S') goto yy1116; if (yych == 's') goto yy1116; goto yy1046; } yy1059: yych = *++YYCURSOR; goto yy704; yy1060: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { goto yy924; } if (yych <= '.') { if (yych == '-') goto yy276; goto yy704; } else { if (yych <= '/') goto yy276; if (yych == '_') goto yy276; goto yy704; } yy1061: yych = *++YYCURSOR; if (yych == '\t') goto yy685; if (yych == ' ') goto yy685; goto yy56; yy1062: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy276, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1063: ++YYCURSOR; yy1064: { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy1065: yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { goto yy924; } if (yych <= '.') { if (yych == '-') goto yy276; goto yy1064; } else { if (yych <= '/') goto yy276; if (yych == '_') goto yy276; goto yy1064; } yy1066: yych = *++YYCURSOR; if (yych == 'Y') goto yy1131; if (yych == 'y') goto yy1131; goto yy56; yy1067: yych = *++YYCURSOR; if (yych == 'Y') goto yy1131; if (yych == 'y') goto yy1133; goto yy925; yy1068: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '2') goto yy1134; if (yych <= '3') goto yy1135; goto yy56; yy1069: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1136; goto yy56; yy1070: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1137; if (yych <= '2') goto yy1138; if (yych <= '9') goto yy1139; goto yy56; yy1071: yych = *++YYCURSOR; if (yych == 'd') goto yy1140; goto yy56; yy1072: yych = *++YYCURSOR; if (yych == 't') goto yy1140; goto yy56; yy1073: yych = *++YYCURSOR; if (yych == 'h') goto yy1140; goto yy56; yy1074: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy1075: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1141, &&yy1141, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544 }; goto *yytarget[yych]; } yy1076: yych = *++YYCURSOR; if (yych == 'd') goto yy1142; goto yy56; yy1077: yych = *++YYCURSOR; if (yych == 't') goto yy1142; goto yy56; yy1078: yych = *++YYCURSOR; if (yych == 'h') goto yy1142; goto yy56; yy1079: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011 }; goto *yytarget[yych]; } yy1080: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1143, &&yy1143, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011 }; goto *yytarget[yych]; } yy1081: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1144, &&yy1144, &&yy1145, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1082: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1147, &&yy1147, &&yy1148, &&yy1149, &&yy1149, &&yy1149, &&yy1149, &&yy1149, &&yy1149, &&yy1149, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1083: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1150; goto yy56; yy1084: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1150; goto yy56; yy1085: yych = *++YYCURSOR; if (yych == 'T') goto yy767; if (yych == 't') goto yy767; goto yy56; yy1086: yych = *++YYCURSOR; if (yych == 'R') goto yy1151; if (yych == 'r') goto yy1151; goto yy56; yy1087: yych = *++YYCURSOR; if (yych == 'E') goto yy1152; if (yych == 'e') goto yy1152; goto yy56; yy1088: yych = *++YYCURSOR; if (yych == 'T') goto yy401; if (yych == 't') goto yy401; goto yy56; yy1089: yyaccept = 5; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208 }; goto *yytarget[yych]; } yy1091: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1093: ++YYCURSOR; { int length = 0; DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y, length); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } yy1095: yych = *++YYCURSOR; if (yych <= '/') goto yy1035; if (yych <= '9') goto yy1154; goto yy1035; yy1096: yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy1100; if (yych <= '9') goto yy1099; goto yy1100; yy1097: { DEBUG_OUTPUT("backof | frontof"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); if (*ptr == 'b') { s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = 15; } else { s->time->h = timelib_get_nr((char **) &ptr, 2) - 1; s->time->i = 45; } if (*ptr != '\0' ) { timelib_eat_spaces((char **) &ptr); s->time->h += timelib_meridian((char **) &ptr, s->time->h); } TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } yy1098: yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy1100; if (yych >= '5') goto yy1100; yy1099: yyaccept = 30; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; yy1100: { static void *yytarget[256] = { &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1099, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1099, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097 }; goto *yytarget[yych]; } yy1101: yych = *++YYCURSOR; if (yych == 'K') goto yy1156; if (yych == 'k') goto yy1156; goto yy56; yy1102: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy1103: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1102, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1102, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1104, &&yy56, &&yy56, &&yy1105, &&yy56, &&yy1105, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1107, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1104: yych = *++YYCURSOR; if (yych <= '@') goto yy56; if (yych <= 'Z') goto yy1108; if (yych <= '`') goto yy56; if (yych <= 'z') goto yy1108; goto yy56; yy1105: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1157; if (yych <= '2') goto yy1158; if (yych <= '9') goto yy1159; goto yy56; yy1106: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy941; goto yy673; } else { if (yych <= 'Z') goto yy1160; if (yych <= '`') goto yy673; if (yych <= 'z') goto yy1161; goto yy673; } yy1107: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1162, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1108: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy941; goto yy673; } else { if (yych <= 'Z') goto yy1160; if (yych <= '`') goto yy673; if (yych <= 'z') goto yy1160; goto yy673; } yy1109: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy1110: { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1109, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1109, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1104, &&yy56, &&yy56, &&yy1105, &&yy56, &&yy1105, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1111, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1107, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1111, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1112, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1112, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1111: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1043, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1163, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1164, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1112: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1043, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1163, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1163, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1113: ++YYCURSOR; { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } yy1115: yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy1113; if (yych <= 0x08) goto yy56; goto yy1113; } else { if (yych == ' ') goto yy1113; goto yy56; } yy1116: yych = *++YYCURSOR; goto yy1046; yy1117: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1165, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1166, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1165, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1166, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1118: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1118, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1118, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1167, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1167, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1120: yych = *++YYCURSOR; if (yych == 'A') goto yy1168; if (yych == 'a') goto yy1168; goto yy56; yy1121: yych = *++YYCURSOR; if (yych == 'T') goto yy1169; if (yych == 't') goto yy1169; goto yy56; yy1122: yych = *++YYCURSOR; if (yych == 'H') goto yy1045; if (yych == 'h') goto yy1045; goto yy56; yy1123: yych = *++YYCURSOR; if (yych == 'R') goto yy1126; if (yych == 'r') goto yy1126; goto yy56; yy1124: yych = *++YYCURSOR; if (yych == 'N') goto yy1170; if (yych == 'n') goto yy1170; goto yy56; yy1125: yych = *++YYCURSOR; if (yych == 'S') goto yy1126; if (yych != 's') goto yy56; yy1126: yych = *++YYCURSOR; if (yych == 'D') goto yy1120; if (yych == 'd') goto yy1120; goto yy56; yy1127: yych = *++YYCURSOR; if (yych == 'E') goto yy1125; if (yych == 'e') goto yy1125; goto yy56; yy1128: yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy837, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1116, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy837, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1116, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129 }; goto *yytarget[yych]; } yy1129: { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetextweek"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); s->time->relative.weekday_behavior = 2; /* to handle the format weekday + last/this/next week */ if (s->time->relative.have_weekday_relative == 0) { TIMELIB_HAVE_WEEKDAY_RELATIVE(); s->time->relative.weekday = 1; } } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy1130: yych = *++YYCURSOR; if (yych == 'O') goto yy1171; if (yych == 'o') goto yy1171; goto yy56; yy1131: ++YYCURSOR; yy1132: { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } yy1133: yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 128) { goto yy924; } if (yych <= '.') { if (yych == '-') goto yy276; goto yy1132; } else { if (yych <= '/') goto yy276; if (yych == '_') goto yy276; goto yy1132; } yy1134: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1142; goto yy56; yy1135: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1142; goto yy56; yy1136: yych = *++YYCURSOR; if (yych == ':') goto yy1172; goto yy56; yy1137: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1139; if (yych <= ':') goto yy1173; goto yy56; yy1138: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy1139; if (yych == ':') goto yy1173; goto yy56; yy1139: yych = *++YYCURSOR; if (yych == ':') goto yy1173; goto yy56; yy1140: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy1070; goto yy544; yy1141: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1174, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1071, &&yy1011, &&yy1011, &&yy1011, &&yy1071, &&yy1072, &&yy1073, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011 }; goto *yytarget[yych]; } yy1142: yych = *++YYCURSOR; goto yy1011; yy1143: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1142, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011 }; goto *yytarget[yych]; } yy1144: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1175; if (yych <= '9') goto yy1146; if (yych <= ':') goto yy1176; goto yy56; yy1145: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy56; if (yych <= '4') goto yy1175; goto yy1177; } else { if (yych == ':') goto yy1176; goto yy56; } yy1146: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1177; if (yych == ':') goto yy1176; goto yy56; yy1147: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1178; if (yych <= '9') goto yy1149; goto yy56; yy1148: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy1178; if (yych <= '5') goto yy1177; goto yy56; yy1149: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1177; goto yy56; yy1150: yych = *++YYCURSOR; if (yych == ' ') goto yy1179; goto yy56; yy1151: yych = *++YYCURSOR; if (yych == 'Y') goto yy767; if (yych == 'y') goto yy767; goto yy56; yy1152: yych = *++YYCURSOR; if (yych == 'R') goto yy767; if (yych == 'r') goto yy767; goto yy56; yy1153: yych = *++YYCURSOR; if (yych <= 'L') { if (yych == '.') goto yy1180; goto yy56; } else { if (yych <= 'M') goto yy1181; if (yych == 'm') goto yy1181; goto yy56; } yy1154: yych = *++YYCURSOR; if (yych <= '/') goto yy1035; if (yych <= '9') goto yy1182; goto yy1035; yy1155: yych = *++YYCURSOR; if (yych <= 'L') { if (yych == '.') goto yy1183; goto yy56; } else { if (yych <= 'M') goto yy1184; if (yych == 'm') goto yy1184; goto yy56; } yy1156: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1116, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1116, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1157: yych = *++YYCURSOR; if (yych <= '/') goto yy673; if (yych <= '9') goto yy1159; if (yych <= ':') goto yy1185; goto yy673; yy1158: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy673; if (yych >= '5') goto yy1186; } else { if (yych <= '9') goto yy941; if (yych <= ':') goto yy1185; goto yy673; } yy1159: yych = *++YYCURSOR; if (yych <= '/') goto yy673; if (yych <= '5') goto yy1186; if (yych <= '9') goto yy941; if (yych <= ':') goto yy1185; goto yy673; yy1160: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy941; goto yy673; } else { if (yych <= 'Z') goto yy1187; if (yych <= '`') goto yy673; if (yych <= 'z') goto yy1187; goto yy673; } yy1161: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1162: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1190, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1163: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1115, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1164: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy1115, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1165: yych = *++YYCURSOR; if (yych == 'N') goto yy1166; if (yych != 'n') goto yy56; yy1166: yych = *++YYCURSOR; if (yych == 'I') goto yy1191; if (yych == 'i') goto yy1191; goto yy56; yy1167: yych = *++YYCURSOR; if (yych == 'F') goto yy1192; if (yych == 'f') goto yy1192; goto yy56; yy1168: yych = *++YYCURSOR; if (yych == 'Y') goto yy1194; if (yych == 'y') goto yy1194; goto yy56; yy1169: yych = *++YYCURSOR; if (yych == 'E') goto yy1045; if (yych == 'e') goto yy1045; goto yy56; yy1170: yych = *++YYCURSOR; if (yych == 'D') goto yy1045; if (yych == 'd') goto yy1045; goto yy56; yy1171: yych = *++YYCURSOR; if (yych == 'F') goto yy1195; if (yych == 'f') goto yy1195; goto yy56; yy1172: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1197; if (yych <= '2') goto yy1198; goto yy56; yy1173: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1199; if (yych <= '9') goto yy1200; goto yy56; yy1174: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1201; if (yych <= '2') goto yy1202; if (yych <= '9') goto yy1139; goto yy56; yy1175: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1203; if (yych <= '9') goto yy1204; if (yych >= ';') goto yy56; yy1176: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1205; goto yy56; yy1177: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1204; goto yy56; yy1178: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1203; if (yych <= '9') goto yy1204; goto yy56; yy1179: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1206; if (yych <= '2') goto yy1207; goto yy56; yy1180: yych = *++YYCURSOR; if (yych == 'M') goto yy1181; if (yych != 'm') goto yy56; yy1181: yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy1208; if (yych == '\t') goto yy1208; goto yy56; } else { if (yych <= ' ') goto yy1208; if (yych == '.') goto yy1210; goto yy56; } yy1182: yych = *++YYCURSOR; goto yy1035; yy1183: yych = *++YYCURSOR; if (yych == 'M') goto yy1184; if (yych != 'm') goto yy56; yy1184: yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy1211; if (yych == '\t') goto yy1211; goto yy56; } else { if (yych <= ' ') goto yy1211; if (yych == '.') goto yy1212; goto yy56; } yy1185: yych = *++YYCURSOR; if (yych <= '/') goto yy673; if (yych <= '5') goto yy1186; if (yych <= '9') goto yy941; goto yy673; yy1186: yych = *++YYCURSOR; if (yych <= '/') goto yy673; if (yych <= '9') goto yy941; goto yy673; yy1187: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy941; goto yy673; } else { if (yych <= 'Z') goto yy1213; if (yych <= '`') goto yy673; if (yych <= 'z') goto yy1213; goto yy673; } yy1188: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy56; if (yych <= 'Z') goto yy1214; if (yych <= '`') goto yy56; if (yych <= 'z') goto yy1214; goto yy56; yy1189: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1190: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy1105, &&yy673, &&yy1105, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1191: yych = *++YYCURSOR; if (yych == 'G') goto yy1217; if (yych == 'g') goto yy1217; goto yy56; yy1192: ++YYCURSOR; { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("weekdayof"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_SPECIAL_RELATIVE(); i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); if (i > 0) { /* first, second... etc */ s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH; timelib_set_relative((char **) &ptr, i, 1, s); } else { /* last */ s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH; timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_WEEK_DAY_OF_MONTH; } yy1194: yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\t') goto yy1118; if (yych == ' ') goto yy1118; goto yy1046; yy1195: ++YYCURSOR; { DEBUG_OUTPUT("firstdayof | lastdayof"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); /* skip "last day of" or "first day of" */ if (*ptr == 'l' || *ptr == 'L') { s->time->relative.first_last_day_of = 2; } else { s->time->relative.first_last_day_of = 1; } TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } yy1197: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1218; goto yy56; yy1198: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy1218; goto yy56; yy1199: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1200; if (yych <= ':') goto yy1219; goto yy56; yy1200: yych = *++YYCURSOR; if (yych == ':') goto yy1219; goto yy56; yy1201: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1220; if (yych <= ':') goto yy1173; goto yy56; yy1202: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy1220; if (yych == ':') goto yy1173; goto yy56; yy1203: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1219; if (yych <= '6') goto yy1221; if (yych >= ':') goto yy56; yy1204: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1222; if (yych <= '6') goto yy1223; goto yy56; yy1205: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1224; goto yy56; yy1206: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1225; goto yy56; yy1207: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '4') goto yy1225; goto yy56; yy1208: ++YYCURSOR; { DEBUG_OUTPUT("mssqltime"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } timelib_eat_spaces((char **) &ptr); s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } yy1210: yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy1208; if (yych <= 0x08) goto yy56; goto yy1208; } else { if (yych == ' ') goto yy1208; goto yy56; } yy1211: yych = *++YYCURSOR; goto yy1097; yy1212: yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy1211; if (yych <= 0x08) goto yy56; goto yy1211; } else { if (yych == ' ') goto yy1211; goto yy56; } yy1213: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy941; goto yy673; } else { if (yych <= 'Z') goto yy1226; if (yych <= '`') goto yy673; if (yych <= 'z') goto yy1226; goto yy673; } yy1214: yyaccept = 17; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1216: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1217: yych = *++YYCURSOR; if (yych == 'H') goto yy1228; if (yych == 'h') goto yy1228; goto yy56; yy1218: yych = *++YYCURSOR; if (yych == ':') goto yy1229; goto yy56; yy1219: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1230; if (yych <= '6') goto yy1232; if (yych <= '9') goto yy1233; goto yy56; yy1220: yych = *++YYCURSOR; if (yych == ':') goto yy1234; goto yy56; yy1221: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '0') goto yy1230; if (yych <= '5') goto yy1222; if (yych <= '6') goto yy1223; goto yy56; yy1222: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1233; goto yy56; yy1223: yych = *++YYCURSOR; if (yych == '0') goto yy1233; goto yy56; yy1224: yych = *++YYCURSOR; if (yych == ':') goto yy1204; goto yy56; yy1225: yych = *++YYCURSOR; if (yych == ':') goto yy1176; goto yy56; yy1226: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy941; goto yy673; } else { if (yych <= 'Z') goto yy1235; if (yych <= '`') goto yy673; if (yych <= 'z') goto yy1235; goto yy673; } yy1227: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1228: yych = *++YYCURSOR; if (yych == 'T') goto yy1045; if (yych == 't') goto yy1045; goto yy56; yy1229: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1237; goto yy56; yy1230: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy1231; if (yych <= '9') goto yy1233; yy1231: { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } yy1232: yych = *++YYCURSOR; if (yych != '0') goto yy1231; yy1233: yych = *++YYCURSOR; goto yy1231; yy1234: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1238; if (yych <= '9') goto yy1200; goto yy56; yy1235: yych = *++YYCURSOR; if (yych == ')') goto yy941; goto yy673; yy1236: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673 }; goto *yytarget[yych]; } yy1237: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1241; goto yy56; yy1238: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1242; if (yych <= ':') goto yy1219; goto yy56; yy1239: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1188, &&yy56, &&yy1188, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1188, &&yy56, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1241: yych = *++YYCURSOR; if (yych == ':') goto yy1243; goto yy56; yy1242: yych = *++YYCURSOR; if (yych == ':') goto yy1244; goto yy56; yy1243: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1245; if (yych <= '6') goto yy1246; goto yy56; yy1244: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '5') goto yy1247; if (yych <= '6') goto yy1248; if (yych <= '9') goto yy1233; goto yy56; yy1245: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1249; goto yy56; yy1246: yych = *++YYCURSOR; if (yych == '0') goto yy1249; goto yy56; yy1247: yych = *++YYCURSOR; if (yych <= '/') goto yy1231; if (yych <= '9') goto yy1250; goto yy1231; yy1248: yych = *++YYCURSOR; if (yych == '0') goto yy1250; goto yy1231; yy1249: yych = *++YYCURSOR; if (yych == '\t') goto yy1251; if (yych == ' ') goto yy1251; goto yy56; yy1250: yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1253; goto yy1231; yy1251: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1254, &&yy56, &&yy1254, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1255, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56 }; goto *yytarget[yych]; } yy1253: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '9') goto yy1256; goto yy56; yy1254: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1258; if (yych <= '2') goto yy1260; if (yych <= '9') goto yy1261; goto yy56; yy1255: yych = *++YYCURSOR; if (yych == 'M') goto yy1262; goto yy56; yy1256: yyaccept = 33; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1263, &&yy1231, &&yy1263, &&yy1231, &&yy1231, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1264, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231 }; goto *yytarget[yych]; } yy1258: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy1259; if (yych <= '9') goto yy1261; if (yych <= ':') goto yy1265; yy1259: { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; } yy1260: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy1259; if (yych >= '5') goto yy1266; } else { if (yych <= '9') goto yy1267; if (yych <= ':') goto yy1265; goto yy1259; } yy1261: yych = *++YYCURSOR; if (yych <= '/') goto yy1259; if (yych <= '5') goto yy1266; if (yych <= '9') goto yy1267; if (yych <= ':') goto yy1265; goto yy1259; yy1262: yych = *++YYCURSOR; if (yych == 'T') goto yy1268; goto yy56; yy1263: yych = *++YYCURSOR; if (yych <= '/') goto yy56; if (yych <= '1') goto yy1269; if (yych <= '2') goto yy1270; if (yych <= '9') goto yy1271; goto yy56; yy1264: yych = *++YYCURSOR; if (yych == 'M') goto yy1272; goto yy56; yy1265: yych = *++YYCURSOR; if (yych <= '/') goto yy1259; if (yych <= '5') goto yy1266; if (yych <= '9') goto yy1267; goto yy1259; yy1266: yych = *++YYCURSOR; if (yych <= '/') goto yy1259; if (yych >= ':') goto yy1259; yy1267: yych = *++YYCURSOR; goto yy1259; yy1268: yych = *++YYCURSOR; if (yych == '+') goto yy1254; if (yych == '-') goto yy1254; goto yy56; yy1269: yych = *++YYCURSOR; if (yych <= '/') goto yy1231; if (yych <= '9') goto yy1271; if (yych <= ':') goto yy1273; goto yy1231; yy1270: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy1231; if (yych >= '5') goto yy1230; } else { if (yych <= '9') goto yy1233; if (yych <= ':') goto yy1273; goto yy1231; } yy1271: yych = *++YYCURSOR; if (yych <= '/') goto yy1231; if (yych <= '5') goto yy1230; if (yych <= '9') goto yy1233; if (yych <= ':') goto yy1273; goto yy1231; yy1272: yych = *++YYCURSOR; if (yych == 'T') goto yy1274; goto yy56; yy1273: yych = *++YYCURSOR; if (yych <= '/') goto yy1231; if (yych <= '5') goto yy1230; if (yych <= '9') goto yy1233; goto yy1231; yy1274: ++YYCURSOR; if ((yych = *YYCURSOR) == '+') goto yy1263; if (yych == '-') goto yy1263; goto yy56; } } #define YYMAXFILL 31 timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { Scanner in; int t; char *e = s + len - 1; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; if (len > 0) { while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } } if (e - s < 0) { in.time = timelib_time_ctor(); add_error(&in, "Empty string"); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = TIMELIB_UNSET; in.time->d = TIMELIB_UNSET; in.time->m = TIMELIB_UNSET; in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; in.time->f = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; in.time->relative.days = TIMELIB_UNSET; do { t = scan(&in, tz_get_wrapper); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); /* do funky checking whether the parsed time was valid time */ if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) { add_warning(&in, "The parsed time was invalid"); } /* do funky checking whether the parsed date was valid date */ if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) { add_warning(&in, "The parsed date was invalid"); } free(in.str); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } #define TIMELIB_CHECK_NUMBER \ if (strchr("0123456789", *ptr) == NULL) \ { \ add_pbf_error(s, "Unexpected data found.", string, begin); \ } static void timelib_time_reset_fields(timelib_time *time) { assert(time != NULL); time->y = 1970; time->m = 1; time->d = 1; time->h = time->i = time->s = 0; time->f = 0.0; time->tz_info = NULL; } static void timelib_time_reset_unset_fields(timelib_time *time) { assert(time != NULL); if (time->y == TIMELIB_UNSET ) time->y = 1970; if (time->m == TIMELIB_UNSET ) time->m = 1; if (time->d == TIMELIB_UNSET ) time->d = 1; if (time->h == TIMELIB_UNSET ) time->h = 0; if (time->i == TIMELIB_UNSET ) time->i = 0; if (time->s == TIMELIB_UNSET ) time->s = 0; if (time->f == TIMELIB_UNSET ) time->f = 0.0; } timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper) { char *fptr = format; char *ptr = string; char *begin; timelib_sll tmp; Scanner in; Scanner *s = ∈ int allow_extra = 0; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; in.time = timelib_time_ctor(); in.time->y = TIMELIB_UNSET; in.time->d = TIMELIB_UNSET; in.time->m = TIMELIB_UNSET; in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; in.time->f = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; /* Loop over the format string */ while (*fptr && *ptr) { begin = ptr; switch (*fptr) { case 'D': /* three letter day */ case 'l': /* full day */ { const timelib_relunit* tmprel = 0; tmprel = timelib_lookup_relunit((char **) &ptr); if (!tmprel) { add_pbf_error(s, "A textual day could not be found", string, begin); break; } else { in.time->have_relative = 1; in.time->relative.have_weekday_relative = 1; in.time->relative.weekday = tmprel->multiplier; in.time->relative.weekday_behavior = 1; } } break; case 'd': /* two digit day, with leading zero */ case 'j': /* two digit day, without leading zero */ TIMELIB_CHECK_NUMBER; if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit day could not be found", string, begin); } break; case 'S': /* day suffix, ignored, nor checked */ timelib_skip_day_suffix((char **) &ptr); break; case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */ TIMELIB_CHECK_NUMBER; if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) { add_pbf_error(s, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; timelib_do_normalize(s->time); } break; case 'm': /* two digit month, with leading zero */ case 'n': /* two digit month, without leading zero */ TIMELIB_CHECK_NUMBER; if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit month could not be found", string, begin); } break; case 'M': /* three letter month */ case 'F': /* full month */ tmp = timelib_lookup_month((char **) &ptr); if (!tmp) { add_pbf_error(s, "A textual month could not be found", string, begin); } else { s->time->m = tmp; } break; case 'y': /* two digit year */ { int length = 0; TIMELIB_CHECK_NUMBER; if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit year could not be found", string, begin); } TIMELIB_PROCESS_YEAR(s->time->y, length); } break; case 'Y': /* four digit year */ TIMELIB_CHECK_NUMBER; if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) { add_pbf_error(s, "A four digit year could not be found", string, begin); } break; case 'g': /* two digit hour, with leading zero */ case 'h': /* two digit hour, without leading zero */ TIMELIB_CHECK_NUMBER; if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit hour could not be found", string, begin); } if (s->time->h > 12) { add_pbf_error(s, "Hour can not be higher than 12", string, begin); } break; case 'G': /* two digit hour, with leading zero */ case 'H': /* two digit hour, without leading zero */ TIMELIB_CHECK_NUMBER; if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit hour could not be found", string, begin); } break; case 'a': /* am/pm/a.m./p.m. */ case 'A': /* AM/PM/A.M./P.M. */ if (s->time->h == TIMELIB_UNSET) { add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin); } else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) { add_pbf_error(s, "A meridian could not be found", string, begin); } else { s->time->h += tmp; } break; case 'i': /* two digit minute, with leading zero */ { int length; timelib_sll min; TIMELIB_CHECK_NUMBER; min = timelib_get_nr_ex((char **) &ptr, 2, &length); if (min == TIMELIB_UNSET || length != 2) { add_pbf_error(s, "A two digit minute could not be found", string, begin); } else { s->time->i = min; } } break; case 's': /* two digit second, with leading zero */ { int length; timelib_sll sec; TIMELIB_CHECK_NUMBER; sec = timelib_get_nr_ex((char **) &ptr, 2, &length); if (sec == TIMELIB_UNSET || length != 2) { add_pbf_error(s, "A two digit second could not be found", string, begin); } else { s->time->s = sec; } } break; case 'u': /* up to six digit millisecond */ { double f; char *tptr; TIMELIB_CHECK_NUMBER; tptr = ptr; if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) { add_pbf_error(s, "A six digit millisecond could not be found", string, begin); } else { s->time->f = (f / pow(10, (ptr - tptr))); } } break; case ' ': /* any sort of whitespace (' ' and \t) */ timelib_eat_spaces((char **) &ptr); break; case 'U': /* epoch seconds */ TIMELIB_CHECK_NUMBER; TIMELIB_HAVE_RELATIVE(); tmp = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += tmp; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; s->time->dst = 0; break; case 'e': /* timezone */ case 'P': /* timezone */ case 'T': /* timezone */ case 'O': /* timezone */ { int tz_not_found; s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper); if (tz_not_found) { add_pbf_error(s, "The timezone could not be found in the database", string, begin); } } break; case '#': /* separation symbol */ if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') { ++ptr; } else { add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin); } break; case ';': case ':': case '/': case '.': case ',': case '-': case '(': case ')': if (*ptr == *fptr) { ++ptr; } else { add_pbf_error(s, "The separation symbol could not be found", string, begin); } break; case '!': /* reset all fields to default */ timelib_time_reset_fields(s->time); break; /* break intentionally not missing */ case '|': /* reset all fields to default when not set */ timelib_time_reset_unset_fields(s->time); break; /* break intentionally not missing */ case '?': /* random char */ ++ptr; break; case '\\': /* escaped char */ if(!fptr[1]) { add_pbf_error(s, "Escaped character expected", string, begin); break; } fptr++; if (*ptr == *fptr) { ++ptr; } else { add_pbf_error(s, "The escaped character could not be found", string, begin); } break; case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */ timelib_eat_until_separator((char **) &ptr); break; case '+': /* allow extra chars in the format */ allow_extra = 1; break; default: if (*fptr != *ptr) { add_pbf_error(s, "The format separator does not match", string, begin); } ptr++; } fptr++; } if (*ptr) { if (allow_extra) { add_pbf_warning(s, "Trailing data", string, ptr); } else { add_pbf_error(s, "Trailing data", string, ptr); } } /* ignore trailing +'s */ while (*fptr == '+') { fptr++; } if (*fptr) { /* Trailing | and ! specifiers are valid. */ int done = 0; while (*fptr && !done) { switch (*fptr++) { case '!': /* reset all fields to default */ timelib_time_reset_fields(s->time); break; case '|': /* reset all fields to default when not set */ timelib_time_reset_unset_fields(s->time); break; default: add_pbf_error(s, "Data missing", string, ptr); done = 1; } } } /* clean up a bit */ if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) { if (s->time->h == TIMELIB_UNSET ) { s->time->h = 0; } if (s->time->i == TIMELIB_UNSET ) { s->time->i = 0; } if (s->time->s == TIMELIB_UNSET ) { s->time->s = 0; } } /* do funky checking whether the parsed time was valid time */ if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET && s->time->s != TIMELIB_UNSET && !timelib_valid_time( s->time->h, s->time->i, s->time->s)) { add_pbf_warning(s, "The parsed time was invalid", string, ptr); } /* do funky checking whether the parsed date was valid date */ if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET && s->time->d != TIMELIB_UNSET && !timelib_valid_date( s->time->y, s->time->m, s->time->d)) { add_pbf_warning(s, "The parsed date was invalid", string, ptr); } if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0; if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0; if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0; if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0; if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0; if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst) { const timelib_tz_lookup_table *tp; tp = abbr_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.16/test/unicode_group_Zl.x--encoding-policy(substitute).c0000644000175000017500000000330012624147602021527 00000000000000/* Generated by re2c */ #line 1 "unicode_group_Zl.x--encoding-policy(substitute).re" #include #include "utf16.h" #define YYCTYPE unsigned short bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Zl: #line 13 "unicode_group_Zl.x--encoding-policy(substitute).c" { YYCTYPE yych; yych = *YYCURSOR; if (yych == 0x2028) goto yy4; ++YYCURSOR; #line 13 "unicode_group_Zl.x--encoding-policy(substitute).re" { return YYCURSOR == limit; } #line 21 "unicode_group_Zl.x--encoding-policy(substitute).c" yy4: ++YYCURSOR; #line 12 "unicode_group_Zl.x--encoding-policy(substitute).re" { goto Zl; } #line 26 "unicode_group_Zl.x--encoding-policy(substitute).c" } #line 14 "unicode_group_Zl.x--encoding-policy(substitute).re" } static const unsigned int chars_Zl [] = {0x2028,0x2028, 0x0,0x0}; static unsigned int encode_utf16 (const unsigned int * ranges, unsigned int ranges_count, unsigned short * s) { unsigned short * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) { if (j <= re2c::utf16::MAX_1WORD_RUNE) *s++ = j; else { *s++ = re2c::utf16::lead_surr(j); *s++ = re2c::utf16::trail_surr(j); } } return s - s_start; } int main () { YYCTYPE * buffer_Zl = new YYCTYPE [4]; unsigned int buffer_len = encode_utf16 (chars_Zl, sizeof (chars_Zl) / sizeof (unsigned int), buffer_Zl); if (!scan (reinterpret_cast (buffer_Zl), reinterpret_cast (buffer_Zl + buffer_len))) printf("test 'Zl' failed\n"); delete [] buffer_Zl; return 0; } re2c-0.16/test/unicode_group_Pi.8--encoding-policy(ignore).re0000644000175000017500000000267412617126113020657 00000000000000#include #include "utf8.h" #define YYCTYPE unsigned char bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Pi: /*!re2c re2c:yyfill:enable = 0; Pi = [\xab-\xab\u2018-\u2018\u201b-\u201c\u201f-\u201f\u2039-\u2039\u2e02-\u2e02\u2e04-\u2e04\u2e09-\u2e09\u2e0c-\u2e0c\u2e1c-\u2e1c\u2e20-\u2e20]; Pi { goto Pi; } * { return YYCURSOR == limit; } */ } static const unsigned int chars_Pi [] = {0xab,0xab, 0x2018,0x2018, 0x201b,0x201c, 0x201f,0x201f, 0x2039,0x2039, 0x2e02,0x2e02, 0x2e04,0x2e04, 0x2e09,0x2e09, 0x2e0c,0x2e0c, 0x2e1c,0x2e1c, 0x2e20,0x2e20, 0x0,0x0}; static unsigned int encode_utf8 (const unsigned int * ranges, unsigned int ranges_count, unsigned char * s) { unsigned char * const s_start = s; for (unsigned int i = 0; i < ranges_count - 2; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) s += re2c::utf8::rune_to_bytes (s, j); re2c::utf8::rune_to_bytes (s, ranges[ranges_count - 1]); return s - s_start + 1; } int main () { YYCTYPE * buffer_Pi = new YYCTYPE [52]; unsigned int buffer_len = encode_utf8 (chars_Pi, sizeof (chars_Pi) / sizeof (unsigned int), buffer_Pi); if (!scan (reinterpret_cast (buffer_Pi), reinterpret_cast (buffer_Pi + buffer_len))) printf("test 'Pi' failed\n"); delete [] buffer_Pi; return 0; } re2c-0.16/test/cvsignore.ub.c0000644000175000017500000001417712650133302012750 00000000000000/* Generated by re2c */ #line 1 "cvsignore.ub.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned int #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.ub.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "cvsignore.ub.c" { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych == '$') goto yy4; ++YYCURSOR; yy3: #line 53 "cvsignore.ub.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 87 "cvsignore.ub.c" yy4: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy5; case 'I': goto yy7; case 'L': goto yy8; case 'R': goto yy9; case 'S': goto yy10; default: goto yy3; } yy5: yych = *++YYCURSOR; if (yych == 'a') goto yy11; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'd') goto yy12; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy13; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'e') goto yy14; goto yy6; yy10: yych = *++YYCURSOR; if (yych == 'o') goto yy15; goto yy6; yy11: yych = *++YYCURSOR; if (yych == 't') goto yy16; goto yy6; yy12: yych = *++YYCURSOR; if (yych == '$') goto yy17; if (yych == ':') goto yy19; goto yy6; yy13: yych = *++YYCURSOR; if (yych == 'g') goto yy20; goto yy6; yy14: yych = *++YYCURSOR; if (yych == 'v') goto yy21; goto yy6; yy15: yych = *++YYCURSOR; if (yych == 'u') goto yy22; goto yy6; yy16: yych = *++YYCURSOR; if (yych == 'e') goto yy23; goto yy6; yy17: ++YYCURSOR; #line 49 "cvsignore.ub.re" { APPEND(L"$" L"Id$"); goto loop; } #line 149 "cvsignore.ub.c" yy19: yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy25; yy20: yych = *++YYCURSOR; if (yych == '$') goto yy26; if (yych == ':') goto yy28; goto yy6; yy21: yych = *++YYCURSOR; if (yych == 'i') goto yy29; goto yy6; yy22: yych = *++YYCURSOR; if (yych == 'r') goto yy30; goto yy6; yy23: yych = *++YYCURSOR; if (yych == '$') goto yy31; if (yych == ':') goto yy33; goto yy6; yy24: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy25: if (yych & ~0xFF) { goto yy24; } else if (yybm[0+yych] & 128) { goto yy24; } if (yych <= '\n') goto yy6; goto yy17; yy26: ++YYCURSOR; #line 50 "cvsignore.ub.re" { APPEND(L"$" L"Log$"); goto loop; } #line 188 "cvsignore.ub.c" yy28: yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy35; yy29: yych = *++YYCURSOR; if (yych == 's') goto yy36; goto yy6; yy30: yych = *++YYCURSOR; if (yych == 'c') goto yy37; goto yy6; yy31: ++YYCURSOR; #line 48 "cvsignore.ub.re" { APPEND(L"$" L"Date$"); goto loop; } #line 205 "cvsignore.ub.c" yy33: yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy39; yy34: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy35: if (yych == '\n') goto yy6; if (yych == '$') goto yy26; goto yy34; yy36: yych = *++YYCURSOR; if (yych == 'i') goto yy40; goto yy6; yy37: yych = *++YYCURSOR; if (yych == 'e') goto yy41; goto yy6; yy38: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy39: if (yych == '\n') goto yy6; if (yych == '$') goto yy31; goto yy38; yy40: yych = *++YYCURSOR; if (yych == 'o') goto yy42; goto yy6; yy41: yych = *++YYCURSOR; if (yych == '$') goto yy43; if (yych == ':') goto yy45; goto yy6; yy42: yych = *++YYCURSOR; if (yych == 'n') goto yy46; goto yy6; yy43: ++YYCURSOR; #line 52 "cvsignore.ub.re" { APPEND(L"$" L"Source$"); goto loop; } #line 251 "cvsignore.ub.c" yy45: yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy48; yy46: yych = *++YYCURSOR; if (yych == '$') goto yy49; if (yych == ':') goto yy51; goto yy6; yy47: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy48: if (yych == '\n') goto yy6; if (yych == '$') goto yy43; goto yy47; yy49: ++YYCURSOR; #line 51 "cvsignore.ub.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 273 "cvsignore.ub.c" yy51: yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy49; goto yy52; } #line 55 "cvsignore.ub.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.16/test/unicode_group_Zp.u--encoding-policy(ignore).c0000644000175000017500000000277712624147602020621 00000000000000/* Generated by re2c */ #line 1 "unicode_group_Zp.u--encoding-policy(ignore).re" #include #define YYCTYPE unsigned int bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Zp: #line 13 "unicode_group_Zp.u--encoding-policy(ignore).c" { YYCTYPE yych; yych = *YYCURSOR; if (yych == 0x00002029) goto yy4; ++YYCURSOR; #line 13 "unicode_group_Zp.u--encoding-policy(ignore).re" { return YYCURSOR == limit; } #line 21 "unicode_group_Zp.u--encoding-policy(ignore).c" yy4: ++YYCURSOR; #line 12 "unicode_group_Zp.u--encoding-policy(ignore).re" { goto Zp; } #line 26 "unicode_group_Zp.u--encoding-policy(ignore).c" } #line 14 "unicode_group_Zp.u--encoding-policy(ignore).re" } static const unsigned int chars_Zp [] = {0x2029,0x2029, 0x0,0x0}; static unsigned int encode_utf32 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s) { unsigned int * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) *s++ = j; return s - s_start; } int main () { YYCTYPE * buffer_Zp = new YYCTYPE [2]; unsigned int buffer_len = encode_utf32 (chars_Zp, sizeof (chars_Zp) / sizeof (unsigned int), buffer_Zp); if (!scan (reinterpret_cast (buffer_Zp), reinterpret_cast (buffer_Zp + buffer_len))) printf("test 'Zp' failed\n"); delete [] buffer_Zp; return 0; } re2c-0.16/test/bug1187785.c0000644000175000017500000001554112650133301011701 00000000000000/* Generated by re2c */ #line 1 "bug1187785.re" #include #include #include #define RET(n) printf("%d\n", n); return n #define TAG_EOI 0 #define TAG_A 1 #define TAG_TAG 2 int scan(char *s, int l) { char *p = s; char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) cont: #line 24 "bug1187785.c" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '"': goto yy4; default: goto yy2; } yy2: ++YYCURSOR; yy3: #line 23 "bug1187785.re" { goto cont; } #line 38 "bug1187785.c" yy4: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case '\t': case '\n': case '\v': case '\f': case '\r': case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: case ' ': case '!': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': case 0x7F: case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E: case 0x8F: case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F: case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: case 0xC0: case 0xC1: case 0xC2: case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4: case 0xD5: case 0xD6: case 0xD7: case 0xD8: case 0xD9: case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE: case 0xDF: case 0xE0: case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF: case 0xF0: case 0xF1: case 0xF2: case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7: case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC: case 0xFD: case 0xFE: goto yy5; default: goto yy3; } yy5: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case '\t': case '\n': case '\v': case '\f': case '\r': case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: case ' ': case '!': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': case 0x7F: case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E: case 0x8F: case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F: case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: case 0xC0: case 0xC1: case 0xC2: case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4: case 0xD5: case 0xD6: case 0xD7: case 0xD8: case 0xD9: case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE: case 0xDF: case 0xE0: case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF: case 0xF0: case 0xF1: case 0xF2: case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7: case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC: case 0xFD: case 0xFE: goto yy5; case '"': goto yy8; default: goto yy7; } yy7: YYCURSOR = YYMARKER; goto yy3; yy8: ++YYCURSOR; #line 22 "bug1187785.re" { RET(1); } #line 567 "bug1187785.c" } #line 24 "bug1187785.re" } #define do_scan(str) scan(str, strlen(str)) main() { do_scan("0"); } re2c-0.16/test/unicode_group_N.x--encoding-policy(substitute).c0000644000175000017500000002364612650133303021346 00000000000000/* Generated by re2c */ #line 1 "unicode_group_N.x--encoding-policy(substitute).re" #include #include "utf16.h" #define YYCTYPE unsigned short bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start N: #line 13 "unicode_group_N.x--encoding-policy(substitute).c" { YYCTYPE yych; yych = *YYCURSOR; if (yych <= 0x1BB9) { if (yych <= 0x0CE5) { if (yych <= 0x09E5) { if (yych <= 0x00BE) { if (yych <= 0x00B3) { if (yych <= '/') goto yy2; if (yych <= '9') goto yy4; if (yych >= 0x00B2) goto yy4; } else { if (yych == 0x00B9) goto yy4; if (yych >= 0x00BC) goto yy4; } } else { if (yych <= 0x06F9) { if (yych <= 0x065F) goto yy2; if (yych <= 0x0669) goto yy4; if (yych >= 0x06F0) goto yy4; } else { if (yych <= 0x07C9) { if (yych >= 0x07C0) goto yy4; } else { if (yych <= 0x0965) goto yy2; if (yych <= 0x096F) goto yy4; } } } } else { if (yych <= 0x0B6F) { if (yych <= 0x0A65) { if (yych <= 0x09EF) goto yy4; if (yych <= 0x09F3) goto yy2; if (yych <= 0x09F9) goto yy4; } else { if (yych <= 0x0AE5) { if (yych <= 0x0A6F) goto yy4; } else { if (yych <= 0x0AEF) goto yy4; if (yych >= 0x0B66) goto yy4; } } } else { if (yych <= 0x0BF2) { if (yych <= 0x0B71) goto yy2; if (yych <= 0x0B77) goto yy4; if (yych >= 0x0BE6) goto yy4; } else { if (yych <= 0x0C6F) { if (yych >= 0x0C66) goto yy4; } else { if (yych <= 0x0C77) goto yy2; if (yych <= 0x0C7E) goto yy4; } } } } } else { if (yych <= 0x16F0) { if (yych <= 0x0F1F) { if (yych <= 0x0E4F) { if (yych <= 0x0CEF) goto yy4; if (yych <= 0x0D65) goto yy2; if (yych <= 0x0D75) goto yy4; } else { if (yych <= 0x0E59) goto yy4; if (yych <= 0x0ECF) goto yy2; if (yych <= 0x0ED9) goto yy4; } } else { if (yych <= 0x108F) { if (yych <= 0x0F33) goto yy4; if (yych <= 0x103F) goto yy2; if (yych <= 0x1049) goto yy4; } else { if (yych <= 0x1368) { if (yych <= 0x1099) goto yy4; } else { if (yych <= 0x137C) goto yy4; if (yych >= 0x16EE) goto yy4; } } } } else { if (yych <= 0x19CF) { if (yych <= 0x17F9) { if (yych <= 0x17DF) goto yy2; if (yych <= 0x17E9) goto yy4; if (yych >= 0x17F0) goto yy4; } else { if (yych <= 0x1819) { if (yych >= 0x1810) goto yy4; } else { if (yych <= 0x1945) goto yy2; if (yych <= 0x194F) goto yy4; } } } else { if (yych <= 0x1A8F) { if (yych <= 0x19DA) goto yy4; if (yych <= 0x1A7F) goto yy2; if (yych <= 0x1A89) goto yy4; } else { if (yych <= 0x1B4F) { if (yych <= 0x1A99) goto yy4; } else { if (yych <= 0x1B59) goto yy4; if (yych >= 0x1BB0) goto yy4; } } } } } } else { if (yych <= 0x327F) { if (yych <= 0x24E9) { if (yych <= 0x2079) { if (yych <= 0x1C59) { if (yych <= 0x1C3F) goto yy2; if (yych <= 0x1C49) goto yy4; if (yych >= 0x1C50) goto yy4; } else { if (yych == 0x2070) goto yy4; if (yych >= 0x2074) goto yy4; } } else { if (yych <= 0x2182) { if (yych <= 0x207F) goto yy2; if (yych <= 0x2089) goto yy4; if (yych >= 0x2150) goto yy4; } else { if (yych <= 0x2189) { if (yych >= 0x2185) goto yy4; } else { if (yych <= 0x245F) goto yy2; if (yych <= 0x249B) goto yy4; } } } } else { if (yych <= 0x3029) { if (yych <= 0x2CFC) { if (yych <= 0x24FF) goto yy4; if (yych <= 0x2775) goto yy2; if (yych <= 0x2793) goto yy4; } else { if (yych <= 0x3006) { if (yych <= 0x2CFD) goto yy4; } else { if (yych <= 0x3007) goto yy4; if (yych >= 0x3021) goto yy4; } } } else { if (yych <= 0x3195) { if (yych <= 0x3037) goto yy2; if (yych <= 0x303A) goto yy4; if (yych >= 0x3192) goto yy4; } else { if (yych <= 0x3229) { if (yych >= 0x3220) goto yy4; } else { if (yych <= 0x3250) goto yy2; if (yych <= 0x325F) goto yy4; } } } } } else { if (yych <= 0xAA59) { if (yych <= 0xA82F) { if (yych <= 0xA61F) { if (yych <= 0x3289) goto yy4; if (yych <= 0x32B0) goto yy2; if (yych <= 0x32BF) goto yy4; } else { if (yych <= 0xA629) goto yy4; if (yych <= 0xA6E5) goto yy2; if (yych <= 0xA6EF) goto yy4; } } else { if (yych <= 0xA8FF) { if (yych <= 0xA835) goto yy4; if (yych <= 0xA8CF) goto yy2; if (yych <= 0xA8D9) goto yy4; } else { if (yych <= 0xA9CF) { if (yych <= 0xA909) goto yy4; } else { if (yych <= 0xA9D9) goto yy4; if (yych >= 0xAA50) goto yy4; } } } } else { if (yych <= 0xD808) { if (yych <= 0xD800) { if (yych <= 0xABEF) goto yy2; if (yych <= 0xABF9) goto yy4; if (yych >= 0xD800) goto yy6; } else { if (yych <= 0xD802) { if (yych <= 0xD801) goto yy7; goto yy8; } else { if (yych <= 0xD803) goto yy9; if (yych <= 0xD804) goto yy10; } } } else { if (yych <= 0xD835) { if (yych <= 0xD809) goto yy11; if (yych <= 0xD833) goto yy2; if (yych <= 0xD834) goto yy12; goto yy13; } else { if (yych <= 0xD83C) { if (yych >= 0xD83C) goto yy14; } else { if (yych <= 0xFF0F) goto yy2; if (yych <= 0xFF19) goto yy4; } } } } } } yy2: ++YYCURSOR; yy3: #line 13 "unicode_group_N.x--encoding-policy(substitute).re" { return YYCURSOR == limit; } #line 247 "unicode_group_N.x--encoding-policy(substitute).c" yy4: ++YYCURSOR; #line 12 "unicode_group_N.x--encoding-policy(substitute).re" { goto N; } #line 252 "unicode_group_N.x--encoding-policy(substitute).c" yy6: yych = *++YYCURSOR; if (yych <= 0xDF1F) { if (yych <= 0xDD3F) { if (yych <= 0xDD06) goto yy3; if (yych <= 0xDD33) goto yy4; goto yy3; } else { if (yych <= 0xDD78) goto yy4; if (yych == 0xDD8A) goto yy4; goto yy3; } } else { if (yych <= 0xDF49) { if (yych <= 0xDF23) goto yy4; if (yych == 0xDF41) goto yy4; goto yy3; } else { if (yych <= 0xDF4A) goto yy4; if (yych <= 0xDFD0) goto yy3; if (yych <= 0xDFD5) goto yy4; goto yy3; } } yy7: yych = *++YYCURSOR; if (yych <= 0xDC9F) goto yy3; if (yych <= 0xDCA9) goto yy4; goto yy3; yy8: yych = *++YYCURSOR; if (yych <= 0xDE47) { if (yych <= 0xDD15) { if (yych <= 0xDC57) goto yy3; if (yych <= 0xDC5F) goto yy4; goto yy3; } else { if (yych <= 0xDD1B) goto yy4; if (yych <= 0xDE3F) goto yy3; goto yy4; } } else { if (yych <= 0xDF57) { if (yych <= 0xDE7C) goto yy3; if (yych <= 0xDE7E) goto yy4; goto yy3; } else { if (yych <= 0xDF5F) goto yy4; if (yych <= 0xDF77) goto yy3; if (yych <= 0xDF7F) goto yy4; goto yy3; } } yy9: yych = *++YYCURSOR; if (yych <= 0xDE5F) goto yy3; if (yych <= 0xDE7E) goto yy4; goto yy3; yy10: yych = *++YYCURSOR; if (yych <= 0xDC51) goto yy3; if (yych <= 0xDC6F) goto yy4; goto yy3; yy11: yych = *++YYCURSOR; if (yych <= 0xDBFF) goto yy3; if (yych <= 0xDC62) goto yy4; goto yy3; yy12: yych = *++YYCURSOR; if (yych <= 0xDF5F) goto yy3; if (yych <= 0xDF71) goto yy4; goto yy3; yy13: yych = *++YYCURSOR; if (yych <= 0xDFCD) goto yy3; if (yych <= 0xDFFF) goto yy4; goto yy3; yy14: ++YYCURSOR; if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3; if (yych <= 0xDD0A) goto yy4; goto yy3; } #line 14 "unicode_group_N.x--encoding-policy(substitute).re" } static const unsigned int chars_N [] = {0x30,0x39, 0xb2,0xb3, 0xb9,0xb9, 0xbc,0xbe, 0x660,0x669, 0x6f0,0x6f9, 0x7c0,0x7c9, 0x966,0x96f, 0x9e6,0x9ef, 0x9f4,0x9f9, 0xa66,0xa6f, 0xae6,0xaef, 0xb66,0xb6f, 0xb72,0xb77, 0xbe6,0xbf2, 0xc66,0xc6f, 0xc78,0xc7e, 0xce6,0xcef, 0xd66,0xd75, 0xe50,0xe59, 0xed0,0xed9, 0xf20,0xf33, 0x1040,0x1049, 0x1090,0x1099, 0x1369,0x137c, 0x16ee,0x16f0, 0x17e0,0x17e9, 0x17f0,0x17f9, 0x1810,0x1819, 0x1946,0x194f, 0x19d0,0x19da, 0x1a80,0x1a89, 0x1a90,0x1a99, 0x1b50,0x1b59, 0x1bb0,0x1bb9, 0x1c40,0x1c49, 0x1c50,0x1c59, 0x2070,0x2070, 0x2074,0x2079, 0x2080,0x2089, 0x2150,0x2182, 0x2185,0x2189, 0x2460,0x249b, 0x24ea,0x24ff, 0x2776,0x2793, 0x2cfd,0x2cfd, 0x3007,0x3007, 0x3021,0x3029, 0x3038,0x303a, 0x3192,0x3195, 0x3220,0x3229, 0x3251,0x325f, 0x3280,0x3289, 0x32b1,0x32bf, 0xa620,0xa629, 0xa6e6,0xa6ef, 0xa830,0xa835, 0xa8d0,0xa8d9, 0xa900,0xa909, 0xa9d0,0xa9d9, 0xaa50,0xaa59, 0xabf0,0xabf9, 0xff10,0xff19, 0x10107,0x10133, 0x10140,0x10178, 0x1018a,0x1018a, 0x10320,0x10323, 0x10341,0x10341, 0x1034a,0x1034a, 0x103d1,0x103d5, 0x104a0,0x104a9, 0x10858,0x1085f, 0x10916,0x1091b, 0x10a40,0x10a47, 0x10a7d,0x10a7e, 0x10b58,0x10b5f, 0x10b78,0x10b7f, 0x10e60,0x10e7e, 0x11052,0x1106f, 0x12400,0x12462, 0x1d360,0x1d371, 0x1d7ce,0x1d7ff, 0x1f100,0x1f10a, 0x0,0x0}; static unsigned int encode_utf16 (const unsigned int * ranges, unsigned int ranges_count, unsigned short * s) { unsigned short * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) { if (j <= re2c::utf16::MAX_1WORD_RUNE) *s++ = j; else { *s++ = re2c::utf16::lead_surr(j); *s++ = re2c::utf16::trail_surr(j); } } return s - s_start; } int main () { YYCTYPE * buffer_N = new YYCTYPE [2202]; unsigned int buffer_len = encode_utf16 (chars_N, sizeof (chars_N) / sizeof (unsigned int), buffer_N); if (!scan (reinterpret_cast (buffer_N), reinterpret_cast (buffer_N + buffer_len))) printf("test 'N' failed\n"); delete [] buffer_N; return 0; } re2c-0.16/test/condition_07.cbi.c0000644000175000017500000001234312650133302013365 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } enum YYCONDTYPE { EStateR1, EStateR2, }; void scan(Scanner *s) { int cond = EStateR1; fill(s, 0); for(;;) { s->tok = s->cur; { unsigned char yych; if (cond < 1) { goto yyc_R1; } else { goto yyc_R2; } /* *********************************** */ yyc_R1: { static const unsigned char yybm[] = { 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, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if (s->lim <= s->cur) { if(fill(s, 1) >= 0) break; } yych = *s->cur; if (yybm[0+yych] & 128) { goto yy5; } ++s->cur; { continue; } yy5: ++s->cur; if (s->lim <= s->cur) { if(fill(s, 1) >= 0) break; } yych = *s->cur; if (yybm[0+yych] & 128) { goto yy5; } { continue; } } /* *********************************** */ yyc_R2: { static const unsigned char yybm[] = { 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, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 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, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if (s->lim <= s->cur) { if(fill(s, 1) >= 0) break; } yych = *s->cur; if (yybm[0+yych] & 128) { goto yy12; } ++s->cur; { continue; } yy12: ++s->cur; if (s->lim <= s->cur) { if(fill(s, 1) >= 0) break; } yych = *s->cur; if (yybm[0+yych] & 128) { goto yy12; } { continue; } } } } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.16/test/default_full.u--encoding-policy(fail).re0000644000175000017500000000007012617126113017544 00000000000000/*!re2c * { return DEFAULT; } [^] { return FULL; } */ re2c-0.16/test/default_full.x.c0000644000175000017500000000070512650133302013250 00000000000000/* Generated by re2c */ #line 1 "default_full.x.re" #line 5 "default_full.x.c" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 0xD7FF) goto yy2; if (yych <= 0xDBFF) goto yy4; yy2: ++YYCURSOR; yy3: #line 3 "default_full.x.re" { return FULL; } #line 17 "default_full.x.c" yy4: ++YYCURSOR; if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3; if (yych <= 0xDFFF) goto yy2; goto yy3; } #line 4 "default_full.x.re" re2c-0.16/test/unicode_group_Cf.u--encoding-policy(fail).c0000644000175000017500000000540712624147602020201 00000000000000/* Generated by re2c */ #line 1 "unicode_group_Cf.u--encoding-policy(fail).re" #include #define YYCTYPE unsigned int bool scan(const YYCTYPE * start, const YYCTYPE * const limit) { __attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used # define YYCURSOR start Cf: #line 13 "unicode_group_Cf.u--encoding-policy(fail).c" { YYCTYPE yych; yych = *YYCURSOR; if (yych <= 0x0000205F) { if (yych <= 0x0000070E) { if (yych <= 0x000005FF) { if (yych == 0x000000AD) goto yy4; } else { if (yych <= 0x00000603) goto yy4; if (yych == 0x000006DD) goto yy4; } } else { if (yych <= 0x0000200A) { if (yych <= 0x0000070F) goto yy4; if (yych <= 0x000017B3) goto yy2; if (yych <= 0x000017B5) goto yy4; } else { if (yych <= 0x0000200F) goto yy4; if (yych <= 0x00002029) goto yy2; if (yych <= 0x0000202E) goto yy4; } } } else { if (yych <= 0x000110BC) { if (yych <= 0x0000FEFE) { if (yych <= 0x00002064) goto yy4; if (yych <= 0x00002069) goto yy2; if (yych <= 0x0000206F) goto yy4; } else { if (yych <= 0x0000FEFF) goto yy4; if (yych <= 0x0000FFF8) goto yy2; if (yych <= 0x0000FFFB) goto yy4; } } else { if (yych <= 0x000E0000) { if (yych <= 0x000110BD) goto yy4; if (yych <= 0x0001D172) goto yy2; if (yych <= 0x0001D17A) goto yy4; } else { if (yych <= 0x000E0001) goto yy4; if (yych <= 0x000E001F) goto yy2; if (yych <= 0x000E007F) goto yy4; } } } yy2: ++YYCURSOR; #line 13 "unicode_group_Cf.u--encoding-policy(fail).re" { return YYCURSOR == limit; } #line 63 "unicode_group_Cf.u--encoding-policy(fail).c" yy4: ++YYCURSOR; #line 12 "unicode_group_Cf.u--encoding-policy(fail).re" { goto Cf; } #line 68 "unicode_group_Cf.u--encoding-policy(fail).c" } #line 14 "unicode_group_Cf.u--encoding-policy(fail).re" } static const unsigned int chars_Cf [] = {0xad,0xad, 0x600,0x603, 0x6dd,0x6dd, 0x70f,0x70f, 0x17b4,0x17b5, 0x200b,0x200f, 0x202a,0x202e, 0x2060,0x2064, 0x206a,0x206f, 0xfeff,0xfeff, 0xfff9,0xfffb, 0x110bd,0x110bd, 0x1d173,0x1d17a, 0xe0001,0xe0001, 0xe0020,0xe007f, 0x0,0x0}; static unsigned int encode_utf32 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s) { unsigned int * const s_start = s; for (unsigned int i = 0; i < ranges_count; i += 2) for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j) *s++ = j; return s - s_start; } int main () { YYCTYPE * buffer_Cf = new YYCTYPE [141]; unsigned int buffer_len = encode_utf32 (chars_Cf, sizeof (chars_Cf) / sizeof (unsigned int), buffer_Cf); if (!scan (reinterpret_cast (buffer_Cf), reinterpret_cast (buffer_Cf + buffer_len))) printf("test 'Cf' failed\n"); delete [] buffer_Cf; return 0; } re2c-0.16/test/php20140822_zend_language_scanner.igcd--flex-syntax.re0000644000175000017500000016241012627572362022013 00000000000000/* +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.zend.com/license/2_00.txt. | | If you did not receive a copy of the Zend license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@zend.com so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Marcus Boerger | | Nuno Lopes | | Scott MacVicar | | Flex version authors: | | Andi Gutmans | | Zeev Suraski | +----------------------------------------------------------------------+ */ /* $Id$ */ #if 0 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c) #else # define YYDEBUG(s, c) #endif #include "zend_language_scanner_defs.h" #include #include "zend.h" #ifdef PHP_WIN32 # include #endif #include "zend_alloc.h" #include #include "zend_compile.h" #include "zend_language_scanner.h" #include "zend_highlight.h" #include "zend_constants.h" #include "zend_variables.h" #include "zend_operators.h" #include "zend_API.h" #include "zend_strtod.h" #include "zend_exceptions.h" #include "tsrm_virtual_cwd.h" #include "tsrm_config_common.h" #define YYCTYPE unsigned char #define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } } #define YYCURSOR SCNG(yy_cursor) #define YYLIMIT SCNG(yy_limit) #define YYMARKER SCNG(yy_marker) #define YYGETCONDITION() SCNG(yy_state) #define YYSETCONDITION(s) SCNG(yy_state) = s #define STATE(name) yyc##name /* emulate flex constructs */ #define BEGIN(state) YYSETCONDITION(STATE(state)) #define YYSTATE YYGETCONDITION() #define yytext ((char*)SCNG(yy_text)) #define yyleng SCNG(yy_leng) #define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \ yyleng = (unsigned int)x; } while(0) #define yymore() goto yymore_restart /* perform sanity check. If this message is triggered you should increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */ /*!max:re2c */ #if ZEND_MMAP_AHEAD < YYMAXFILL # error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL #endif #ifdef HAVE_STDARG_H # include #endif #ifdef HAVE_UNISTD_H # include #endif /* Globals Macros */ #define SCNG LANG_SCNG #ifdef ZTS ZEND_API ts_rsrc_id language_scanner_globals_id; #else ZEND_API zend_php_scanner_globals language_scanner_globals; #endif #define HANDLE_NEWLINES(s, l) \ do { \ char *p = (s), *boundary = p+(l); \ \ while (p= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F) #define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7') #define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F')) BEGIN_EXTERN_C() static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) { const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)); return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding) TSRMLS_CC); } static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) { return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding) TSRMLS_CC); } static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) { return zend_multibyte_encoding_converter(to, to_length, from, from_length, LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8 TSRMLS_CC); } static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC) { const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding)); return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, zend_multibyte_encoding_utf8 TSRMLS_CC); } static void _yy_push_state(int new_state TSRMLS_DC) { zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int)); YYSETCONDITION(new_state); } #define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm) static void yy_pop_state(TSRMLS_D) { int *stack_state; zend_stack_top(&SCNG(state_stack), (void **) &stack_state); YYSETCONDITION(*stack_state); zend_stack_del_top(&SCNG(state_stack)); } static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC) { YYCURSOR = (YYCTYPE*)str; YYLIMIT = YYCURSOR + len; if (!SCNG(yy_start)) { SCNG(yy_start) = YYCURSOR; } } void startup_scanner(TSRMLS_D) { CG(parse_error) = 0; CG(doc_comment) = NULL; CG(doc_comment_len) = 0; zend_stack_init(&SCNG(state_stack)); zend_ptr_stack_init(&SCNG(heredoc_label_stack)); } static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) { efree(heredoc_label->label); } void shutdown_scanner(TSRMLS_D) { CG(parse_error) = 0; RESET_DOC_COMMENT(); zend_stack_destroy(&SCNG(state_stack)); zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1); zend_ptr_stack_destroy(&SCNG(heredoc_label_stack)); } ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC) { lex_state->yy_leng = SCNG(yy_leng); lex_state->yy_start = SCNG(yy_start); lex_state->yy_text = SCNG(yy_text); lex_state->yy_cursor = SCNG(yy_cursor); lex_state->yy_marker = SCNG(yy_marker); lex_state->yy_limit = SCNG(yy_limit); lex_state->state_stack = SCNG(state_stack); zend_stack_init(&SCNG(state_stack)); lex_state->heredoc_label_stack = SCNG(heredoc_label_stack); zend_ptr_stack_init(&SCNG(heredoc_label_stack)); lex_state->in = SCNG(yy_in); lex_state->yy_state = YYSTATE; lex_state->filename = zend_get_compiled_filename(TSRMLS_C); lex_state->lineno = CG(zend_lineno); lex_state->script_org = SCNG(script_org); lex_state->script_org_size = SCNG(script_org_size); lex_state->script_filtered = SCNG(script_filtered); lex_state->script_filtered_size = SCNG(script_filtered_size); lex_state->input_filter = SCNG(input_filter); lex_state->output_filter = SCNG(output_filter); lex_state->script_encoding = SCNG(script_encoding); } ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC) { SCNG(yy_leng) = lex_state->yy_leng; SCNG(yy_start) = lex_state->yy_start; SCNG(yy_text) = lex_state->yy_text; SCNG(yy_cursor) = lex_state->yy_cursor; SCNG(yy_marker) = lex_state->yy_marker; SCNG(yy_limit) = lex_state->yy_limit; zend_stack_destroy(&SCNG(state_stack)); SCNG(state_stack) = lex_state->state_stack; zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1); zend_ptr_stack_destroy(&SCNG(heredoc_label_stack)); SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack; SCNG(yy_in) = lex_state->in; YYSETCONDITION(lex_state->yy_state); CG(zend_lineno) = lex_state->lineno; zend_restore_compiled_filename(lex_state->filename TSRMLS_CC); if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } SCNG(script_org) = lex_state->script_org; SCNG(script_org_size) = lex_state->script_org_size; SCNG(script_filtered) = lex_state->script_filtered; SCNG(script_filtered_size) = lex_state->script_filtered_size; SCNG(input_filter) = lex_state->input_filter; SCNG(output_filter) = lex_state->output_filter; SCNG(script_encoding) = lex_state->script_encoding; RESET_DOC_COMMENT(); } ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC) { zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles); /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */ file_handle->opened_path = NULL; if (file_handle->free_filename) { file_handle->filename = NULL; } } #define BOM_UTF32_BE "\x00\x00\xfe\xff" #define BOM_UTF32_LE "\xff\xfe\x00\x00" #define BOM_UTF16_BE "\xfe\xff" #define BOM_UTF16_LE "\xff\xfe" #define BOM_UTF8 "\xef\xbb\xbf" static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size TSRMLS_DC) { const unsigned char *p; int wchar_size = 2; int le = 0; /* utf-16 or utf-32? */ p = script; while ((p-script) < script_size) { p = memchr(p, 0, script_size-(p-script)-2); if (!p) { break; } if (*(p+1) == '\0' && *(p+2) == '\0') { wchar_size = 4; break; } /* searching for UTF-32 specific byte orders, so this will do */ p += 4; } /* BE or LE? */ p = script; while ((p-script) < script_size) { if (*p == '\0' && *(p+wchar_size-1) != '\0') { /* BE */ le = 0; break; } else if (*p != '\0' && *(p+wchar_size-1) == '\0') { /* LE* */ le = 1; break; } p += wchar_size; } if (wchar_size == 2) { return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be; } else { return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be; } return NULL; } static const zend_encoding* zend_multibyte_detect_unicode(TSRMLS_D) { const zend_encoding *script_encoding = NULL; int bom_size; unsigned char *pos1, *pos2; if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) { return NULL; } /* check out BOM */ if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) { script_encoding = zend_multibyte_encoding_utf32be; bom_size = sizeof(BOM_UTF32_BE)-1; } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) { script_encoding = zend_multibyte_encoding_utf32le; bom_size = sizeof(BOM_UTF32_LE)-1; } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) { script_encoding = zend_multibyte_encoding_utf16be; bom_size = sizeof(BOM_UTF16_BE)-1; } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) { script_encoding = zend_multibyte_encoding_utf16le; bom_size = sizeof(BOM_UTF16_LE)-1; } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) { script_encoding = zend_multibyte_encoding_utf8; bom_size = sizeof(BOM_UTF8)-1; } if (script_encoding) { /* remove BOM */ LANG_SCNG(script_org) += bom_size; LANG_SCNG(script_org_size) -= bom_size; return script_encoding; } /* script contains NULL bytes -> auto-detection */ if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) { /* check if the NULL byte is after the __HALT_COMPILER(); */ pos2 = LANG_SCNG(script_org); while (pos1 - pos2 >= sizeof("__HALT_COMPILER();")-1) { pos2 = memchr(pos2, '_', pos1 - pos2); if (!pos2) break; pos2++; if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) { pos2 += sizeof("_HALT_COMPILER")-1; while (*pos2 == ' ' || *pos2 == '\t' || *pos2 == '\r' || *pos2 == '\n') { pos2++; } if (*pos2 == '(') { pos2++; while (*pos2 == ' ' || *pos2 == '\t' || *pos2 == '\r' || *pos2 == '\n') { pos2++; } if (*pos2 == ')') { pos2++; while (*pos2 == ' ' || *pos2 == '\t' || *pos2 == '\r' || *pos2 == '\n') { pos2++; } if (*pos2 == ';') { return NULL; } } } } } /* make best effort if BOM is missing */ return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size) TSRMLS_CC); } return NULL; } static const zend_encoding* zend_multibyte_find_script_encoding(TSRMLS_D) { const zend_encoding *script_encoding; if (CG(detect_unicode)) { /* check out bom(byte order mark) and see if containing wchars */ script_encoding = zend_multibyte_detect_unicode(TSRMLS_C); if (script_encoding != NULL) { /* bom or wchar detection is prior to 'script_encoding' option */ return script_encoding; } } /* if no script_encoding specified, just leave alone */ if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) { return NULL; } /* if multiple encodings specified, detect automagically */ if (CG(script_encoding_list_size) > 1) { return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size) TSRMLS_CC); } return CG(script_encoding_list)[0]; } ZEND_API int zend_multibyte_set_filter(const zend_encoding *onetime_encoding TSRMLS_DC) { const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C); const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding(TSRMLS_C); if (!script_encoding) { return FAILURE; } /* judge input/output filter */ LANG_SCNG(script_encoding) = script_encoding; LANG_SCNG(input_filter) = NULL; LANG_SCNG(output_filter) = NULL; if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) { if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) { /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */ LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate; LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script; } else { LANG_SCNG(input_filter) = NULL; LANG_SCNG(output_filter) = NULL; } return SUCCESS; } if (zend_multibyte_check_lexer_compatibility(internal_encoding)) { LANG_SCNG(input_filter) = encoding_filter_script_to_internal; LANG_SCNG(output_filter) = NULL; } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) { LANG_SCNG(input_filter) = NULL; LANG_SCNG(output_filter) = encoding_filter_script_to_internal; } else { /* both script and internal encodings are incompatible w/ flex */ LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate; LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal; } return 0; } ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC) { const char *file_path = NULL; char *buf; size_t size, offset = 0; /* The shebang line was read, get the current position to obtain the buffer start */ if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) { if ((offset = ftell(file_handle->handle.fp)) == -1) { offset = 0; } } if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) { return FAILURE; } zend_llist_add_element(&CG(open_files), file_handle); if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) { zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files)); size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle; fh->handle.stream.handle = (void*)(((char*)fh) + diff); file_handle->handle.stream.handle = fh->handle.stream.handle; } /* Reset the scanner for scanning the new file */ SCNG(yy_in) = file_handle; SCNG(yy_start) = NULL; if (size != -1) { if (CG(multibyte)) { SCNG(script_org) = (unsigned char*)buf; SCNG(script_org_size) = size; SCNG(script_filtered) = NULL; zend_multibyte_set_filter(NULL TSRMLS_CC); if (SCNG(input_filter)) { if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); } buf = (char*)SCNG(script_filtered); size = SCNG(script_filtered_size); } } SCNG(yy_start) = (unsigned char *)buf - offset; yy_scan_buffer(buf, size TSRMLS_CC); } else { zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed"); } BEGIN(INITIAL); if (file_handle->opened_path) { file_path = file_handle->opened_path; } else { file_path = file_handle->filename; } zend_set_compiled_filename(file_path TSRMLS_CC); if (CG(start_lineno)) { CG(zend_lineno) = CG(start_lineno); CG(start_lineno) = 0; } else { CG(zend_lineno) = 1; } RESET_DOC_COMMENT(); CG(increment_lineno) = 0; return SUCCESS; } END_EXTERN_C() ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC) { zend_lex_state original_lex_state; zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); zend_op_array *original_active_op_array = CG(active_op_array); zend_op_array *retval=NULL; int compiler_result; zend_bool compilation_successful=0; znode retval_znode; zend_bool original_in_compilation = CG(in_compilation); retval_znode.op_type = IS_CONST; retval_znode.u.constant.type = IS_LONG; retval_znode.u.constant.value.lval = 1; Z_UNSET_ISREF(retval_znode.u.constant); Z_SET_REFCOUNT(retval_znode.u.constant, 1); zend_save_lexical_state(&original_lex_state TSRMLS_CC); retval = op_array; /* success oriented */ if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) { if (type==ZEND_REQUIRE) { zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC); zend_bailout(); } else { zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC); } compilation_successful=0; } else { init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); CG(in_compilation) = 1; CG(active_op_array) = op_array; zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context))); zend_init_compiler_context(TSRMLS_C); compiler_result = zendparse(TSRMLS_C); zend_do_return(&retval_znode, 0 TSRMLS_CC); CG(in_compilation) = original_in_compilation; if (compiler_result != 0) { /* parser error */ zend_bailout(); } compilation_successful=1; } if (retval) { CG(active_op_array) = original_active_op_array; if (compilation_successful) { pass_two(op_array TSRMLS_CC); zend_release_labels(0 TSRMLS_CC); } else { efree(op_array); retval = NULL; } } zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return retval; } zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC) { zend_file_handle file_handle; zval tmp; zend_op_array *retval; char *opened_path = NULL; if (filename->type != IS_STRING) { tmp = *filename; zval_copy_ctor(&tmp); convert_to_string(&tmp); filename = &tmp; } file_handle.filename = filename->value.str.val; file_handle.free_filename = 0; file_handle.type = ZEND_HANDLE_FILENAME; file_handle.opened_path = NULL; file_handle.handle.fp = NULL; retval = zend_compile_file(&file_handle, type TSRMLS_CC); if (retval && file_handle.handle.stream.handle) { int dummy = 1; if (!file_handle.opened_path) { file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len); } zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL); if (opened_path) { efree(opened_path); } } zend_destroy_file_handle(&file_handle TSRMLS_CC); if (filename==&tmp) { zval_dtor(&tmp); } return retval; } ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC) { char *buf; size_t size; /* enforce two trailing NULLs for flex... */ if (IS_INTERNED(str->value.str.val)) { char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD); memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD); str->value.str.val = tmp; } else { str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD); } memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD); SCNG(yy_in) = NULL; SCNG(yy_start) = NULL; buf = str->value.str.val; size = str->value.str.len; if (CG(multibyte)) { SCNG(script_org) = (unsigned char*)buf; SCNG(script_org_size) = size; SCNG(script_filtered) = NULL; zend_multibyte_set_filter(zend_multibyte_get_internal_encoding(TSRMLS_C) TSRMLS_CC); if (SCNG(input_filter)) { if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); } buf = (char*)SCNG(script_filtered); size = SCNG(script_filtered_size); } } yy_scan_buffer(buf, size TSRMLS_CC); zend_set_compiled_filename(filename TSRMLS_CC); CG(zend_lineno) = 1; CG(increment_lineno) = 0; RESET_DOC_COMMENT(); return SUCCESS; } ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D) { size_t offset = SCNG(yy_cursor) - SCNG(yy_start); if (SCNG(input_filter)) { size_t original_offset = offset, length = 0; do { unsigned char *p = NULL; if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC)) { return (size_t)-1; } efree(p); if (length > original_offset) { offset--; } else if (length < original_offset) { offset++; } } while (original_offset != length); } return offset; } zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC) { zend_lex_state original_lex_state; zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array)); zend_op_array *original_active_op_array = CG(active_op_array); zend_op_array *retval; zval tmp; int compiler_result; zend_bool original_in_compilation = CG(in_compilation); if (source_string->value.str.len==0) { efree(op_array); return NULL; } CG(in_compilation) = 1; tmp = *source_string; zval_copy_ctor(&tmp); convert_to_string(&tmp); source_string = &tmp; zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) { efree(op_array); retval = NULL; } else { zend_bool orig_interactive = CG(interactive); CG(interactive) = 0; init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC); CG(interactive) = orig_interactive; CG(active_op_array) = op_array; zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context))); zend_init_compiler_context(TSRMLS_C); BEGIN(ST_IN_SCRIPTING); compiler_result = zendparse(TSRMLS_C); if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } if (compiler_result != 0) { CG(active_op_array) = original_active_op_array; CG(unclean_shutdown)=1; destroy_op_array(op_array TSRMLS_CC); efree(op_array); retval = NULL; } else { zend_do_return(NULL, 0 TSRMLS_CC); CG(active_op_array) = original_active_op_array; pass_two(op_array TSRMLS_CC); zend_release_labels(0 TSRMLS_CC); retval = op_array; } } zend_restore_lexical_state(&original_lex_state TSRMLS_CC); zval_dtor(&tmp); CG(in_compilation) = original_in_compilation; return retval; } BEGIN_EXTERN_C() int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC) { zend_lex_state original_lex_state; zend_file_handle file_handle; file_handle.type = ZEND_HANDLE_FILENAME; file_handle.filename = filename; file_handle.free_filename = 0; file_handle.opened_path = NULL; zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) { zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC); zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return FAILURE; } zend_highlight(syntax_highlighter_ini TSRMLS_CC); if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } zend_destroy_file_handle(&file_handle TSRMLS_CC); zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return SUCCESS; } int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC) { zend_lex_state original_lex_state; zval tmp = *str; str = &tmp; zval_copy_ctor(str); zend_save_lexical_state(&original_lex_state TSRMLS_CC); if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) { zend_restore_lexical_state(&original_lex_state TSRMLS_CC); return FAILURE; } BEGIN(INITIAL); zend_highlight(syntax_highlighter_ini TSRMLS_CC); if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } zend_restore_lexical_state(&original_lex_state TSRMLS_CC); zval_dtor(str); return SUCCESS; } ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC) { size_t length; unsigned char *new_yy_start; /* convert and set */ if (!SCNG(input_filter)) { if (SCNG(script_filtered)) { efree(SCNG(script_filtered)); SCNG(script_filtered) = NULL; } SCNG(script_filtered_size) = 0; length = SCNG(script_org_size); new_yy_start = SCNG(script_org); } else { if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) { zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected " "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding))); } SCNG(script_filtered) = new_yy_start; SCNG(script_filtered_size) = length; } SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start)); SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start)); SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start)); SCNG(yy_limit) = new_yy_start + (SCNG(yy_limit) - SCNG(yy_start)); SCNG(yy_start) = new_yy_start; } # define zend_copy_value(zendlval, yytext, yyleng) \ if (SCNG(output_filter)) { \ size_t sz = 0; \ SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \ zendlval->value.str.len = sz; \ } else { \ zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \ zendlval->value.str.len = yyleng; \ } static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC) { register char *s, *t; char *end; ZVAL_STRINGL(zendlval, str, len, 1); /* convert escape sequences */ s = t = zendlval->value.str.val; end = s+zendlval->value.str.len; while (s= end) { *t++ = '\\'; break; } switch(*s) { case 'n': *t++ = '\n'; zendlval->value.str.len--; break; case 'r': *t++ = '\r'; zendlval->value.str.len--; break; case 't': *t++ = '\t'; zendlval->value.str.len--; break; case 'f': *t++ = '\f'; zendlval->value.str.len--; break; case 'v': *t++ = '\v'; zendlval->value.str.len--; break; case 'e': #ifdef PHP_WIN32 *t++ = VK_ESCAPE; #else *t++ = '\e'; #endif zendlval->value.str.len--; break; case '"': case '`': if (*s != quote_type) { *t++ = '\\'; *t++ = *s; break; } case '\\': case '$': *t++ = *s; zendlval->value.str.len--; break; case 'x': case 'X': if (ZEND_IS_HEX(*(s+1))) { char hex_buf[3] = { 0, 0, 0 }; zendlval->value.str.len--; /* for the 'x' */ hex_buf[0] = *(++s); zendlval->value.str.len--; if (ZEND_IS_HEX(*(s+1))) { hex_buf[1] = *(++s); zendlval->value.str.len--; } *t++ = (char) strtol(hex_buf, NULL, 16); } else { *t++ = '\\'; *t++ = *s; } break; default: /* check for an octal */ if (ZEND_IS_OCT(*s)) { char octal_buf[4] = { 0, 0, 0, 0 }; octal_buf[0] = *s; zendlval->value.str.len--; if (ZEND_IS_OCT(*(s+1))) { octal_buf[1] = *(++s); zendlval->value.str.len--; if (ZEND_IS_OCT(*(s+1))) { octal_buf[2] = *(++s); zendlval->value.str.len--; } } *t++ = (char) strtol(octal_buf, NULL, 8); } else { *t++ = '\\'; *t++ = *s; } break; } } else { *t++ = *s; } if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) { CG(zend_lineno)++; } s++; } *t = 0; if (SCNG(output_filter)) { size_t sz = 0; s = zendlval->value.str.val; SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC); zendlval->value.str.len = sz; efree(s); } } int lex_scan(zval *zendlval TSRMLS_DC) { restart: SCNG(yy_text) = YYCURSOR; yymore_restart: /*!re2c re2c:yyfill:check = 0; LNUM [0-9]+ DNUM ([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*) EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM}) HNUM "0x"[0-9a-fA-F]+ BNUM "0b"[01]+ LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]* WHITESPACE [ \n\r\t]+ TABS_AND_SPACES [ \t]* TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@] ANY_CHAR [^] NEWLINE ("\r"|"\n"|"\r\n") /* compute yyleng before each rule */ := yyleng = YYCURSOR - SCNG(yy_text); "exit" { return T_EXIT; } "die" { return T_EXIT; } "function" { return T_FUNCTION; } "const" { return T_CONST; } "return" { return T_RETURN; } "yield" { return T_YIELD; } "try" { return T_TRY; } "catch" { return T_CATCH; } "finally" { return T_FINALLY; } "throw" { return T_THROW; } "if" { return T_IF; } "elseif" { return T_ELSEIF; } "endif" { return T_ENDIF; } "else" { return T_ELSE; } "while" { return T_WHILE; } "endwhile" { return T_ENDWHILE; } "do" { return T_DO; } "for" { return T_FOR; } "endfor" { return T_ENDFOR; } "foreach" { return T_FOREACH; } "endforeach" { return T_ENDFOREACH; } "declare" { return T_DECLARE; } "enddeclare" { return T_ENDDECLARE; } "instanceof" { return T_INSTANCEOF; } "as" { return T_AS; } "switch" { return T_SWITCH; } "endswitch" { return T_ENDSWITCH; } "case" { return T_CASE; } "default" { return T_DEFAULT; } "break" { return T_BREAK; } "continue" { return T_CONTINUE; } "goto" { return T_GOTO; } "echo" { return T_ECHO; } "print" { return T_PRINT; } "class" { return T_CLASS; } "interface" { return T_INTERFACE; } "trait" { return T_TRAIT; } "extends" { return T_EXTENDS; } "implements" { return T_IMPLEMENTS; } "->" { yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC); return T_OBJECT_OPERATOR; } {WHITESPACE}+ { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; HANDLE_NEWLINES(yytext, yyleng); return T_WHITESPACE; } "->" { return T_OBJECT_OPERATOR; } {LABEL} { yy_pop_state(TSRMLS_C); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; return T_STRING; } {ANY_CHAR} { yyless(0); yy_pop_state(TSRMLS_C); goto restart; } "::" { return T_PAAMAYIM_NEKUDOTAYIM; } "\\" { return T_NS_SEPARATOR; } "new" { return T_NEW; } "clone" { return T_CLONE; } "var" { return T_VAR; } "("{TABS_AND_SPACES}("int"|"integer"){TABS_AND_SPACES}")" { return T_INT_CAST; } "("{TABS_AND_SPACES}("real"|"double"|"float"){TABS_AND_SPACES}")" { return T_DOUBLE_CAST; } "("{TABS_AND_SPACES}("string"|"binary"){TABS_AND_SPACES}")" { return T_STRING_CAST; } "("{TABS_AND_SPACES}"array"{TABS_AND_SPACES}")" { return T_ARRAY_CAST; } "("{TABS_AND_SPACES}"object"{TABS_AND_SPACES}")" { return T_OBJECT_CAST; } "("{TABS_AND_SPACES}("bool"|"boolean"){TABS_AND_SPACES}")" { return T_BOOL_CAST; } "("{TABS_AND_SPACES}("unset"){TABS_AND_SPACES}")" { return T_UNSET_CAST; } "eval" { return T_EVAL; } "include" { return T_INCLUDE; } "include_once" { return T_INCLUDE_ONCE; } "require" { return T_REQUIRE; } "require_once" { return T_REQUIRE_ONCE; } "namespace" { return T_NAMESPACE; } "use" { return T_USE; } "insteadof" { return T_INSTEADOF; } "global" { return T_GLOBAL; } "isset" { return T_ISSET; } "empty" { return T_EMPTY; } "__halt_compiler" { return T_HALT_COMPILER; } "static" { return T_STATIC; } "abstract" { return T_ABSTRACT; } "final" { return T_FINAL; } "private" { return T_PRIVATE; } "protected" { return T_PROTECTED; } "public" { return T_PUBLIC; } "unset" { return T_UNSET; } "=>" { return T_DOUBLE_ARROW; } "list" { return T_LIST; } "array" { return T_ARRAY; } "callable" { return T_CALLABLE; } "++" { return T_INC; } "--" { return T_DEC; } "===" { return T_IS_IDENTICAL; } "!==" { return T_IS_NOT_IDENTICAL; } "==" { return T_IS_EQUAL; } "!="|"<>" { return T_IS_NOT_EQUAL; } "<=" { return T_IS_SMALLER_OR_EQUAL; } ">=" { return T_IS_GREATER_OR_EQUAL; } "+=" { return T_PLUS_EQUAL; } "-=" { return T_MINUS_EQUAL; } "*=" { return T_MUL_EQUAL; } "/=" { return T_DIV_EQUAL; } ".=" { return T_CONCAT_EQUAL; } "%=" { return T_MOD_EQUAL; } "<<=" { return T_SL_EQUAL; } ">>=" { return T_SR_EQUAL; } "&=" { return T_AND_EQUAL; } "|=" { return T_OR_EQUAL; } "^=" { return T_XOR_EQUAL; } "||" { return T_BOOLEAN_OR; } "&&" { return T_BOOLEAN_AND; } "OR" { return T_LOGICAL_OR; } "AND" { return T_LOGICAL_AND; } "XOR" { return T_LOGICAL_XOR; } "<<" { return T_SL; } ">>" { return T_SR; } {TOKENS} { return yytext[0]; } "{" { yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return '{'; } "${" { yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC); return T_DOLLAR_OPEN_CURLY_BRACES; } "}" { RESET_DOC_COMMENT(); if (!zend_stack_is_empty(&SCNG(state_stack))) { yy_pop_state(TSRMLS_C); } return '}'; } {LABEL}[[}] { yyless(yyleng - 1); zend_copy_value(zendlval, yytext, yyleng); zendlval->type = IS_STRING; yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); return T_STRING_VARNAME; } {ANY_CHAR} { yyless(0); yy_pop_state(TSRMLS_C); yy_push_state(ST_IN_SCRIPTING TSRMLS_CC); goto restart; } {BNUM} { char *bin = yytext + 2; /* Skip "0b" */ int len = yyleng - 2; /* Skip any leading 0s */ while (*bin == '0') { ++bin; --len; } if (len < SIZEOF_LONG * 8) { if (len == 0) { zendlval->value.lval = 0; } else { zendlval->value.lval = strtol(bin, NULL, 2); } zendlval->type = IS_LONG; return T_LNUMBER; } else { zendlval->value.dval = zend_bin_strtod(bin, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } } {LNUM} { if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */ zendlval->value.lval = strtol(yytext, NULL, 0); } else { errno = 0; zendlval->value.lval = strtol(yytext, NULL, 0); if (errno == ERANGE) { /* Overflow */ if (yytext[0] == '0') { /* octal overflow */ zendlval->value.dval = zend_oct_strtod(yytext, NULL); } else { zendlval->value.dval = zend_strtod(yytext, NULL); } zendlval->type = IS_DOUBLE; return T_DNUMBER; } } zendlval->type = IS_LONG; return T_LNUMBER; } {HNUM} { char *hex = yytext + 2; /* Skip "0x" */ int len = yyleng - 2; /* Skip any leading 0s */ while (*hex == '0') { hex++; len--; } if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) { if (len == 0) { zendlval->value.lval = 0; } else { zendlval->value.lval = strtol(hex, NULL, 16); } zendlval->type = IS_LONG; return T_LNUMBER; } else { zendlval->value.dval = zend_hex_strtod(hex, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } } [0]|([1-9][0-9]*) { /* Offset could be treated as a long */ if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) { zendlval->value.lval = strtol(yytext, NULL, 10); zendlval->type = IS_LONG; } else { zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; } return T_NUM_STRING; } {LNUM}|{HNUM}|{BNUM} { /* Offset must be treated as a string */ zendlval->value.str.val = (char *)estrndup(yytext, yyleng); zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; return T_NUM_STRING; } {DNUM}|{EXPONENT_DNUM} { zendlval->value.dval = zend_strtod(yytext, NULL); zendlval->type = IS_DOUBLE; return T_DNUMBER; } "__CLASS__" { const char *class_name = NULL; if (CG(active_class_entry) && (ZEND_ACC_TRAIT == (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) { /* We create a special __CLASS__ constant that is going to be resolved at run-time */ zendlval->value.str.len = sizeof("__CLASS__")-1; zendlval->value.str.val = estrndup("__CLASS__", zendlval->value.str.len); zendlval->type = IS_CONSTANT; } else { if (CG(active_class_entry)) { class_name = CG(active_class_entry)->name; } if (!class_name) { class_name = ""; } zendlval->value.str.len = strlen(class_name); zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len); zendlval->type = IS_STRING; } return T_CLASS_C; } "__TRAIT__" { const char *trait_name = NULL; if (CG(active_class_entry) && (ZEND_ACC_TRAIT == (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) { trait_name = CG(active_class_entry)->name; } if (!trait_name) { trait_name = ""; } zendlval->value.str.len = strlen(trait_name); zendlval->value.str.val = estrndup(trait_name, zendlval->value.str.len); zendlval->type = IS_STRING; return T_TRAIT_C; } "__FUNCTION__" { const char *func_name = NULL; if (CG(active_op_array)) { func_name = CG(active_op_array)->function_name; } if (!func_name) { func_name = ""; } zendlval->value.str.len = strlen(func_name); zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len); zendlval->type = IS_STRING; return T_FUNC_C; } "__METHOD__" { const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL; const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL; size_t len = 0; if (class_name) { len += strlen(class_name) + 2; } if (func_name) { len += strlen(func_name); } zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s", class_name ? class_name : "", class_name && func_name ? "::" : "", func_name ? func_name : "" ); zendlval->type = IS_STRING; return T_METHOD_C; } "__LINE__" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG; return T_LINE; } "__FILE__" { char *filename = zend_get_compiled_filename(TSRMLS_C); if (!filename) { filename = ""; } zendlval->value.str.len = strlen(filename); zendlval->value.str.val = estrndup(filename, zendlval->value.str.len); zendlval->type = IS_STRING; return T_FILE; } "__DIR__" { char *filename = zend_get_compiled_filename(TSRMLS_C); const size_t filename_len = strlen(filename); char *dirname; if (!filename) { filename = ""; } dirname = estrndup(filename, filename_len); zend_dirname(dirname, filename_len); if (strcmp(dirname, ".") == 0) { dirname = erealloc(dirname, MAXPATHLEN); #if HAVE_GETCWD VCWD_GETCWD(dirname, MAXPATHLEN); #elif HAVE_GETWD VCWD_GETWD(dirname); #endif } zendlval->value.str.len = strlen(dirname); zendlval->value.str.val = dirname; zendlval->type = IS_STRING; return T_DIR; } "__NAMESPACE__" { if (CG(current_namespace)) { *zendlval = *CG(current_namespace); zval_copy_ctor(zendlval); } else { ZVAL_EMPTY_STRING(zendlval); } return T_NS_C; } "" { YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1)); if (bracket != SCNG(yy_text)) { /* Handle previously scanned HTML, as possible